Last modification on 2017-08-04
Stagit-gopher is a static page generator for gopher. It creates the pages as static geomyidae .gph files. Stagit-gopher is a modified version from the HTML version of stagit.
I also run a gopherhole and stagit-gopher, you can see how it looks here: gopher://git.codemadness.org/.
sacc is a good gopher client to view it: https://git.fifth.space/sacc/log.html.
- Log of all commits from HEAD.
- Log and diffstat per commit.
- Show file tree with line numbers.
- Show references: local branches and tags.
- Detect README and LICENSE file from HEAD and link it as a webpage.
- Detect submodules (.gitmodules file) from HEAD and link it as a webpage.
- Atom feed log (atom.xml).
- Make index page for multiple repositories with stagit-gopher-index.
- After generating the pages (relatively slow) serving the files is very fast, simple and requires little resources (because the content is static), a geomyidae gopher server is required.
- Security: all pages are static. No CGI or dynamic code is run for the interface. Using it with a secure gopher server such as geomyidae it is privilege-dropped and chroot(2)'d.
- Simple to setup: the content generation is clearly separated from serving it. This makes configuration as simple as copying a few directories and scripts.
- Usable with gopher clients such as lynx and sacc.
- Not suitable for large repositories (2000+ commits), because diffstats are an expensive operation.
- Not suitable for repositories with many branches, a quite linear history is assumed (from HEAD).
- Relatively slow to run the first time (about 3 seconds for sbase, 1500+ commits), incremental updates are faster.
- Does not support some of the dynamic features cgit has, like:
- snapshot tarballs.
- file tree per commit.
- history log of branches diverged from HEAD.
- stats (git shortlog -s).
This is by design, just use git locally or write some scripts.
git clone git://git.codemadness.org/stagit-gopher