You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Omar Polo b266bf6f6d sort the tags for the refs page 1 week ago
.gitignore add Taskfile 1 week ago
LICENSE add readme and license 10 months ago add Taskfile 1 week ago
Taskfile.yml add Taskfile 1 week ago
commits.go sort the tags for the refs page 1 week ago
files.go update deps 1 week ago
go.mod update deps 1 week ago
go.sum update deps 1 week ago
main.go allow limiting the maximum number of commits to export 1 week ago


Static git gemini viewer written in golang. Inspired by stagit.

This repository is available at sourcehut and gemini.


Unfortunately because of replace directive in go.mod you cannot simply get binary by running go get but you can install it by running

git clone
cd gmnigit
task build # or: `go build -o gmnigit`

place gmnigit binary somewhere in your $PATH.


Usage of gmnigit:
  -dist string
        destination path (if exists will be overwritten)
  -max-commits int
        Max number of commit to export, -1 to export all (default -1)
  -name string
        project name, mandatory if generating the tags page
        show files permissions in browsable tree
        generate the tags page
  -repo string
        path to repository
  -url string
        clone URL for end user (optional)


gmnigit -repo path/do/repo -dist dist/path


You can automate building pages on push with git post-receive hook


while read -r _ _ ref; do
	[ "$ref" != "refs/heads/master" ] && continue

	gmnigit --repo . --dist /dest/dir


  • use git2go instead of go-git
  • handle submodules
  • read description and url files from git bare repositories