mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2024-10-30 03:36:16 +00:00
Write the recent changes doc
And add the link to the doc on the page itself
This commit is contained in:
parent
c59a73d74f
commit
b2890b26cf
20
help/en/recent_changes.myco
Normal file
20
help/en/recent_changes.myco
Normal file
@ -0,0 +1,20 @@
|
||||
# Recent changes
|
||||
**Recent changes** is a special page that lists all latest changes on the wiki. There is a link to it by default in the [[/help/en/top_bar | top bar]]. You can also jump to it quickly by pressing the `g r` hotkey.
|
||||
|
||||
Engaged wiki editors usually visit this page quite often.
|
||||
|
||||
=> /recent-changes See this wiki's recent changes
|
||||
|
||||
By default, it lists 20 recent changes. On the page, you can choose other number: 50 or 100.
|
||||
|
||||
The changes are grouped by date.
|
||||
|
||||
Each edit has these properties:
|
||||
* **UTC time.**
|
||||
* **Commit hash.** It functions as edit's id.
|
||||
* **Editor,** if any.
|
||||
* **Affected hyphae.** Most actions affect one hypha (such as actual editing), but some affect more (recursive editing, for example).
|
||||
* **Message.** This message tells you what the edit is about. The message format is quite regular and parseable.
|
||||
|
||||
## See also
|
||||
=> /help/en/feeds Feeds
|
@ -761,4 +761,20 @@ kbd {
|
||||
.top-bar__section_hidden-on-mobile {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Help badge
|
||||
*/
|
||||
.help-topic-badge {
|
||||
display: block;
|
||||
float: right;
|
||||
line-height: 2rem;
|
||||
height: 2rem;
|
||||
width: 2rem;
|
||||
text-align: center;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
border: 1px solid #999;
|
||||
border-radius: 1rem;
|
||||
}
|
@ -82,6 +82,7 @@ if err != nil {
|
||||
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{%s= helpTopicBadgeHTML("en", "recent_changes") %}
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
|
@ -260,181 +260,186 @@ func StreamRecentChangesHTML(qw422016 *qt422016.Writer, n int) {
|
||||
//line views/history.qtpl:84
|
||||
}
|
||||
//line views/history.qtpl:84
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/history.qtpl:85
|
||||
qw422016.N().S(helpTopicBadgeHTML("en", "recent_changes"))
|
||||
//line views/history.qtpl:85
|
||||
qw422016.N().S(`
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
`)
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
}
|
||||
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
func WriteRecentChangesHTML(qq422016 qtio422016.Writer, n int) {
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
StreamRecentChangesHTML(qw422016, n)
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
}
|
||||
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
func RecentChangesHTML(n int) string {
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
WriteRecentChangesHTML(qb422016, n)
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
return qs422016
|
||||
//line views/history.qtpl:88
|
||||
//line views/history.qtpl:89
|
||||
}
|
||||
|
||||
//line views/history.qtpl:90
|
||||
//line views/history.qtpl:91
|
||||
func streamrecentChangesEntry(qw422016 *qt422016.Writer, rev history.Revision) {
|
||||
//line views/history.qtpl:90
|
||||
//line views/history.qtpl:91
|
||||
qw422016.N().S(`
|
||||
<div>
|
||||
<time class="recent-changes__entry__time">
|
||||
`)
|
||||
//line views/history.qtpl:93
|
||||
//line views/history.qtpl:94
|
||||
qw422016.E().S(rev.Time.UTC().Format("15:04 UTC"))
|
||||
//line views/history.qtpl:93
|
||||
//line views/history.qtpl:94
|
||||
qw422016.N().S(`
|
||||
</time>
|
||||
<a class="recent-changes__entry__message">`)
|
||||
//line views/history.qtpl:95
|
||||
//line views/history.qtpl:96
|
||||
qw422016.E().S(rev.Hash)
|
||||
//line views/history.qtpl:95
|
||||
//line views/history.qtpl:96
|
||||
qw422016.N().S(`</a>
|
||||
|
||||
`)
|
||||
//line views/history.qtpl:97
|
||||
//line views/history.qtpl:98
|
||||
if rev.Username != "anon" {
|
||||
//line views/history.qtpl:97
|
||||
//line views/history.qtpl:98
|
||||
qw422016.N().S(`
|
||||
<span class="recent-changes__entry__author">
|
||||
— <a href="/hypha/`)
|
||||
//line views/history.qtpl:99
|
||||
//line views/history.qtpl:100
|
||||
qw422016.E().S(cfg.UserHypha)
|
||||
//line views/history.qtpl:99
|
||||
//line views/history.qtpl:100
|
||||
qw422016.N().S(`/`)
|
||||
//line views/history.qtpl:99
|
||||
//line views/history.qtpl:100
|
||||
qw422016.E().S(rev.Username)
|
||||
//line views/history.qtpl:99
|
||||
//line views/history.qtpl:100
|
||||
qw422016.N().S(`" rel="author">`)
|
||||
//line views/history.qtpl:99
|
||||
//line views/history.qtpl:100
|
||||
qw422016.E().S(rev.Username)
|
||||
//line views/history.qtpl:99
|
||||
//line views/history.qtpl:100
|
||||
qw422016.N().S(`</a>
|
||||
</span>
|
||||
`)
|
||||
//line views/history.qtpl:101
|
||||
//line views/history.qtpl:102
|
||||
}
|
||||
//line views/history.qtpl:101
|
||||
//line views/history.qtpl:102
|
||||
qw422016.N().S(`
|
||||
</div>
|
||||
<div>
|
||||
<span class="recent-changes__entry__links">
|
||||
`)
|
||||
//line views/history.qtpl:105
|
||||
//line views/history.qtpl:106
|
||||
qw422016.N().S(rev.HyphaeLinksHTML())
|
||||
//line views/history.qtpl:105
|
||||
//line views/history.qtpl:106
|
||||
qw422016.N().S(`
|
||||
</span>
|
||||
<span class="recent-changes__entry__message">
|
||||
`)
|
||||
//line views/history.qtpl:108
|
||||
//line views/history.qtpl:109
|
||||
qw422016.E().S(rev.Message)
|
||||
//line views/history.qtpl:108
|
||||
//line views/history.qtpl:109
|
||||
qw422016.N().S(`
|
||||
</span>
|
||||
</div>
|
||||
`)
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
}
|
||||
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
func writerecentChangesEntry(qq422016 qtio422016.Writer, rev history.Revision) {
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
streamrecentChangesEntry(qw422016, rev)
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
}
|
||||
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
func recentChangesEntry(rev history.Revision) string {
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
writerecentChangesEntry(qb422016, rev)
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
return qs422016
|
||||
//line views/history.qtpl:111
|
||||
//line views/history.qtpl:112
|
||||
}
|
||||
|
||||
//line views/history.qtpl:113
|
||||
//line views/history.qtpl:114
|
||||
func StreamHistoryHTML(qw422016 *qt422016.Writer, rq *http.Request, hyphaName, list string) {
|
||||
//line views/history.qtpl:113
|
||||
//line views/history.qtpl:114
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/history.qtpl:114
|
||||
//line views/history.qtpl:115
|
||||
StreamNavHTML(qw422016, rq, hyphaName, "history")
|
||||
//line views/history.qtpl:114
|
||||
//line views/history.qtpl:115
|
||||
qw422016.N().S(`
|
||||
<div class="layout">
|
||||
<main class="main-width">
|
||||
<article class="history">
|
||||
<h1>History of `)
|
||||
//line views/history.qtpl:118
|
||||
//line views/history.qtpl:119
|
||||
qw422016.E().S(util.BeautifulName(hyphaName))
|
||||
//line views/history.qtpl:118
|
||||
//line views/history.qtpl:119
|
||||
qw422016.N().S(`</h1>
|
||||
`)
|
||||
//line views/history.qtpl:119
|
||||
//line views/history.qtpl:120
|
||||
qw422016.N().S(list)
|
||||
//line views/history.qtpl:119
|
||||
//line views/history.qtpl:120
|
||||
qw422016.N().S(`
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
`)
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
}
|
||||
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
func WriteHistoryHTML(qq422016 qtio422016.Writer, rq *http.Request, hyphaName, list string) {
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
StreamHistoryHTML(qw422016, rq, hyphaName, list)
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
}
|
||||
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
func HistoryHTML(rq *http.Request, hyphaName, list string) string {
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
WriteHistoryHTML(qb422016, rq, hyphaName, list)
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
return qs422016
|
||||
//line views/history.qtpl:123
|
||||
//line views/history.qtpl:124
|
||||
}
|
||||
|
@ -155,6 +155,11 @@ It outputs a poorly formatted JSON, but it works and is valid.
|
||||
<li>...</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Special pages
|
||||
<ul>
|
||||
<li><a href="/help/en/recent_changes">Recent changes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Configuration (for administrators)
|
||||
<ul>
|
||||
<li><a href="/help/en/lock">Lock</a></li>
|
||||
@ -167,6 +172,10 @@ It outputs a poorly formatted JSON, but it works and is valid.
|
||||
</aside>
|
||||
{% endfunc %}
|
||||
|
||||
{% func helpTopicBadgeHTML(lang, topic string) %}
|
||||
<a class="help-topic-badge" href="/help/{%s lang %}/{%s topic %}">?</a>
|
||||
{% endfunc %}
|
||||
|
||||
{% func UserListHTML() %}
|
||||
<div class="layout">
|
||||
<main class="main-width user-list">
|
||||
|
@ -504,6 +504,11 @@ func streamhelpTopicsHTML(qw422016 *qt422016.Writer) {
|
||||
<li>...</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Special pages
|
||||
<ul>
|
||||
<li><a href="/help/en/recent_changes">Recent changes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Configuration (for administrators)
|
||||
<ul>
|
||||
<li><a href="/help/en/lock">Lock</a></li>
|
||||
@ -515,44 +520,87 @@ func streamhelpTopicsHTML(qw422016 *qt422016.Writer) {
|
||||
</ul>
|
||||
</aside>
|
||||
`)
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
func writehelpTopicsHTML(qq422016 qtio422016.Writer) {
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
streamhelpTopicsHTML(qw422016)
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
func helpTopicsHTML() string {
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
writehelpTopicsHTML(qb422016)
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:168
|
||||
//line views/stuff.qtpl:173
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:170
|
||||
//line views/stuff.qtpl:175
|
||||
func streamhelpTopicBadgeHTML(qw422016 *qt422016.Writer, lang, topic string) {
|
||||
//line views/stuff.qtpl:175
|
||||
qw422016.N().S(`
|
||||
<a class="help-topic-badge" href="/help/`)
|
||||
//line views/stuff.qtpl:176
|
||||
qw422016.E().S(lang)
|
||||
//line views/stuff.qtpl:176
|
||||
qw422016.N().S(`/`)
|
||||
//line views/stuff.qtpl:176
|
||||
qw422016.E().S(topic)
|
||||
//line views/stuff.qtpl:176
|
||||
qw422016.N().S(`">?</a>
|
||||
`)
|
||||
//line views/stuff.qtpl:177
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:177
|
||||
func writehelpTopicBadgeHTML(qq422016 qtio422016.Writer, lang, topic string) {
|
||||
//line views/stuff.qtpl:177
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:177
|
||||
streamhelpTopicBadgeHTML(qw422016, lang, topic)
|
||||
//line views/stuff.qtpl:177
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:177
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:177
|
||||
func helpTopicBadgeHTML(lang, topic string) string {
|
||||
//line views/stuff.qtpl:177
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:177
|
||||
writehelpTopicBadgeHTML(qb422016, lang, topic)
|
||||
//line views/stuff.qtpl:177
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:177
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:177
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:177
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:179
|
||||
func StreamUserListHTML(qw422016 *qt422016.Writer) {
|
||||
//line views/stuff.qtpl:170
|
||||
//line views/stuff.qtpl:179
|
||||
qw422016.N().S(`
|
||||
<div class="layout">
|
||||
<main class="main-width user-list">
|
||||
<h1>List of users</h1>
|
||||
`)
|
||||
//line views/stuff.qtpl:175
|
||||
//line views/stuff.qtpl:184
|
||||
var (
|
||||
admins = make([]string, 0)
|
||||
moderators = make([]string, 0)
|
||||
@ -569,345 +617,345 @@ func StreamUserListHTML(qw422016 *qt422016.Writer) {
|
||||
}
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:190
|
||||
//line views/stuff.qtpl:199
|
||||
qw422016.N().S(`
|
||||
<section>
|
||||
<h2>Admins</h2>
|
||||
<ol>`)
|
||||
//line views/stuff.qtpl:193
|
||||
//line views/stuff.qtpl:202
|
||||
for _, name := range admins {
|
||||
//line views/stuff.qtpl:193
|
||||
//line views/stuff.qtpl:202
|
||||
qw422016.N().S(`
|
||||
<li><a href="/hypha/`)
|
||||
//line views/stuff.qtpl:194
|
||||
//line views/stuff.qtpl:203
|
||||
qw422016.E().S(cfg.UserHypha)
|
||||
//line views/stuff.qtpl:194
|
||||
//line views/stuff.qtpl:203
|
||||
qw422016.N().S(`/`)
|
||||
//line views/stuff.qtpl:194
|
||||
//line views/stuff.qtpl:203
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:194
|
||||
//line views/stuff.qtpl:203
|
||||
qw422016.N().S(`">`)
|
||||
//line views/stuff.qtpl:194
|
||||
//line views/stuff.qtpl:203
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:194
|
||||
//line views/stuff.qtpl:203
|
||||
qw422016.N().S(`</a></li>
|
||||
`)
|
||||
//line views/stuff.qtpl:195
|
||||
//line views/stuff.qtpl:204
|
||||
}
|
||||
//line views/stuff.qtpl:195
|
||||
//line views/stuff.qtpl:204
|
||||
qw422016.N().S(`</ol>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Moderators</h2>
|
||||
<ol>`)
|
||||
//line views/stuff.qtpl:199
|
||||
//line views/stuff.qtpl:208
|
||||
for _, name := range moderators {
|
||||
//line views/stuff.qtpl:199
|
||||
//line views/stuff.qtpl:208
|
||||
qw422016.N().S(`
|
||||
<li><a href="/hypha/`)
|
||||
//line views/stuff.qtpl:200
|
||||
//line views/stuff.qtpl:209
|
||||
qw422016.E().S(cfg.UserHypha)
|
||||
//line views/stuff.qtpl:200
|
||||
//line views/stuff.qtpl:209
|
||||
qw422016.N().S(`/`)
|
||||
//line views/stuff.qtpl:200
|
||||
//line views/stuff.qtpl:209
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:200
|
||||
//line views/stuff.qtpl:209
|
||||
qw422016.N().S(`">`)
|
||||
//line views/stuff.qtpl:200
|
||||
//line views/stuff.qtpl:209
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:200
|
||||
//line views/stuff.qtpl:209
|
||||
qw422016.N().S(`</a></li>
|
||||
`)
|
||||
//line views/stuff.qtpl:201
|
||||
//line views/stuff.qtpl:210
|
||||
}
|
||||
//line views/stuff.qtpl:201
|
||||
//line views/stuff.qtpl:210
|
||||
qw422016.N().S(`</ol>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Editors</h2>
|
||||
<ol>`)
|
||||
//line views/stuff.qtpl:205
|
||||
//line views/stuff.qtpl:214
|
||||
for _, name := range editors {
|
||||
//line views/stuff.qtpl:205
|
||||
//line views/stuff.qtpl:214
|
||||
qw422016.N().S(`
|
||||
<li><a href="/hypha/`)
|
||||
//line views/stuff.qtpl:206
|
||||
//line views/stuff.qtpl:215
|
||||
qw422016.E().S(cfg.UserHypha)
|
||||
//line views/stuff.qtpl:206
|
||||
//line views/stuff.qtpl:215
|
||||
qw422016.N().S(`/`)
|
||||
//line views/stuff.qtpl:206
|
||||
//line views/stuff.qtpl:215
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:206
|
||||
//line views/stuff.qtpl:215
|
||||
qw422016.N().S(`">`)
|
||||
//line views/stuff.qtpl:206
|
||||
//line views/stuff.qtpl:215
|
||||
qw422016.E().S(name)
|
||||
//line views/stuff.qtpl:206
|
||||
//line views/stuff.qtpl:215
|
||||
qw422016.N().S(`</a></li>
|
||||
`)
|
||||
//line views/stuff.qtpl:207
|
||||
//line views/stuff.qtpl:216
|
||||
}
|
||||
//line views/stuff.qtpl:207
|
||||
//line views/stuff.qtpl:216
|
||||
qw422016.N().S(`</ol>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
`)
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
func WriteUserListHTML(qq422016 qtio422016.Writer) {
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
StreamUserListHTML(qw422016)
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
func UserListHTML() string {
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
WriteUserListHTML(qb422016)
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:211
|
||||
//line views/stuff.qtpl:220
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:213
|
||||
//line views/stuff.qtpl:222
|
||||
func StreamHyphaListHTML(qw422016 *qt422016.Writer) {
|
||||
//line views/stuff.qtpl:213
|
||||
//line views/stuff.qtpl:222
|
||||
qw422016.N().S(`
|
||||
<div class="layout">
|
||||
<main class="main-width">
|
||||
<h1>List of hyphae</h1>
|
||||
<p>This wiki has `)
|
||||
//line views/stuff.qtpl:217
|
||||
//line views/stuff.qtpl:226
|
||||
qw422016.N().D(hyphae.Count())
|
||||
//line views/stuff.qtpl:217
|
||||
//line views/stuff.qtpl:226
|
||||
qw422016.N().S(` hyphae.</p>
|
||||
<ul class="hypha-list">
|
||||
`)
|
||||
//line views/stuff.qtpl:219
|
||||
//line views/stuff.qtpl:228
|
||||
for h := range hyphae.YieldExistingHyphae() {
|
||||
//line views/stuff.qtpl:219
|
||||
//line views/stuff.qtpl:228
|
||||
qw422016.N().S(`
|
||||
<li class="hypha-list__entry">
|
||||
<a class="hypha-list__link" href="/hypha/`)
|
||||
//line views/stuff.qtpl:221
|
||||
//line views/stuff.qtpl:230
|
||||
qw422016.E().S(h.Name)
|
||||
//line views/stuff.qtpl:221
|
||||
//line views/stuff.qtpl:230
|
||||
qw422016.N().S(`">`)
|
||||
//line views/stuff.qtpl:221
|
||||
//line views/stuff.qtpl:230
|
||||
qw422016.E().S(util.BeautifulName(h.Name))
|
||||
//line views/stuff.qtpl:221
|
||||
//line views/stuff.qtpl:230
|
||||
qw422016.N().S(`</a>
|
||||
`)
|
||||
//line views/stuff.qtpl:222
|
||||
//line views/stuff.qtpl:231
|
||||
if h.BinaryPath != "" {
|
||||
//line views/stuff.qtpl:222
|
||||
//line views/stuff.qtpl:231
|
||||
qw422016.N().S(`
|
||||
<span class="hypha-list__amnt-type">`)
|
||||
//line views/stuff.qtpl:223
|
||||
//line views/stuff.qtpl:232
|
||||
qw422016.E().S(filepath.Ext(h.BinaryPath)[1:])
|
||||
//line views/stuff.qtpl:223
|
||||
//line views/stuff.qtpl:232
|
||||
qw422016.N().S(`</span>
|
||||
`)
|
||||
//line views/stuff.qtpl:224
|
||||
//line views/stuff.qtpl:233
|
||||
}
|
||||
//line views/stuff.qtpl:224
|
||||
//line views/stuff.qtpl:233
|
||||
qw422016.N().S(`
|
||||
</li>
|
||||
`)
|
||||
//line views/stuff.qtpl:226
|
||||
//line views/stuff.qtpl:235
|
||||
}
|
||||
//line views/stuff.qtpl:226
|
||||
//line views/stuff.qtpl:235
|
||||
qw422016.N().S(`
|
||||
</ul>
|
||||
</main>
|
||||
</div>
|
||||
`)
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
func WriteHyphaListHTML(qq422016 qtio422016.Writer) {
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
StreamHyphaListHTML(qw422016)
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
func HyphaListHTML() string {
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
WriteHyphaListHTML(qb422016)
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:230
|
||||
//line views/stuff.qtpl:239
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:232
|
||||
//line views/stuff.qtpl:241
|
||||
func StreamAboutHTML(qw422016 *qt422016.Writer) {
|
||||
//line views/stuff.qtpl:232
|
||||
//line views/stuff.qtpl:241
|
||||
qw422016.N().S(`
|
||||
<div class="layout">
|
||||
<main class="main-width">
|
||||
<section>
|
||||
<h1>About `)
|
||||
//line views/stuff.qtpl:236
|
||||
//line views/stuff.qtpl:245
|
||||
qw422016.E().S(cfg.WikiName)
|
||||
//line views/stuff.qtpl:236
|
||||
//line views/stuff.qtpl:245
|
||||
qw422016.N().S(`</h1>
|
||||
<ul>
|
||||
<li><b><a href="https://mycorrhiza.wiki">Mycorrhiza Wiki</a> version:</b> 1.4.0</li>
|
||||
`)
|
||||
//line views/stuff.qtpl:239
|
||||
//line views/stuff.qtpl:248
|
||||
if cfg.UseAuth {
|
||||
//line views/stuff.qtpl:239
|
||||
//line views/stuff.qtpl:248
|
||||
qw422016.N().S(` <li><b>User count:</b> `)
|
||||
//line views/stuff.qtpl:240
|
||||
//line views/stuff.qtpl:249
|
||||
qw422016.N().DUL(user.Count())
|
||||
//line views/stuff.qtpl:240
|
||||
//line views/stuff.qtpl:249
|
||||
qw422016.N().S(`</li>
|
||||
<li><b>Home page:</b> <a href="/">`)
|
||||
//line views/stuff.qtpl:241
|
||||
//line views/stuff.qtpl:250
|
||||
qw422016.E().S(cfg.HomeHypha)
|
||||
//line views/stuff.qtpl:241
|
||||
//line views/stuff.qtpl:250
|
||||
qw422016.N().S(`</a></li>
|
||||
<li><b>Administrators:</b>`)
|
||||
//line views/stuff.qtpl:242
|
||||
//line views/stuff.qtpl:251
|
||||
for i, username := range user.ListUsersWithGroup("admin") {
|
||||
//line views/stuff.qtpl:243
|
||||
//line views/stuff.qtpl:252
|
||||
if i > 0 {
|
||||
//line views/stuff.qtpl:243
|
||||
//line views/stuff.qtpl:252
|
||||
qw422016.N().S(`<span aria-hidden="true">, </span>
|
||||
`)
|
||||
//line views/stuff.qtpl:244
|
||||
//line views/stuff.qtpl:253
|
||||
}
|
||||
//line views/stuff.qtpl:244
|
||||
//line views/stuff.qtpl:253
|
||||
qw422016.N().S(` <a href="/hypha/`)
|
||||
//line views/stuff.qtpl:245
|
||||
//line views/stuff.qtpl:254
|
||||
qw422016.E().S(cfg.UserHypha)
|
||||
//line views/stuff.qtpl:245
|
||||
//line views/stuff.qtpl:254
|
||||
qw422016.N().S(`/`)
|
||||
//line views/stuff.qtpl:245
|
||||
//line views/stuff.qtpl:254
|
||||
qw422016.E().S(username)
|
||||
//line views/stuff.qtpl:245
|
||||
//line views/stuff.qtpl:254
|
||||
qw422016.N().S(`">`)
|
||||
//line views/stuff.qtpl:245
|
||||
//line views/stuff.qtpl:254
|
||||
qw422016.E().S(username)
|
||||
//line views/stuff.qtpl:245
|
||||
//line views/stuff.qtpl:254
|
||||
qw422016.N().S(`</a>`)
|
||||
//line views/stuff.qtpl:245
|
||||
//line views/stuff.qtpl:254
|
||||
}
|
||||
//line views/stuff.qtpl:245
|
||||
//line views/stuff.qtpl:254
|
||||
qw422016.N().S(`</li>
|
||||
`)
|
||||
//line views/stuff.qtpl:246
|
||||
//line views/stuff.qtpl:255
|
||||
} else {
|
||||
//line views/stuff.qtpl:246
|
||||
//line views/stuff.qtpl:255
|
||||
qw422016.N().S(` <li>This wiki does not use authorization</li>
|
||||
`)
|
||||
//line views/stuff.qtpl:248
|
||||
//line views/stuff.qtpl:257
|
||||
}
|
||||
//line views/stuff.qtpl:248
|
||||
//line views/stuff.qtpl:257
|
||||
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:254
|
||||
//line views/stuff.qtpl:263
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
func WriteAboutHTML(qq422016 qtio422016.Writer) {
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
StreamAboutHTML(qw422016)
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
func AboutHTML() string {
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
WriteAboutHTML(qb422016)
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:254
|
||||
//line views/stuff.qtpl:263
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:256
|
||||
//line views/stuff.qtpl:265
|
||||
func StreamCommonScripts(qw422016 *qt422016.Writer) {
|
||||
//line views/stuff.qtpl:256
|
||||
//line views/stuff.qtpl:265
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/stuff.qtpl:257
|
||||
//line views/stuff.qtpl:266
|
||||
for _, scriptPath := range cfg.CommonScripts {
|
||||
//line views/stuff.qtpl:257
|
||||
//line views/stuff.qtpl:266
|
||||
qw422016.N().S(`
|
||||
<script src="`)
|
||||
//line views/stuff.qtpl:258
|
||||
//line views/stuff.qtpl:267
|
||||
qw422016.E().S(scriptPath)
|
||||
//line views/stuff.qtpl:258
|
||||
//line views/stuff.qtpl:267
|
||||
qw422016.N().S(`"></script>
|
||||
`)
|
||||
//line views/stuff.qtpl:259
|
||||
//line views/stuff.qtpl:268
|
||||
}
|
||||
//line views/stuff.qtpl:259
|
||||
//line views/stuff.qtpl:268
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
func WriteCommonScripts(qq422016 qtio422016.Writer) {
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
StreamCommonScripts(qw422016)
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
}
|
||||
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
func CommonScripts() string {
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
WriteCommonScripts(qb422016)
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
return qs422016
|
||||
//line views/stuff.qtpl:260
|
||||
//line views/stuff.qtpl:269
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user