-
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
-
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
-
137
-
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
repo:
# Directory containing git repositories to serve.
scanPath: /var/www/git
# Which filename will be treated as README file?
# If a repository contains a file with exact matching filename to one from
# this list, legit displays that file contents in repository top page.
# When multiple files match (e.g. a repository having both `readme` and
# `README.md`), the earlier one in the list will be shown.
readme:
- readme
# Filenames are case-sensitive.
- README
# You have to provide file extensions.
- readme.md
- README.md
# What branch will be considered default branch?
# legit use default branch as a default ref for navigations.
mainBranch:
- master
- main
# How to generate commit diffs? Valid values are "system" and "go" (default).
#
# "system" uses system git to generate diff. It's faster and its output is
# familiar.
#
# "go" uses pure-Go diff implementation. Slower, but absolutely stable output
# as it does not use system git installation. Its output has unfamiliar hunk
# (chunk header's context line.) Unfortunately, its performance is significantly
# worse than system git. For large diffs such as auto-generated files, it can
# take 10x~ times compared to system git.
#
# Default value is "go" for backwards compatibility.
diff: go
# Allows reading bare repository without ".git" suffix.
#
# A bare repository normally have ".git" suffix in its filename.
# Without this option, a visitor always has to add ".git" suffix
# (for example "foo.git" rather than "foo") and is not able to use tools
# incompatible with ".git" suffix, such as "go mod".
#
# When this option is enabled, legit searches directory with ".git"
# suffix after corresponding is not found. For example, when repositories
# directory has "foo.git" then access to "/foo/refs":
# - open "foo"
# - the directory does not exist
# - open "foo.git"
# - use that as a repository
#
# This option is disabled by default for compatibility reasons.
trimDotGitSuffix: true
# Runtime directories.
dirs:
# [optional]
# Path to a directory containing custom HTML templates.
# Templates are written in Go's html/template syntax.
# <https://pkg.go.dev/html/template>
#
# If you omit this, legit will use its default templates directory
# ("templates" directory next to this file) embedded in the binary.
templates: ./embed/templates
# [optional]
# Path to a directory containing custom static assets.
# If you omit this, legit will use its default static asset directory
# ("static" directory next to this file) embedded in the binary.
#
# Visitors can access files in this directory by accessing "/static/*".
static: ./embed/static
meta:
# Website's name.
# Default: "Repositories"
title: legit
# Website's description.
description: "web frontend for git repositories, written in Go"
# Whether highlight repository's text file.
# NOTE: This applies only to blob page. Code blocks inside README will be untouched.
syntaxHighlight: true
ui:
# Number of commits to display in a single "Commits" (log) page.
commitsPageSize: 30
diff:
# When a total line count of added and deleted lines exceeds this value,
# default UI hides diff view for the file and displays an interactive
# element to reveal the diff lazily.
#
# Displaying large diffs slows browser's rendering process down significantly.
# This option prevents surprising slow loading: user may not know the commit
# contains large diffs prior to visit.
#
# The does not affect server load for large diffs. For server-side diff
# generation performance, see "repo.diff" config option.
#
# Setting 0 disables the hiding mechanism. Default value is 0.
hideThresholdLines: 1000
# You can set repository's category by creating `category` file in $GIT_DIR or
# setting `gitweb.category` git config.
# https://git-scm.com/docs/gitweb#Documentation/gitweb.txt-categoryorgitwebcategory
category:
# Group repositories by category in top page. Default is `false`.
grouping: true
# Fallback name for repositories without category configured. If this value is empty,
# uncategorized repositories will be listed at the top of repositories list, regardless
# of the `order` option. Default value is empty string.
default: "No Category"
# By default, categories are sorted in alphabetical ascending order. You can
# configure fixed ordering using this option. Categories not included in this
# option will be put after this list in an alphabetical ascending order.
order:
- "Mirror"
- "Demo"
- "No Category"
# Footer won't appear if `links` is empty and `poweredBy` is `false`.
footer:
# Links to display in the footer.
links:
- text: Contact
# legit simply use this value as `<a>` tag's `href` attribute value.
href: mailto:johndoe@example.com
- text: Author Profile
href: https://example.com
# Display "Powered by ..." text.
poweredBy: true
# Read and compile HTML templates on every request.
#
# By default, legit compiles HTML templates on server startup for performance
# reasons. This is great for most usecases but if you're customizing HTML
# templates, this can be tedious.
# 1) edit HTML template file
# 2) restart legit server
# 3) reload browser page
# You can skip step 2 by setting this option to `true`.
#
# Remember to turning off after customizing HTML templates. HTML templates
# compilation slows your pages response time.
compileTemplatesOnRequest: false
server:
# [optional]
# legit uses this strings for clone URL.
# `https://<name>/<directory>`
# In addition to hostname, you can include paths as well.
# This will NOT affect how web server behaves.
name: github.com/pocka
# A host/hostname to bind web server to.
# Default: "localhost"
host: 0.0.0.0
# TCP port legit's web server listens to.
# Default: 5555
port: 5555