1 | # site name used in various places across the instance |
2 | site_name = "🌄 Ayllu" |
3 | |
4 | # A valid URI that identifies this server on the global internet |
5 | origin = "localhost:10000" |
6 | |
7 | # sysadmin contact address |
8 | sysadmin = "admin@example.org" |
9 | |
10 | # number of background threads to drive asynchronous tasks forward with in the |
11 | # web server and any other component that is multithreaded. Note that all |
12 | # plugin components are currently single threaded. If unspecified this will |
13 | # default to the number of CPU cores on your system. |
14 | # worker_threads = 8 |
15 | # number of additional blocking threads that may be spawned by the tokio |
16 | # runtime. See https://docs.rs/tokio/latest/tokio/runtime/struct.Builder.html#method.max_blocking_threads |
17 | # max_blocking_threads = 512 |
18 | |
19 | # logging level |
20 | log_level = "info" |
21 | |
22 | # enable when ayllu is being served from a "subpath". Clicking the home |
23 | # button will send the user back to /browse instead of /. This is useful if you |
24 | # have a landing page at the root of your webserver path. |
25 | subpath_mode = false |
26 | |
27 | # friendly message to display on the about page of the main site which might |
28 | # include details such as contact information, etc. markdown is supported. |
29 | blurb = """ |
30 | # Welcome to Ayllu! |
31 | """ |
32 | |
33 | # The default branch name to use when rendering repositories. If unspecified |
34 | # the ref that HEAD is currently pointed at will be used. |
35 | # default_branch = "main" |
36 | |
37 | # The number of threads to spawn by Tokio, typically this will be the number |
38 | # of logical processors (cores) you have on your system |
39 | # worker_threads = 8 |
40 | |
41 | # The number of additional threads that can be launched to support synchronous |
42 | # blocking operations. |
43 | # max_blocking_threads = 512 |
44 | |
45 | # The number of suggested seconds to wait before polling the server again |
46 | # across RSS feeds. The default of 1 hour is a reasonable default in most |
47 | # cases. |
48 | rss_time_to_live = 3600 |
49 | |
50 | # Git HTTP server options |
51 | |
52 | [git] |
53 | # Global option to enable the Git "Smart HTTP" server which will serve |
54 | # non-hidden repositories for cloning over HTTP. The default is true but if |
55 | # set to false it will globally disable all cloning which you might want to do |
56 | # if you want to run your own fcgi server e.g. |
57 | smart_http = true |
58 | # URL to suggest for cloning via SSH, if unspecified git cloning option will |
59 | # not appear in the repository page. |
60 | clone_url = "git@localhost" |
61 | |
62 | # this toggles the GIT_HTTP_EXPORT_ALL option for git-http-backend which will |
63 | # allow cloning of all repositories unless they are marked as private. If this |
64 | # option is not toggled then the file git-daemon-export-ok exist in the repository |
65 | # for cloing to be permitted. |
66 | export_all = false |
67 | |
68 | # Job server configuration |
69 | |
70 | [jobs] |
71 | |
72 | # socket for the job server to listen to new requests on. This is typically |
73 | # used to communicate via git hooks to perform new computation on a repository |
74 | # after it has been updated. |
75 | # jobs_socket_path = "/var/run/user/1000/ayllu-jobs.sock" |
76 | |
77 | # Maximum time to allow a job to run before killing it in seconds. |
78 | # This value needs to be high for large repositories since we have to run a |
79 | # job for every commit in the repository. |
80 | timeout = 1800 |
81 | |
82 | # List of authors associated with this site |
83 | [[authors]] |
84 | # E-mail address of the author |
85 | email = "example@example.org" |
86 | # Optional "tagline" associated with the author |
87 | tagline = "Programmer interested free software" |
88 | # Optional link to an avatar containing an image representing the author |
89 | avatar = { url = "https://example.org/avatar.png", mime_type = "image/png" } |
90 | # Array of personal websites, social media, etc. associated with the author |
91 | profiles = [ |
92 | { url = "https://example.com", mime_type = "text/html"}, |
93 | { url = "https://example.org/@example", mime_type = "text/html"}, |
94 | ] |
95 | |
96 | [http] |
97 | # interface and port to listen on |
98 | address = "127.0.0.1:8080" |
99 | |
100 | [web] |
101 | # default theme that will be used when none is specified in user configuration. |
102 | # additionally the default theme will be used to load assets that are not |
103 | # overriden in the actively selected theme. |
104 | # default_theme = "default" |
105 | # [[web.themes]] |
106 | # unique name to identify the theme in the web UI |
107 | # name = "my-theme" |
108 | # path to the directory containing the theme assets |
109 | # path = "/usr/lib/ayllu/themes/my-theme" |
110 | |
111 | # static hosting |
112 | # see an example Nginx configuration in contrib/nginx/nginx.conf |
113 | [sites] |
114 | # set false if you want to disallow all static hosting |
115 | enabled = false |
116 | |
117 | # tree-sitter backed syntax highlighting |
118 | [tree-sitter] |
119 | # path to load shared objects from |
120 | # base_path = "/usr/lib" |
121 | # alternative path to queries |
122 | # queries_path = "/usr/share/tree-sitter/queries" |
123 | # additional queries |
124 | # queries_extras_path = "/etc/ayllu/queries" |
125 | |
126 | # tree-sitter highlighting keywords, these are attributes that will be |
127 | # exposed as CSS classes which can be used to create themes. |
128 | keywords = [ |
129 | "attribute", |
130 | "comment", |
131 | "constant", |
132 | "function.builtin", |
133 | "function", |
134 | "keyword", |
135 | "operator", |
136 | "property", |
137 | "punctuation", |
138 | "punctuation.bracket", |
139 | "punctuation.delimiter", |
140 | "string", |
141 | "string.special", |
142 | "tag", |
143 | "type", |
144 | "type.builtin", |
145 | "variable", |
146 | "variable.builtin", |
147 | "variable.parameter", |
148 | ] |
149 | |
150 | # override system highlights with your own configuration as needed |
151 | [tree-sitter.highlights] |
152 | |
153 | # this results in two new CSS classes ts_addition and ts_removal which can |
154 | # be configured in theme stylesheets. |
155 | diff = """ |
156 | ; used to highlight diffs in the UI |
157 | [(addition) (new_file)] @addition |
158 | [(deletion) (old_file)] @removal |
159 | |
160 | (commit) @constant |
161 | (location) @attribute |
162 | (command) @variable.builtin |
163 | """ |
164 | |
165 | |
166 | # [[tree-sitter.parsers]] |
167 | # additional parsers |
168 | # name = "fuu-lang" |
169 | # shared_object = "/etc/ayllu/parsers/libtree-sitter-fuu.so" |
170 | # see https://tree-sitter.github.io/tree-sitter/syntax-highlighting#highlights |
171 | # highlight_query = "/etc/ayllu/queries/fuu/highlights.scm" |
172 | # see https://tree-sitter.github.io/tree-sitter/syntax-highlighting#local-variables |
173 | # locals_query = "/etc/ayllu/queries/fuu/locals.scm" |
174 | # see https://tree-sitter.github.io/tree-sitter/syntax-highlighting#language-injection |
175 | # injections = "/etc/ayllu/queries/fuu/injections.scm" |
176 | |
177 | # any additional programming languages and their associated file extensions |
178 | # [[ languages ]] |
179 | # name = "BazQux" |
180 | # extensions = [".baz", ".qux", ".bq"] |
181 | # # deep pink |
182 | # color = "#ff1493" |
183 | |
184 | # language configuration |
185 | [languages] |
186 | |
187 | # Sometimes a file will be detected as one language but you want it to map to |
188 | # another one. For instance a file named main.ml will default to Standard ML |
189 | # however you might prefer OCaml instead. Mappings allow you to override |
190 | # specific languages with your own preferences. |
191 | [languages.mappings] |
192 | "Standard ML" = "OCaml" |
193 | # "Shell" is a blanket term for sh like languages but we want to map it |
194 | # specifically to bash because that's the tree-sitter parser we have installed. |
195 | "Shell" = "Bash" |
196 | |
197 | # any additional programming languages and their associated file extensions |
198 | [[languages.extras]] |
199 | name = "BazQux" |
200 | extensions = [".baz", ".qux"] |
201 | color = "#FF1493" |
202 | |
203 | # othertimes you want to override just the extension for a particular language, |
204 | # .rs extensions map to both Rust and RenderScript. |
205 | [[languages.extras]] |
206 | name = "Rust" |
207 | extensions = [".rs"] |
208 | |
209 | |
210 | # Large File Store configuration |
211 | # [lfs] |
212 | # template URL to construct an API request which will be used to lookup the |
213 | # reference object of the file. Other LFS server implementations may work but |
214 | # this has only been tested with https://github.com/jasonwhite/rudolfs |
215 | # url_template = "/lfs/{collection}/{name}/object/{oid}" |
216 | |
217 | # path to directories of repositories, each collection will be seperated into |
218 | # a unique section on the index page. recursive directories are not supported, |
219 | # you may only have a single level of repositories at this time. |
220 | # [[collections]] |
221 | # # name of the code collection |
222 | # name = "projects" |
223 | # description = "software projects actively being worked on" |
224 | # path = "/path/to/projects" |
225 | # # If true the collection will not show up in the main index or RSS feeds |
226 | # hidden = false |
227 | |
228 | # [[collections]] |
229 | # name = "attic" |
230 | # description = "archived code" |
231 | # path = "/path/to/attic" |