README.md 1.5 KB

git-site-gen

  • Tool used to generate a static website from information availble in a git project dir. See: https://spwbk.site/git.

    • Also provides some tools for managing your git server.
  • Inspired by the much better/full-featured https://git.suckless.org.

  • Not sure if this will be widely useful, mostly written for learning purposes.

Features

  • Generate top level index with links to all projects - POC DONE
  • Generate project specific index with links to git log/diffs and file content of repo - POC DONE
  • Diff highlighting for log
  • Line numbers for file browsing
  • README.md markdown renderer/parser / display in project index
  • Figure out way to expose clone/merge/etc interface
  • (Stretch GoaL) HTML based syntax highlighting for files

Framework Plans

  • gsg -- Perl script to generate the site, uses modules below
  • Gsg::Gather.pm -- module to assemble data structures from git trees that need to be obtained as part of generating the site
  • Gsg::Html.pm -- probably a bad name, used for writing HTML files and/or editing text in other data structures with html content
  • Gsg::MdParse.pm -- module for parsing markdown. Likely a fools errand to be writing this myself but I'd like to try
  • Gsg::ConfigParse.pm -- module to parse gsg config, might be overkill to have it's own module
    • gsg.config -- Config file that gsg reads to inform behavior (git repos dir, what to include/exclude, etc)

Deps