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
README.md 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

README.md

gmnigit

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

This repository is available at sourcehut and gemini.

Installation

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 https://git.sr.ht/~kornellapacz/gmnigit
cd gmnigit
task build # or: `go build -o gmnigit`

place gmnigit binary somewhere in your $PATH.

Usage

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
  -perms
        show files permissions in browsable tree
  -refs
        generate the tags page
  -repo string
        path to repository
  -url string
        clone URL for end user (optional)

Example

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

Tips

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

#!/bin/sh

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

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

TODO

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