# GitSSG Simple CLI tool to generate webpages from git repositories. Project heavily inspired by the amazing [stagit](https://codemadness.org/stagit.html). ## Roadmap - [X] Embed templates mechanism. - [ ] Embed style.css - [X] Correctly manage relative links. - [ ] Add a base url to avoid relative links if provided. - [X] Generate the index html file for the `index` subcommand. - [X] Generate the log html file for a repository. - [ ] Detect and link README, LICENSE and CONTRIBUTING files. - [X] Generate the files html file and file structure. - [ ] Generate the refs html file. - [X] Add a proper CLI parsing and subcommands. - [ ] Add a sample CSS file for the default templates. - [ ] Add a subcommand to dump the embedded templates so they can be modified. - [ ] Take binary files into account. - [ ] Limit the output for large diffs. Add a "X commits remaining" message if necessary. - [ ] Generate files in temporal directory and replace the final one when everything is ready. - [X] Allow to anchor lines. - [ ] Check if the templates exist on a location and use them if so. Allow to change that location through CLI flags or env vars. - [ ] Optimize tree generation, it is currently very time consuming. - [ ] Optimize repository generation through a cache. - [ ] Add a flag to regenerate in case a `push -f` comes in. - [ ] Optimize output generation through the use of smaller templates instead of having all the structs in memory when executing one template (for large repos). - [ ] Add an atom feed for the repositories. - [ ] Add a flag for raw file generation for HEAD. - [ ] Add a flag for syntax highlighting through Chroma. - [ ] Add a flag for markdown to HTML. - [ ] Investigate the viability of generating tarballs for certain refs.