No description
Find a file
2024-06-30 13:02:22 +02:00
templates Adds diffstat to commit template and limit flag to the repo command 2024-06-30 13:02:22 +02:00
.gitignore Rename to gitssg 2024-06-29 20:48:15 +02:00
cmd.go Adds diffstat to commit template and limit flag to the repo command 2024-06-30 13:02:22 +02:00
gitssg.go Adds diffstat to commit template and limit flag to the repo command 2024-06-30 13:02:22 +02:00
go.mod Adds a proper CLI interface 2024-06-29 22:19:25 +02:00
go.sum Adds a proper CLI interface 2024-06-29 22:19:25 +02:00
Makefile Adds a proper CLI interface 2024-06-29 22:19:25 +02:00
README.md Adds diffstat to commit template and limit flag to the repo command 2024-06-30 13:02:22 +02:00
style.css Rename to gitssg 2024-06-29 20:48:15 +02:00

GitSSG

Simple CLI tool to generate webpages from git repositories.

Project heavily inspired by the amazing stagit.

Roadmap

  • Embed templates mechanism.
  • Embed style.css
  • Correctly manage relative links.
  • Add a base url to avoid relative links if provided.
  • Generate the index html file for the index subcommand.
  • Generate the log html file for a repository.
  • Detect and link README, LICENSE and CONTRIBUTING files.
  • Generate the files html file and file structure.
  • Generate the refs html file.
  • 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.
  • 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.