1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-10-30 19:56:16 +00:00
mycorrhiza/views/stuff.qtpl.go
2021-07-15 22:19:10 +05:00

903 lines
23 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by qtc from "stuff.qtpl". DO NOT EDIT.
// See https://github.com/valyala/quicktemplate for details.
//line views/stuff.qtpl:1
package views
//line views/stuff.qtpl:1
import "path/filepath"
//line views/stuff.qtpl:2
import "github.com/bouncepaw/mycorrhiza/cfg"
//line views/stuff.qtpl:3
import "github.com/bouncepaw/mycorrhiza/hyphae"
//line views/stuff.qtpl:4
import "github.com/bouncepaw/mycorrhiza/user"
//line views/stuff.qtpl:5
import "github.com/bouncepaw/mycorrhiza/util"
//line views/stuff.qtpl:7
import (
qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate"
)
//line views/stuff.qtpl:7
var (
_ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer
)
//line views/stuff.qtpl:7
func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, u *user.User, headElements ...string) {
//line views/stuff.qtpl:7
qw422016.N().S(`
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>`)
//line views/stuff.qtpl:13
qw422016.E().S(title)
//line views/stuff.qtpl:13
qw422016.N().S(`</title>
<link rel="shortcut icon" href="/static/favicon.ico">
<link rel="stylesheet" href="/static/style.css">
<script src="/static/shortcuts.js"></script>
`)
//line views/stuff.qtpl:17
for _, el := range headElements {
//line views/stuff.qtpl:17
qw422016.N().S(el)
//line views/stuff.qtpl:17
}
//line views/stuff.qtpl:17
qw422016.N().S(`
</head>
<body>
<header>
<nav class="main-width top-bar">
<ul class="top-bar__wrapper">
<li class="top-bar__section top-bar__section_home">
<div class="top-bar__home-link-wrapper">
<a class="top-bar__home-link" href="/">`)
//line views/stuff.qtpl:25
qw422016.E().S(cfg.WikiName)
//line views/stuff.qtpl:25
qw422016.N().S(`</a>
</div>
</li>
<li class="top-bar__section top-bar__section_search">
<form class="top-bar__search" method="GET" action="/title-search">
<input type="text" name="q" placeholder="Title search" class="top-bar__search-bar">
</form>
</li>
`)
//line views/stuff.qtpl:33
if cfg.UseAuth {
//line views/stuff.qtpl:33
qw422016.N().S(`
<li class="top-bar__section top-bar__section_auth top-bar__section_hidden-on-mobile">
<ul class="top-bar__auth auth-links">
<li class="auth-links__box auth-links__user-box">
`)
//line views/stuff.qtpl:37
if u.Group == "anon" {
//line views/stuff.qtpl:37
qw422016.N().S(`
<a href="/login" class="auth-links__link auth-links__login-link">Login</a>
`)
//line views/stuff.qtpl:39
} else {
//line views/stuff.qtpl:39
qw422016.N().S(`
<a href="/hypha/`)
//line views/stuff.qtpl:40
qw422016.E().S(cfg.UserHypha)
//line views/stuff.qtpl:40
qw422016.N().S(`/`)
//line views/stuff.qtpl:40
qw422016.E().S(u.Name)
//line views/stuff.qtpl:40
qw422016.N().S(`" class="auth-links__link auth-links__user-link">`)
//line views/stuff.qtpl:40
qw422016.E().S(util.BeautifulName(u.Name))
//line views/stuff.qtpl:40
qw422016.N().S(`</a>
`)
//line views/stuff.qtpl:41
}
//line views/stuff.qtpl:41
qw422016.N().S(`
</li>
`)
//line views/stuff.qtpl:43
if cfg.AllowRegistration && u.Group == "anon" {
//line views/stuff.qtpl:43
qw422016.N().S(`
<li class="auth-links__box auth-links__register-box">
<a href="/register" class="auth-links__link auth-links__register-link">Register</a>
</li>
`)
//line views/stuff.qtpl:47
}
//line views/stuff.qtpl:47
qw422016.N().S(`
`)
//line views/stuff.qtpl:48
if u.Group == "admin" {
//line views/stuff.qtpl:48
qw422016.N().S(`
<li class="auth-links__box auth-links__admin-box">
<a href="/admin" class="auth-links__link auth-links__admin-link">Admin panel</a>
</li>
`)
//line views/stuff.qtpl:52
}
//line views/stuff.qtpl:52
qw422016.N().S(`
</ul>
</li>
`)
//line views/stuff.qtpl:55
}
//line views/stuff.qtpl:55
qw422016.N().S(`
<li class="top-bar__section top-bar__section_highlights top-bar__section_hidden-on-mobile">
<ul class="top-bar__highlights">
`)
//line views/stuff.qtpl:58
for _, link := range cfg.HeaderLinks {
//line views/stuff.qtpl:58
qw422016.N().S(` `)
//line views/stuff.qtpl:59
if link.Href != "/" {
//line views/stuff.qtpl:59
qw422016.N().S(`
<li class="top-bar__highlight">
<a class="top-bar__highlight-link" href="`)
//line views/stuff.qtpl:61
qw422016.E().S(link.Href)
//line views/stuff.qtpl:61
qw422016.N().S(`">`)
//line views/stuff.qtpl:61
qw422016.E().S(link.Display)
//line views/stuff.qtpl:61
qw422016.N().S(`</a>
</li>
`)
//line views/stuff.qtpl:63
}
//line views/stuff.qtpl:63
qw422016.N().S(`
`)
//line views/stuff.qtpl:64
}
//line views/stuff.qtpl:64
qw422016.N().S(` </ul>
</li>
</ul>
</nav>
</header>
`)
//line views/stuff.qtpl:70
qw422016.N().S(body)
//line views/stuff.qtpl:70
qw422016.N().S(`
<template id="dialog-template">
<div class="dialog-backdrop"></div>
<div class="dialog" tabindex="0">
<div class="dialog__header">
<h1 class="dialog__title"></h1>
<button class="dialog__close-button" aria-label="Close this dialog"></button>
</div>
<div class="dialog__content"></div>
</div>
</template>
`)
//line views/stuff.qtpl:82
StreamCommonScripts(qw422016)
//line views/stuff.qtpl:82
qw422016.N().S(`
<script src="/static/view.js"></script>
</body>
</html>
`)
//line views/stuff.qtpl:86
}
//line views/stuff.qtpl:86
func WriteBaseHTML(qq422016 qtio422016.Writer, title, body string, u *user.User, headElements ...string) {
//line views/stuff.qtpl:86
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:86
StreamBaseHTML(qw422016, title, body, u, headElements...)
//line views/stuff.qtpl:86
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:86
}
//line views/stuff.qtpl:86
func BaseHTML(title, body string, u *user.User, headElements ...string) string {
//line views/stuff.qtpl:86
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:86
WriteBaseHTML(qb422016, title, body, u, headElements...)
//line views/stuff.qtpl:86
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:86
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:86
return qs422016
//line views/stuff.qtpl:86
}
//line views/stuff.qtpl:88
func StreamTitleSearchHTML(qw422016 *qt422016.Writer, query string, generator func(string) <-chan string) {
//line views/stuff.qtpl:88
qw422016.N().S(`
<div class="layout">
<main class="main-width title-search">
<h1>Search results for `)
//line views/stuff.qtpl:91
qw422016.E().S(query)
//line views/stuff.qtpl:91
qw422016.N().S(`</h1>
<p>Every hypha name has been compared with the query. Hyphae that have matched the query are listed below.</p>
<ul class="title-search__results">
`)
//line views/stuff.qtpl:94
for hyphaName := range generator(query) {
//line views/stuff.qtpl:94
qw422016.N().S(`
<li class="title-search__entry">
<a class="title-search__link wikilink" href="/hypha/`)
//line views/stuff.qtpl:96
qw422016.E().S(hyphaName)
//line views/stuff.qtpl:96
qw422016.N().S(`">`)
//line views/stuff.qtpl:96
qw422016.E().S(util.BeautifulName(hyphaName))
//line views/stuff.qtpl:96
qw422016.N().S(`</a>
</li>
`)
//line views/stuff.qtpl:98
}
//line views/stuff.qtpl:98
qw422016.N().S(`
</main>
</div>
`)
//line views/stuff.qtpl:101
}
//line views/stuff.qtpl:101
func WriteTitleSearchHTML(qq422016 qtio422016.Writer, query string, generator func(string) <-chan string) {
//line views/stuff.qtpl:101
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:101
StreamTitleSearchHTML(qw422016, query, generator)
//line views/stuff.qtpl:101
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:101
}
//line views/stuff.qtpl:101
func TitleSearchHTML(query string, generator func(string) <-chan string) string {
//line views/stuff.qtpl:101
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:101
WriteTitleSearchHTML(qb422016, query, generator)
//line views/stuff.qtpl:101
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:101
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:101
return qs422016
//line views/stuff.qtpl:101
}
// It outputs a poorly formatted JSON, but it works and is valid.
//line views/stuff.qtpl:104
func StreamTitleSearchJSON(qw422016 *qt422016.Writer, query string, generator func(string) <-chan string) {
//line views/stuff.qtpl:104
qw422016.N().S(`
`)
//line views/stuff.qtpl:106
// Lol
counter := 0
//line views/stuff.qtpl:108
qw422016.N().S(`
{
"source_query": "`)
//line views/stuff.qtpl:110
qw422016.E().S(query)
//line views/stuff.qtpl:110
qw422016.N().S(`",
"results": [
`)
//line views/stuff.qtpl:112
for hyphaName := range generator(query) {
//line views/stuff.qtpl:112
qw422016.N().S(`
`)
//line views/stuff.qtpl:113
if counter > 0 {
//line views/stuff.qtpl:113
qw422016.N().S(`, `)
//line views/stuff.qtpl:113
}
//line views/stuff.qtpl:113
qw422016.N().S(`{
"canonical_name": "`)
//line views/stuff.qtpl:114
qw422016.E().S(hyphaName)
//line views/stuff.qtpl:114
qw422016.N().S(`",
"beautiful_name": "`)
//line views/stuff.qtpl:115
qw422016.E().S(util.BeautifulName(hyphaName))
//line views/stuff.qtpl:115
qw422016.N().S(`",
"url": "`)
//line views/stuff.qtpl:116
qw422016.E().S(cfg.URL + "/hypha/" + hyphaName)
//line views/stuff.qtpl:116
qw422016.N().S(`"
}`)
//line views/stuff.qtpl:117
counter++
//line views/stuff.qtpl:117
qw422016.N().S(`
`)
//line views/stuff.qtpl:118
}
//line views/stuff.qtpl:118
qw422016.N().S(`
]
}
`)
//line views/stuff.qtpl:121
}
//line views/stuff.qtpl:121
func WriteTitleSearchJSON(qq422016 qtio422016.Writer, query string, generator func(string) <-chan string) {
//line views/stuff.qtpl:121
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:121
StreamTitleSearchJSON(qw422016, query, generator)
//line views/stuff.qtpl:121
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:121
}
//line views/stuff.qtpl:121
func TitleSearchJSON(query string, generator func(string) <-chan string) string {
//line views/stuff.qtpl:121
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:121
WriteTitleSearchJSON(qb422016, query, generator)
//line views/stuff.qtpl:121
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:121
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:121
return qs422016
//line views/stuff.qtpl:121
}
//line views/stuff.qtpl:123
func StreamHelpHTML(qw422016 *qt422016.Writer, content string) {
//line views/stuff.qtpl:123
qw422016.N().S(`
<div class="layout">
<main class="main-width help">
<article>
`)
//line views/stuff.qtpl:127
qw422016.N().S(content)
//line views/stuff.qtpl:127
qw422016.N().S(`
</article>
</main>
`)
//line views/stuff.qtpl:130
qw422016.N().S(helpTopicsHTML())
//line views/stuff.qtpl:130
qw422016.N().S(`
</div>
`)
//line views/stuff.qtpl:132
}
//line views/stuff.qtpl:132
func WriteHelpHTML(qq422016 qtio422016.Writer, content string) {
//line views/stuff.qtpl:132
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:132
StreamHelpHTML(qw422016, content)
//line views/stuff.qtpl:132
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:132
}
//line views/stuff.qtpl:132
func HelpHTML(content string) string {
//line views/stuff.qtpl:132
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:132
WriteHelpHTML(qb422016, content)
//line views/stuff.qtpl:132
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:132
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:132
return qs422016
//line views/stuff.qtpl:132
}
//line views/stuff.qtpl:134
func StreamHelpEmptyErrorHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:134
qw422016.N().S(`
<h1>This entry does not exist!</h1>
<p>Try finding a different entry that would help you.</p>
<p>If you want to write this entry by yourself, consider <a class="wikilink wikilink_external wikilink_https" href="https://github.com/bouncepaw/mycorrhiza">contributing</a> to Mycorrhiza Wiki directly.</p>
`)
//line views/stuff.qtpl:138
}
//line views/stuff.qtpl:138
func WriteHelpEmptyErrorHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:138
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:138
StreamHelpEmptyErrorHTML(qw422016)
//line views/stuff.qtpl:138
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:138
}
//line views/stuff.qtpl:138
func HelpEmptyErrorHTML() string {
//line views/stuff.qtpl:138
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:138
WriteHelpEmptyErrorHTML(qb422016)
//line views/stuff.qtpl:138
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:138
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:138
return qs422016
//line views/stuff.qtpl:138
}
//line views/stuff.qtpl:140
func streamhelpTopicsHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:140
qw422016.N().S(`
<aside class="help-topics layout-card">
<h2 class="layout-card__title">Help topics</h2>
<ul class="help-topics__list">
<li>
<a href="/help/en">Main</a>
</li>
<li>
<a href="/help/en/hypha">Hypha</a>
<ul>
<li>
<a href="/help/en/attachment">Attachment</a>
</li>
</ul
</li>
</ul>
</aside>
`)
//line views/stuff.qtpl:157
}
//line views/stuff.qtpl:157
func writehelpTopicsHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:157
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:157
streamhelpTopicsHTML(qw422016)
//line views/stuff.qtpl:157
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:157
}
//line views/stuff.qtpl:157
func helpTopicsHTML() string {
//line views/stuff.qtpl:157
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:157
writehelpTopicsHTML(qb422016)
//line views/stuff.qtpl:157
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:157
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:157
return qs422016
//line views/stuff.qtpl:157
}
//line views/stuff.qtpl:159
func StreamUserListHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:159
qw422016.N().S(`
<div class="layout">
<main class="main-width user-list">
<h1>List of users</h1>
`)
//line views/stuff.qtpl:164
var (
admins = make([]string, 0)
moderators = make([]string, 0)
editors = make([]string, 0)
)
for u := range user.YieldUsers() {
switch u.Group {
case "admin":
admins = append(admins, u.Name)
case "moderator":
moderators = append(moderators, u.Name)
case "editor", "trusted":
editors = append(editors, u.Name)
}
}
//line views/stuff.qtpl:179
qw422016.N().S(`
<section>
<h2>Admins</h2>
<ol>`)
//line views/stuff.qtpl:182
for _, name := range admins {
//line views/stuff.qtpl:182
qw422016.N().S(`
<li><a href="/hypha/`)
//line views/stuff.qtpl:183
qw422016.E().S(cfg.UserHypha)
//line views/stuff.qtpl:183
qw422016.N().S(`/`)
//line views/stuff.qtpl:183
qw422016.E().S(name)
//line views/stuff.qtpl:183
qw422016.N().S(`">`)
//line views/stuff.qtpl:183
qw422016.E().S(name)
//line views/stuff.qtpl:183
qw422016.N().S(`</a></li>
`)
//line views/stuff.qtpl:184
}
//line views/stuff.qtpl:184
qw422016.N().S(`</ol>
</section>
<section>
<h2>Moderators</h2>
<ol>`)
//line views/stuff.qtpl:188
for _, name := range moderators {
//line views/stuff.qtpl:188
qw422016.N().S(`
<li><a href="/hypha/`)
//line views/stuff.qtpl:189
qw422016.E().S(cfg.UserHypha)
//line views/stuff.qtpl:189
qw422016.N().S(`/`)
//line views/stuff.qtpl:189
qw422016.E().S(name)
//line views/stuff.qtpl:189
qw422016.N().S(`">`)
//line views/stuff.qtpl:189
qw422016.E().S(name)
//line views/stuff.qtpl:189
qw422016.N().S(`</a></li>
`)
//line views/stuff.qtpl:190
}
//line views/stuff.qtpl:190
qw422016.N().S(`</ol>
</section>
<section>
<h2>Editors</h2>
<ol>`)
//line views/stuff.qtpl:194
for _, name := range editors {
//line views/stuff.qtpl:194
qw422016.N().S(`
<li><a href="/hypha/`)
//line views/stuff.qtpl:195
qw422016.E().S(cfg.UserHypha)
//line views/stuff.qtpl:195
qw422016.N().S(`/`)
//line views/stuff.qtpl:195
qw422016.E().S(name)
//line views/stuff.qtpl:195
qw422016.N().S(`">`)
//line views/stuff.qtpl:195
qw422016.E().S(name)
//line views/stuff.qtpl:195
qw422016.N().S(`</a></li>
`)
//line views/stuff.qtpl:196
}
//line views/stuff.qtpl:196
qw422016.N().S(`</ol>
</section>
</main>
</div>
`)
//line views/stuff.qtpl:200
}
//line views/stuff.qtpl:200
func WriteUserListHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:200
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:200
StreamUserListHTML(qw422016)
//line views/stuff.qtpl:200
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:200
}
//line views/stuff.qtpl:200
func UserListHTML() string {
//line views/stuff.qtpl:200
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:200
WriteUserListHTML(qb422016)
//line views/stuff.qtpl:200
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:200
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:200
return qs422016
//line views/stuff.qtpl:200
}
//line views/stuff.qtpl:202
func StreamHyphaListHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:202
qw422016.N().S(`
<div class="layout">
<main class="main-width">
<h1>List of hyphae</h1>
<p>This wiki has `)
//line views/stuff.qtpl:206
qw422016.N().D(hyphae.Count())
//line views/stuff.qtpl:206
qw422016.N().S(` hyphae.</p>
<ul class="hypha-list">
`)
//line views/stuff.qtpl:208
for h := range hyphae.YieldExistingHyphae() {
//line views/stuff.qtpl:208
qw422016.N().S(`
<li class="hypha-list__entry">
<a class="hypha-list__link" href="/hypha/`)
//line views/stuff.qtpl:210
qw422016.E().S(h.Name)
//line views/stuff.qtpl:210
qw422016.N().S(`">`)
//line views/stuff.qtpl:210
qw422016.E().S(util.BeautifulName(h.Name))
//line views/stuff.qtpl:210
qw422016.N().S(`</a>
`)
//line views/stuff.qtpl:211
if h.BinaryPath != "" {
//line views/stuff.qtpl:211
qw422016.N().S(`
<span class="hypha-list__amnt-type">`)
//line views/stuff.qtpl:212
qw422016.E().S(filepath.Ext(h.BinaryPath)[1:])
//line views/stuff.qtpl:212
qw422016.N().S(`</span>
`)
//line views/stuff.qtpl:213
}
//line views/stuff.qtpl:213
qw422016.N().S(`
</li>
`)
//line views/stuff.qtpl:215
}
//line views/stuff.qtpl:215
qw422016.N().S(`
</ul>
</main>
</div>
`)
//line views/stuff.qtpl:219
}
//line views/stuff.qtpl:219
func WriteHyphaListHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:219
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:219
StreamHyphaListHTML(qw422016)
//line views/stuff.qtpl:219
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:219
}
//line views/stuff.qtpl:219
func HyphaListHTML() string {
//line views/stuff.qtpl:219
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:219
WriteHyphaListHTML(qb422016)
//line views/stuff.qtpl:219
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:219
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:219
return qs422016
//line views/stuff.qtpl:219
}
//line views/stuff.qtpl:221
func StreamAboutHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:221
qw422016.N().S(`
<div class="layout">
<main class="main-width">
<section>
<h1>About `)
//line views/stuff.qtpl:225
qw422016.E().S(cfg.WikiName)
//line views/stuff.qtpl:225
qw422016.N().S(`</h1>
<ul>
<li><b><a href="https://mycorrhiza.wiki">Mycorrhiza Wiki</a> version:</b> 1.3.0</li>
`)
//line views/stuff.qtpl:228
if cfg.UseAuth {
//line views/stuff.qtpl:228
qw422016.N().S(` <li><b>User count:</b> `)
//line views/stuff.qtpl:229
qw422016.N().DUL(user.Count())
//line views/stuff.qtpl:229
qw422016.N().S(`</li>
<li><b>Home page:</b> <a href="/">`)
//line views/stuff.qtpl:230
qw422016.E().S(cfg.HomeHypha)
//line views/stuff.qtpl:230
qw422016.N().S(`</a></li>
<li><b>Administrators:</b>`)
//line views/stuff.qtpl:231
for i, username := range user.ListUsersWithGroup("admin") {
//line views/stuff.qtpl:232
if i > 0 {
//line views/stuff.qtpl:232
qw422016.N().S(`<span aria-hidden="true">, </span>
`)
//line views/stuff.qtpl:233
}
//line views/stuff.qtpl:233
qw422016.N().S(` <a href="/hypha/`)
//line views/stuff.qtpl:234
qw422016.E().S(cfg.UserHypha)
//line views/stuff.qtpl:234
qw422016.N().S(`/`)
//line views/stuff.qtpl:234
qw422016.E().S(username)
//line views/stuff.qtpl:234
qw422016.N().S(`">`)
//line views/stuff.qtpl:234
qw422016.E().S(username)
//line views/stuff.qtpl:234
qw422016.N().S(`</a>`)
//line views/stuff.qtpl:234
}
//line views/stuff.qtpl:234
qw422016.N().S(`</li>
`)
//line views/stuff.qtpl:235
} else {
//line views/stuff.qtpl:235
qw422016.N().S(` <li>This wiki does not use authorization</li>
`)
//line views/stuff.qtpl:237
}
//line views/stuff.qtpl:237
qw422016.N().S(` </ul>
<p>See <a href="/list">/list</a> for information about hyphae on this wiki.</p>
</section>
</main>
</div>
`)
//line views/stuff.qtpl:243
}
//line views/stuff.qtpl:243
func WriteAboutHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:243
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:243
StreamAboutHTML(qw422016)
//line views/stuff.qtpl:243
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:243
}
//line views/stuff.qtpl:243
func AboutHTML() string {
//line views/stuff.qtpl:243
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:243
WriteAboutHTML(qb422016)
//line views/stuff.qtpl:243
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:243
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:243
return qs422016
//line views/stuff.qtpl:243
}
//line views/stuff.qtpl:245
func StreamCommonScripts(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:245
qw422016.N().S(`
`)
//line views/stuff.qtpl:246
for _, scriptPath := range cfg.CommonScripts {
//line views/stuff.qtpl:246
qw422016.N().S(`
<script src="`)
//line views/stuff.qtpl:247
qw422016.E().S(scriptPath)
//line views/stuff.qtpl:247
qw422016.N().S(`"></script>
`)
//line views/stuff.qtpl:248
}
//line views/stuff.qtpl:248
qw422016.N().S(`
`)
//line views/stuff.qtpl:249
}
//line views/stuff.qtpl:249
func WriteCommonScripts(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:249
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:249
StreamCommonScripts(qw422016)
//line views/stuff.qtpl:249
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:249
}
//line views/stuff.qtpl:249
func CommonScripts() string {
//line views/stuff.qtpl:249
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:249
WriteCommonScripts(qb422016)
//line views/stuff.qtpl:249
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:249
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:249
return qs422016
//line views/stuff.qtpl:249
}