aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 2d05d4d08daec61c2851c998f8309a33b0342407 (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
# legitrx

This is [Runxi Yu](https://runxiyu.org)'s fork of
[icyphox](https://icyphox.sh/)'s
[legit](https://git.icyphox.sh/legit/) project

The README hasn't really been updated yet and not much has happened in
the fork yet. Just use upstream for now.

A git web frontend written in Go.

## FEATURES

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

## INSTALLING

Clone it, `go build` it.

## CONFIG

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

```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. legitrx doesn't
  traverse subdirs yet.
- dirs: use this to override the default templates and static assets.
- 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 legitrx 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 legitrx.
- 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.

## IDEAS

- Support for filters for markdown rendering and code highlighting. 

## LICENSE

legitrx is licensed under MIT.