blob: a37b983b5e75ee85411adb06faf712238d4e5d9c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
legit
-----
A git web frontend written in Go.
Pronounced however you like; I prefer channeling my beret-wearing
Frenchman, and say "Oui, il est le git!"
But yeah it's pretty legit, no cap on god fr fr.
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
dirs:
templates: ./templates
static: ./static
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. Markdown isn't rendered.
• repo.mainBranch: main branch names to look for.
• repo.ignore: repos to ignore.
• 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.
• Support or cgit-like filters (for readmes etc.) is planned.
• Pushing over https, while supported, is disabled because auth is a
pain. Use ssh.
• "Private" repos only available over Tailscale is planned.
LICENSE
legit is licensed under MIT.
|