Skip to content

mstcl/legit

 
 

Repository files navigation

legit

A git web frontend written in Go.

Pronounced however you like; I prefer channeling my inner beret-wearing Frenchman, and saying "Oui, il est le git!"

But yeah it's pretty legit, no cap on god fr fr.

Changes to original

  • Add syntax-highlighting to README's and source code.
  • Embedded templates to ship as single binary.
  • Template cleanup.
  • My opiniated design.

Features

  • Fully customizable templates and stylesheets.
  • Cloning over http(s).
  • Less archaic HTML.
  • Not CGI.

Installing

Clone it, go build it.

Config

Uses yaml for configuration. Looks for a config.yaml in the current directory by default; pass the --config flag to point it elsewhere.

Example config.yaml:

repo:
  scanPath: /var/www/git
  readme:
    - readme
    - README
    - readme.md
    - README.md
  mainBranch:
    - master
    - main
  ignore:
    - foo
    - bar
meta:
  title: git good
  description: i think it's a skill issue
server:
  name: git.icyphox.sh
  host: 127.0.0.1
  port: 5555

These options are fairly self-explanatory, but of note are:

  • repo.scanPath: where all your git repos live (or die). legit doesn't traverse subdirs yet.
  • repo.readme: readme files to look for.
  • repo.mainBranch: main branch names to look for.
  • repo.ignore: repos to ignore, relative to scanPath.
  • server.name: used for go-import meta tags and clone URLs.

Notes

  • Run legit behind a TLS terminating proxy like relayd(8) or nginx.
  • Cloning only works in bare repos -- this is a limitation inherent to git. You can still view bare repos just fine in legit.
  • The default head.html template uses my CDN to fetch fonts -- you may or may not want this.
  • Pushing over https, while supported, is disabled because auth is a pain. Use ssh.
  • Paths are unveil(2)'d on OpenBSD.

License

legit is licensed under MIT.

About

web frontend for git

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 92.7%
  • Nix 5.3%
  • Dockerfile 1.5%
  • Makefile 0.5%