mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2024-12-13 22:00:27 +00:00
Help: Write the config file doc in English
This commit is contained in:
parent
fbfbeb33cb
commit
bc77619105
63
help/en/config_file.myco
Normal file
63
help/en/config_file.myco
Normal file
@ -0,0 +1,63 @@
|
||||
= Configuration file
|
||||
//This article is intended for wiki administrators.//
|
||||
|
||||
The main way to configure your Mycorrhiza instance is through the **configuration file**. It is located at the root of your wiki structure and is called `config.ini`.
|
||||
|
||||
The file is generated automatically when you create a new wiki:
|
||||
|
||||
```
|
||||
# Generate a new wiki
|
||||
$ mycorrhiza bestWiki
|
||||
...
|
||||
# See what's inside
|
||||
$ ls bestWiki
|
||||
cache config.ini static wiki.git
|
||||
```
|
||||
|
||||
The file is written in the [[https://en.wikipedia.org/wiki/INI_file | .ini format]].
|
||||
|
||||
== Example configuration
|
||||
The auto-generated file is the best example (it has comments too).
|
||||
|
||||
Here's another example:
|
||||
```ini
|
||||
WikiName = My wiki
|
||||
NaviTitleIcon = 🐑
|
||||
|
||||
[Hyphae]
|
||||
HomeHypha = home
|
||||
UserHypha = u
|
||||
HeaderLinksHypha = header-links
|
||||
|
||||
[Network]
|
||||
HTTPPort = 8080
|
||||
URL = https://wiki
|
||||
GeminiCertificatePath = /home/wiki/gemcerts
|
||||
|
||||
[Authorization]
|
||||
UseRegistration = true
|
||||
```
|
||||
|
||||
== Fields
|
||||
=== Root section
|
||||
* `WikiName`: //string//. The name your wiki has. It is shown in the header by default and in other places. **Default:** `Mycorrhiza Wiki`.
|
||||
* `NaviTitleIcon`: //string//. The icon shown before the colon in the navigational titles above each hypha. You may want to use an emoji or HTML here. **Default:** `🍄` (mushroom emoji).
|
||||
|
||||
=== [Hyphae]
|
||||
* `HomeHypha`: //string//. The name your home hypha has. **Default:** `home`.
|
||||
* `UserHypha`: //string//. The name of the hypha that is parent of all user hyphae. **Default:** `u`.
|
||||
* `HeaderLinkHypha`: //string//. The name of the hypha where you can configure the header. There is no default.
|
||||
|
||||
=== [Network]
|
||||
* `HTTPPort`: //number//. What port is used for serving the web interface of Mycorrhiza. **Default:** `1737`.
|
||||
* `URL`: //url//. What URL is used for Opengraph and Web feed in the web interface. There is no default and you really should set it to something.
|
||||
|
||||
=== [Authorization]
|
||||
* `UseRegistration`: //boolean//. Whether you want unregistered visitors to be able to register themselves using the web form. **Default:** `false`.
|
||||
* `LimitRegistration`: //number//. There cannot be more registered users than this number. If the number is zero, there is no limit. Makes sense only when `UseRegistration` is `true`. **Default:** `0`.
|
||||
|
||||
=== [CustomScripts]
|
||||
You can specify URLs of JavaScript files you want to load.
|
||||
* `CommonScripts`: //list of url//. Comma-separated list of unquoted URLs to JS files to load on //all// pages.
|
||||
* `ViewScripts`: //list of urls//. Comma-separated list of unquoted URLs to JS files to load on //view// pages: `/hypha`, `/rev`.
|
||||
* `EditScripts`: //list of urls//. Comma-separated list of unquoted URLs to JS files to load on the `/edit` page.
|
@ -95,6 +95,7 @@ var localizations = map[string]string{
|
||||
"en.edit.transclude": "Transclusion",
|
||||
"en.edit.underline": "Underline",
|
||||
"en.help.attachment": "Attachment",
|
||||
"en.help.config_file": "Configuration file",
|
||||
"en.help.configuration": "Configuration (for administrators)",
|
||||
"en.help.empty_error_line_1": "Try finding a different entry that would help you.",
|
||||
"en.help.empty_error_line_2a": "If you want to write this entry by yourself, consider",
|
||||
@ -329,6 +330,7 @@ var localizations = map[string]string{
|
||||
"ru.edit.transclude": "Трансклюзия",
|
||||
"ru.edit.underline": "Подчеркивание",
|
||||
"ru.help.attachment": "Вложение",
|
||||
"ru.help.config_file": "Файл конфигурации",
|
||||
"ru.help.configuration": "Конфигурация (для администраторов)",
|
||||
"ru.help.empty_error_line_1": "Попробуйте поискать другую страницу, способную вам помочь.",
|
||||
"ru.help.empty_error_line_2a": "Если вы хотите написать эту страницу сами, будем рады вашим правкам в ",
|
||||
|
@ -22,5 +22,6 @@
|
||||
"configuration": "Configuration (for administrators)",
|
||||
"lock": "Lock",
|
||||
"whitelist": "Whitelist",
|
||||
"telegram": "Telegram authorization"
|
||||
"telegram": "Telegram authorization",
|
||||
"config_file": "Configuration file"
|
||||
}
|
||||
|
@ -22,5 +22,6 @@
|
||||
"configuration": "Конфигурация (для администраторов)",
|
||||
"lock": "Блокировка",
|
||||
"whitelist": "Белый список",
|
||||
"telegram": "Авторизация через Телеграм"
|
||||
"telegram": "Авторизация через Телеграм",
|
||||
"config_file": "Файл конфигурации"
|
||||
}
|
||||
|
@ -181,6 +181,7 @@ It outputs a poorly formatted JSON, but it works and is valid.
|
||||
</li>
|
||||
<li>{%s lc.GetWithLocale(lang, "help.configuration") %}
|
||||
<ul>
|
||||
<li><a href="/help/{%s lang %}/config_file">{%s lc.GetWithLocale(lang, "help.config_file") %}</a></li>
|
||||
<li><a href="/help/{%s lang %}/lock">{%s lc.GetWithLocale(lang, "help.lock") %}</a></li>
|
||||
<li><a href="/help/{%s lang %}/whitelist">{%s lc.GetWithLocale(lang, "help.whitelist") %}</a></li>
|
||||
<li><a href="/help/{%s lang %}/telegram">{%s lc.GetWithLocale(lang, "help.telegram") %}</a></li>
|
||||
|
@ -729,28 +729,37 @@ func streamhelpTopicsHTML(qw422016 *qt422016.Writer, lang string, lc *l18n.Local
|
||||
//line views/stuff.qtpl:184
|
||||
qw422016.E().S(lang)
|
||||
//line views/stuff.qtpl:184
|
||||
qw422016.N().S(`/config_file">`)
|
||||
//line views/stuff.qtpl:184
|
||||
qw422016.E().S(lc.GetWithLocale(lang, "help.config_file"))
|
||||
//line views/stuff.qtpl:184
|
||||
qw422016.N().S(`</a></li>
|
||||
<li><a href="/help/`)
|
||||
//line views/stuff.qtpl:185
|
||||
qw422016.E().S(lang)
|
||||
//line views/stuff.qtpl:185
|
||||
qw422016.N().S(`/lock">`)
|
||||
//line views/stuff.qtpl:184
|
||||
//line views/stuff.qtpl:185
|
||||
qw422016.E().S(lc.GetWithLocale(lang, "help.lock"))
|
||||
//line views/stuff.qtpl:184
|
||||
//line views/stuff.qtpl:185
|
||||
qw422016.N().S(`</a></li>
|
||||
<li><a href="/help/`)
|
||||
//line views/stuff.qtpl:185
|
||||
//line views/stuff.qtpl:186
|
||||
qw422016.E().S(lang)
|
||||
//line views/stuff.qtpl:185
|
||||
//line views/stuff.qtpl:186
|
||||
qw422016.N().S(`/whitelist">`)
|
||||
//line views/stuff.qtpl:185
|
||||
//line views/stuff.qtpl:186
|
||||
qw422016.E().S(lc.GetWithLocale(lang, "help.whitelist"))
|
||||
//line views/stuff.qtpl:185
|
||||
//line views/stuff.qtpl:186
|
||||
qw422016.N().S(`</a></li>
|
||||
<li><a href="/help/`)
|
||||
//line views/stuff.qtpl:186
|
||||
//line views/stuff.qtpl:187
|
||||
qw422016.E().S(lang)
|
||||
//line views/stuff.qtpl:186
|
||||
//line views/stuff.qtpl:187
|
||||
qw422016.N().S(`/telegram">`)
|
||||
//line views/stuff.qtpl:186
|
||||
//line views/stuff.qtpl:187
|
||||
qw422016.E().S(lc.GetWithLocale(lang, "help.telegram"))
|
||||
//line views/stuff.qtpl:186
|
||||
//line views/stuff.qtpl:187
|
||||
qw422016.N().S(`</a></li>
|
||||
<li>...</li>
|
||||
</ul>
|
||||
@ -758,91 +767,91 @@ func streamhelpTopicsHTML(qw422016 *qt422016.Writer, lang string, lc *l18n.Local
|
||||
</ul>
|
||||
</aside>
|
||||
`)
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
func writehelpTopicsHTML(qq422016 qtio422016.Writer, lang string, lc *l18n.Localizer) {
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
streamhelpTopicsHTML(qw422016, lang, lc)
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
func helpTopicsHTML(lang string, lc *l18n.Localizer) string {
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
writehelpTopicsHTML(qb422016, lang, lc)
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:192
|
||||
//line views/stuff.qtpl:193
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:194
|
||||
//line views/stuff.qtpl:195
|
||||
func streamhelpTopicBadgeHTML(qw422016 *qt422016.Writer, lang, topic string) {
|
||||
//line views/stuff.qtpl:194
|
||||
//line views/stuff.qtpl:195
|
||||
qw422016.N().S(`
|
||||
<a class="help-topic-badge" href="/help/`)
|
||||
//line views/stuff.qtpl:195
|
||||
//line views/stuff.qtpl:196
|
||||
qw422016.E().S(lang)
|
||||
//line views/stuff.qtpl:195
|
||||
//line views/stuff.qtpl:196
|
||||
qw422016.N().S(`/`)
|
||||
//line views/stuff.qtpl:195
|
||||
//line views/stuff.qtpl:196
|
||||
qw422016.E().S(topic)
|
||||
//line views/stuff.qtpl:195
|
||||
//line views/stuff.qtpl:196
|
||||
qw422016.N().S(`">?</a>
|
||||
`)
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
func writehelpTopicBadgeHTML(qq422016 qtio422016.Writer, lang, topic string) {
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
streamhelpTopicBadgeHTML(qw422016, lang, topic)
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
func helpTopicBadgeHTML(lang, topic string) string {
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
writehelpTopicBadgeHTML(qb422016, lang, topic)
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:196
|
||||
//line views/stuff.qtpl:197
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:198
|
||||
//line views/stuff.qtpl:199
|
||||
func StreamUserListHTML(qw422016 *qt422016.Writer, lc *l18n.Localizer) {
|
||||
//line views/stuff.qtpl:198
|
||||
//line views/stuff.qtpl:199
|
||||
qw422016.N().S(`
|
||||
<div class="layout">
|
||||
<main class="main-width user-list">
|
||||
<h1>`)
|
||||
//line views/stuff.qtpl:201
|
||||
//line views/stuff.qtpl:202
|
||||
qw422016.E().S(lc.Get("ui.users_heading"))
|
||||
//line views/stuff.qtpl:201
|
||||
//line views/stuff.qtpl:202
|
||||
qw422016.N().S(`</h1>
|
||||
`)
|
||||
//line views/stuff.qtpl:203
|
||||
//line views/stuff.qtpl:204
|
||||
var (
|
||||
admins = make([]string, 0)
|
||||
moderators = make([]string, 0)
|
||||
@ -862,149 +871,149 @@ func StreamUserListHTML(qw422016 *qt422016.Writer, lc *l18n.Localizer) {
|
||||
sort.Strings(moderators)
|
||||
sort.Strings(editors)
|
||||
|
||||
//line views/stuff.qtpl:221
|
||||
//line views/stuff.qtpl:222
|
||||
qw422016.N().S(`
|
||||
<section>
|
||||
<h2>`)
|
||||
//line views/stuff.qtpl:223
|
||||
//line views/stuff.qtpl:224
|
||||
qw422016.E().S(lc.Get("ui.users_admins"))
|
||||
//line views/stuff.qtpl:223
|
||||
//line views/stuff.qtpl:224
|
||||
qw422016.N().S(`</h2>
|
||||
<ol>`)
|
||||
//line views/stuff.qtpl:224
|
||||
//line views/stuff.qtpl:225
|
||||
for _, name := range admins {
|
||||
//line views/stuff.qtpl:224
|
||||
//line views/stuff.qtpl:225
|
||||
qw422016.N().S(`
|
||||
<li><a href="/hypha/`)
|
||||
//line views/stuff.qtpl:225
|
||||
//line views/stuff.qtpl:226
|
||||
qw422016.E().S(cfg.UserHypha)
|
||||
//line views/stuff.qtpl:225
|
||||
//line views/stuff.qtpl:226
|
||||
qw422016.N().S(`/`)
|
||||
//line views/stuff.qtpl:225
|
||||
//line views/stuff.qtpl:226
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:225
|
||||
//line views/stuff.qtpl:226
|
||||
qw422016.N().S(`">`)
|
||||
//line views/stuff.qtpl:225
|
||||
//line views/stuff.qtpl:226
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:225
|
||||
//line views/stuff.qtpl:226
|
||||
qw422016.N().S(`</a></li>
|
||||
`)
|
||||
//line views/stuff.qtpl:226
|
||||
//line views/stuff.qtpl:227
|
||||
}
|
||||
//line views/stuff.qtpl:226
|
||||
//line views/stuff.qtpl:227
|
||||
qw422016.N().S(`</ol>
|
||||
</section>
|
||||
<section>
|
||||
<h2>`)
|
||||
//line views/stuff.qtpl:229
|
||||
//line views/stuff.qtpl:230
|
||||
qw422016.E().S(lc.Get("ui.users_moderators"))
|
||||
//line views/stuff.qtpl:229
|
||||
//line views/stuff.qtpl:230
|
||||
qw422016.N().S(`</h2>
|
||||
<ol>`)
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:231
|
||||
for _, name := range moderators {
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:231
|
||||
qw422016.N().S(`
|
||||
<li><a href="/hypha/`)
|
||||
//line views/stuff.qtpl:231
|
||||
//line views/stuff.qtpl:232
|
||||
qw422016.E().S(cfg.UserHypha)
|
||||
//line views/stuff.qtpl:231
|
||||
//line views/stuff.qtpl:232
|
||||
qw422016.N().S(`/`)
|
||||
//line views/stuff.qtpl:231
|
||||
//line views/stuff.qtpl:232
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:231
|
||||
//line views/stuff.qtpl:232
|
||||
qw422016.N().S(`">`)
|
||||
//line views/stuff.qtpl:231
|
||||
//line views/stuff.qtpl:232
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:231
|
||||
//line views/stuff.qtpl:232
|
||||
qw422016.N().S(`</a></li>
|
||||
`)
|
||||
//line views/stuff.qtpl:232
|
||||
//line views/stuff.qtpl:233
|
||||
}
|
||||
//line views/stuff.qtpl:232
|
||||
//line views/stuff.qtpl:233
|
||||
qw422016.N().S(`</ol>
|
||||
</section>
|
||||
<section>
|
||||
<h2>`)
|
||||
//line views/stuff.qtpl:235
|
||||
//line views/stuff.qtpl:236
|
||||
qw422016.E().S(lc.Get("ui.users_editors"))
|
||||
//line views/stuff.qtpl:235
|
||||
//line views/stuff.qtpl:236
|
||||
qw422016.N().S(`</h2>
|
||||
<ol>`)
|
||||
//line views/stuff.qtpl:236
|
||||
//line views/stuff.qtpl:237
|
||||
for _, name := range editors {
|
||||
//line views/stuff.qtpl:236
|
||||
//line views/stuff.qtpl:237
|
||||
qw422016.N().S(`
|
||||
<li><a href="/hypha/`)
|
||||
//line views/stuff.qtpl:237
|
||||
//line views/stuff.qtpl:238
|
||||
qw422016.E().S(cfg.UserHypha)
|
||||
//line views/stuff.qtpl:237
|
||||
//line views/stuff.qtpl:238
|
||||
qw422016.N().S(`/`)
|
||||
//line views/stuff.qtpl:237
|
||||
//line views/stuff.qtpl:238
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:237
|
||||
//line views/stuff.qtpl:238
|
||||
qw422016.N().S(`">`)
|
||||
//line views/stuff.qtpl:237
|
||||
//line views/stuff.qtpl:238
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:237
|
||||
//line views/stuff.qtpl:238
|
||||
qw422016.N().S(`</a></li>
|
||||
`)
|
||||
//line views/stuff.qtpl:238
|
||||
//line views/stuff.qtpl:239
|
||||
}
|
||||
//line views/stuff.qtpl:238
|
||||
//line views/stuff.qtpl:239
|
||||
qw422016.N().S(`</ol>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
`)
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
func WriteUserListHTML(qq422016 qtio422016.Writer, lc *l18n.Localizer) {
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
StreamUserListHTML(qw422016, lc)
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
func UserListHTML(lc *l18n.Localizer) string {
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
WriteUserListHTML(qb422016, lc)
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:243
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:244
|
||||
//line views/stuff.qtpl:245
|
||||
func StreamHyphaListHTML(qw422016 *qt422016.Writer, lc *l18n.Localizer) {
|
||||
//line views/stuff.qtpl:244
|
||||
//line views/stuff.qtpl:245
|
||||
qw422016.N().S(`
|
||||
<div class="layout">
|
||||
<main class="main-width">
|
||||
<h1>`)
|
||||
//line views/stuff.qtpl:247
|
||||
//line views/stuff.qtpl:248
|
||||
qw422016.E().S(lc.Get("ui.list_heading"))
|
||||
//line views/stuff.qtpl:247
|
||||
//line views/stuff.qtpl:248
|
||||
qw422016.N().S(`</h1>
|
||||
<p>`)
|
||||
//line views/stuff.qtpl:248
|
||||
//line views/stuff.qtpl:249
|
||||
qw422016.E().S(lc.GetPlural("ui.list_desc", hyphae.Count()))
|
||||
//line views/stuff.qtpl:248
|
||||
//line views/stuff.qtpl:249
|
||||
qw422016.N().S(`</p>
|
||||
<ul class="hypha-list">
|
||||
`)
|
||||
//line views/stuff.qtpl:251
|
||||
//line views/stuff.qtpl:252
|
||||
hyphaNames := make(chan string)
|
||||
sortedHypha := hyphae.PathographicSort(hyphaNames)
|
||||
for hypha := range hyphae.YieldExistingHyphae() {
|
||||
@ -1012,252 +1021,252 @@ func StreamHyphaListHTML(qw422016 *qt422016.Writer, lc *l18n.Localizer) {
|
||||
}
|
||||
close(hyphaNames)
|
||||
|
||||
//line views/stuff.qtpl:257
|
||||
//line views/stuff.qtpl:258
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/stuff.qtpl:258
|
||||
//line views/stuff.qtpl:259
|
||||
for hyphaName := range sortedHypha {
|
||||
//line views/stuff.qtpl:258
|
||||
//line views/stuff.qtpl:259
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/stuff.qtpl:259
|
||||
//line views/stuff.qtpl:260
|
||||
hypha := hyphae.ByName(hyphaName)
|
||||
|
||||
//line views/stuff.qtpl:259
|
||||
//line views/stuff.qtpl:260
|
||||
qw422016.N().S(`
|
||||
<li class="hypha-list__entry">
|
||||
<a class="hypha-list__link" href="/hypha/`)
|
||||
//line views/stuff.qtpl:261
|
||||
//line views/stuff.qtpl:262
|
||||
qw422016.E().S(hypha.Name)
|
||||
//line views/stuff.qtpl:261
|
||||
//line views/stuff.qtpl:262
|
||||
qw422016.N().S(`">`)
|
||||
//line views/stuff.qtpl:261
|
||||
//line views/stuff.qtpl:262
|
||||
qw422016.E().S(util.BeautifulName(hypha.Name))
|
||||
//line views/stuff.qtpl:261
|
||||
//line views/stuff.qtpl:262
|
||||
qw422016.N().S(`</a>
|
||||
`)
|
||||
//line views/stuff.qtpl:262
|
||||
//line views/stuff.qtpl:263
|
||||
if hypha.BinaryPath != "" {
|
||||
//line views/stuff.qtpl:262
|
||||
//line views/stuff.qtpl:263
|
||||
qw422016.N().S(`
|
||||
<span class="hypha-list__amnt-type">`)
|
||||
//line views/stuff.qtpl:263
|
||||
//line views/stuff.qtpl:264
|
||||
qw422016.E().S(filepath.Ext(hypha.BinaryPath)[1:])
|
||||
//line views/stuff.qtpl:263
|
||||
//line views/stuff.qtpl:264
|
||||
qw422016.N().S(`</span>
|
||||
`)
|
||||
//line views/stuff.qtpl:264
|
||||
//line views/stuff.qtpl:265
|
||||
}
|
||||
//line views/stuff.qtpl:264
|
||||
//line views/stuff.qtpl:265
|
||||
qw422016.N().S(`
|
||||
</li>
|
||||
`)
|
||||
//line views/stuff.qtpl:266
|
||||
//line views/stuff.qtpl:267
|
||||
}
|
||||
//line views/stuff.qtpl:266
|
||||
//line views/stuff.qtpl:267
|
||||
qw422016.N().S(`
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
`)
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
func WriteHyphaListHTML(qq422016 qtio422016.Writer, lc *l18n.Localizer) {
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
StreamHyphaListHTML(qw422016, lc)
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
func HyphaListHTML(lc *l18n.Localizer) string {
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
WriteHyphaListHTML(qb422016, lc)
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:270
|
||||
//line views/stuff.qtpl:271
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:272
|
||||
//line views/stuff.qtpl:273
|
||||
func StreamAboutHTML(qw422016 *qt422016.Writer, lc *l18n.Localizer) {
|
||||
//line views/stuff.qtpl:272
|
||||
//line views/stuff.qtpl:273
|
||||
qw422016.N().S(`
|
||||
<div class="layout">
|
||||
<main class="main-width">
|
||||
<section>
|
||||
<h1>`)
|
||||
//line views/stuff.qtpl:276
|
||||
//line views/stuff.qtpl:277
|
||||
qw422016.E().S(lc.Get("ui.about_title", &l18n.Replacements{"name": cfg.WikiName}))
|
||||
//line views/stuff.qtpl:276
|
||||
//line views/stuff.qtpl:277
|
||||
qw422016.N().S(`</h1>
|
||||
<ul>
|
||||
<li><b>`)
|
||||
//line views/stuff.qtpl:278
|
||||
//line views/stuff.qtpl:279
|
||||
qw422016.N().S(lc.Get("ui.about_version", &l18n.Replacements{"pre": "<a href=\"https://mycorrhiza.wiki\">", "post": "</a>"}))
|
||||
//line views/stuff.qtpl:278
|
||||
//line views/stuff.qtpl:279
|
||||
qw422016.N().S(`</b> 1.7.0</li>
|
||||
`)
|
||||
//line views/stuff.qtpl:279
|
||||
//line views/stuff.qtpl:280
|
||||
if cfg.UseAuth {
|
||||
//line views/stuff.qtpl:279
|
||||
//line views/stuff.qtpl:280
|
||||
qw422016.N().S(` <li><b>`)
|
||||
//line views/stuff.qtpl:280
|
||||
//line views/stuff.qtpl:281
|
||||
qw422016.E().S(lc.Get("ui.about_usercount"))
|
||||
//line views/stuff.qtpl:280
|
||||
//line views/stuff.qtpl:281
|
||||
qw422016.N().S(`</b> `)
|
||||
//line views/stuff.qtpl:280
|
||||
//line views/stuff.qtpl:281
|
||||
qw422016.N().DUL(user.Count())
|
||||
//line views/stuff.qtpl:280
|
||||
//line views/stuff.qtpl:281
|
||||
qw422016.N().S(`</li>
|
||||
<li><b>`)
|
||||
//line views/stuff.qtpl:281
|
||||
//line views/stuff.qtpl:282
|
||||
qw422016.E().S(lc.Get("ui.about_homepage"))
|
||||
//line views/stuff.qtpl:281
|
||||
//line views/stuff.qtpl:282
|
||||
qw422016.N().S(`</b> <a href="/">`)
|
||||
//line views/stuff.qtpl:281
|
||||
//line views/stuff.qtpl:282
|
||||
qw422016.E().S(cfg.HomeHypha)
|
||||
//line views/stuff.qtpl:281
|
||||
//line views/stuff.qtpl:282
|
||||
qw422016.N().S(`</a></li>
|
||||
<li><b>`)
|
||||
//line views/stuff.qtpl:282
|
||||
//line views/stuff.qtpl:283
|
||||
qw422016.E().S(lc.Get("ui.about_admins"))
|
||||
//line views/stuff.qtpl:282
|
||||
//line views/stuff.qtpl:283
|
||||
qw422016.N().S(`</b>`)
|
||||
//line views/stuff.qtpl:282
|
||||
//line views/stuff.qtpl:283
|
||||
for i, username := range user.ListUsersWithGroup("admin") {
|
||||
//line views/stuff.qtpl:283
|
||||
//line views/stuff.qtpl:284
|
||||
if i > 0 {
|
||||
//line views/stuff.qtpl:283
|
||||
//line views/stuff.qtpl:284
|
||||
qw422016.N().S(`<span aria-hidden="true">, </span>
|
||||
`)
|
||||
//line views/stuff.qtpl:284
|
||||
//line views/stuff.qtpl:285
|
||||
}
|
||||
//line views/stuff.qtpl:284
|
||||
//line views/stuff.qtpl:285
|
||||
qw422016.N().S(` <a href="/hypha/`)
|
||||
//line views/stuff.qtpl:285
|
||||
//line views/stuff.qtpl:286
|
||||
qw422016.E().S(cfg.UserHypha)
|
||||
//line views/stuff.qtpl:285
|
||||
//line views/stuff.qtpl:286
|
||||
qw422016.N().S(`/`)
|
||||
//line views/stuff.qtpl:285
|
||||
//line views/stuff.qtpl:286
|
||||
qw422016.E().S(username)
|
||||
//line views/stuff.qtpl:285
|
||||
//line views/stuff.qtpl:286
|
||||
qw422016.N().S(`">`)
|
||||
//line views/stuff.qtpl:285
|
||||
//line views/stuff.qtpl:286
|
||||
qw422016.E().S(username)
|
||||
//line views/stuff.qtpl:285
|
||||
//line views/stuff.qtpl:286
|
||||
qw422016.N().S(`</a>`)
|
||||
//line views/stuff.qtpl:285
|
||||
//line views/stuff.qtpl:286
|
||||
}
|
||||
//line views/stuff.qtpl:285
|
||||
//line views/stuff.qtpl:286
|
||||
qw422016.N().S(`</li>
|
||||
`)
|
||||
//line views/stuff.qtpl:286
|
||||
//line views/stuff.qtpl:287
|
||||
} else {
|
||||
//line views/stuff.qtpl:286
|
||||
//line views/stuff.qtpl:287
|
||||
qw422016.N().S(` <li>`)
|
||||
//line views/stuff.qtpl:287
|
||||
//line views/stuff.qtpl:288
|
||||
qw422016.E().S(lc.Get("ui.about_noauth"))
|
||||
//line views/stuff.qtpl:287
|
||||
//line views/stuff.qtpl:288
|
||||
qw422016.N().S(`</li>
|
||||
`)
|
||||
//line views/stuff.qtpl:288
|
||||
//line views/stuff.qtpl:289
|
||||
}
|
||||
//line views/stuff.qtpl:288
|
||||
//line views/stuff.qtpl:289
|
||||
qw422016.N().S(` </ul>
|
||||
<p>`)
|
||||
//line views/stuff.qtpl:290
|
||||
//line views/stuff.qtpl:291
|
||||
qw422016.N().S(lc.Get("ui.about_hyphae", &l18n.Replacements{"link": "<a href=\"/list\">/list</a>"}))
|
||||
//line views/stuff.qtpl:290
|
||||
//line views/stuff.qtpl:291
|
||||
qw422016.N().S(`</p>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
`)
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
func WriteAboutHTML(qq422016 qtio422016.Writer, lc *l18n.Localizer) {
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
StreamAboutHTML(qw422016, lc)
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
func AboutHTML(lc *l18n.Localizer) string {
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
WriteAboutHTML(qb422016, lc)
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:294
|
||||
//line views/stuff.qtpl:295
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:296
|
||||
//line views/stuff.qtpl:297
|
||||
func StreamCommonScripts(qw422016 *qt422016.Writer) {
|
||||
//line views/stuff.qtpl:296
|
||||
//line views/stuff.qtpl:297
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/stuff.qtpl:297
|
||||
//line views/stuff.qtpl:298
|
||||
for _, scriptPath := range cfg.CommonScripts {
|
||||
//line views/stuff.qtpl:297
|
||||
//line views/stuff.qtpl:298
|
||||
qw422016.N().S(`
|
||||
<script src="`)
|
||||
//line views/stuff.qtpl:298
|
||||
//line views/stuff.qtpl:299
|
||||
qw422016.E().S(scriptPath)
|
||||
//line views/stuff.qtpl:298
|
||||
//line views/stuff.qtpl:299
|
||||
qw422016.N().S(`"></script>
|
||||
`)
|
||||
//line views/stuff.qtpl:299
|
||||
//line views/stuff.qtpl:300
|
||||
}
|
||||
//line views/stuff.qtpl:299
|
||||
//line views/stuff.qtpl:300
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
func WriteCommonScripts(qq422016 qtio422016.Writer) {
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
StreamCommonScripts(qw422016)
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
func CommonScripts() string {
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
WriteCommonScripts(qb422016)
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:300
|
||||
//line views/stuff.qtpl:301
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user