1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2025-01-21 23:56:52 +00:00

Add the search form to the top bar

Also change /primitive-search/ syntax
This commit is contained in:
Timur Ismagilov 2021-07-12 22:01:12 +05:00
parent 532e5d62b2
commit ba0b12a803
4 changed files with 242 additions and 235 deletions

View File

@ -66,6 +66,7 @@ header { width: 100%; margin-bottom: 1rem; }
.hypha-tabs__selection, .hypha-tabs__link { padding: .25rem .5rem; } .hypha-tabs__selection, .hypha-tabs__link { padding: .25rem .5rem; }
.header-links__entry:nth-of-type(1), .hypha-tabs__tab:nth-of-type(1) { margin-left: 2rem; } .header-links__entry:nth-of-type(1), .hypha-tabs__tab:nth-of-type(1) { margin-left: 2rem; }
.header-links__search { margin: 0; }
} }

View File

@ -23,6 +23,9 @@
{%- for _, link := range cfg.HeaderLinks -%} {%- for _, link := range cfg.HeaderLinks -%}
<li class="header-links__entry"><a class="header-links__link" href="{%s link.Href %}">{%s link.Display %}</a></li> <li class="header-links__entry"><a class="header-links__link" href="{%s link.Href %}">{%s link.Display %}</a></li>
{%- endfor -%} {%- endfor -%}
<form class="header-links__entry header-links__search" method="GET" action="/primitive-search">
<input type="text" name="q" placeholder="Title search" class="header-links__search-bar">
</form>
{%s= UserMenuHTML(u) %} {%s= UserMenuHTML(u) %}
</ul> </ul>
</nav> </nav>

View File

@ -80,18 +80,21 @@ func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, u *user.User,
//line views/stuff.qtpl:25 //line views/stuff.qtpl:25
} }
//line views/stuff.qtpl:25 //line views/stuff.qtpl:25
qw422016.N().S(` `) qw422016.N().S(` <form class="header-links__entry header-links__search" method="GET" action="/primitive-search">
//line views/stuff.qtpl:26 <input type="text" name="q" placeholder="Title search">
</form>
`)
//line views/stuff.qtpl:29
qw422016.N().S(UserMenuHTML(u)) qw422016.N().S(UserMenuHTML(u))
//line views/stuff.qtpl:26 //line views/stuff.qtpl:29
qw422016.N().S(` qw422016.N().S(`
</ul> </ul>
</nav> </nav>
</header> </header>
`) `)
//line views/stuff.qtpl:30 //line views/stuff.qtpl:33
qw422016.N().S(body) qw422016.N().S(body)
//line views/stuff.qtpl:30 //line views/stuff.qtpl:33
qw422016.N().S(` qw422016.N().S(`
<template id="dialog-template"> <template id="dialog-template">
<div class="dialog-backdrop"></div> <div class="dialog-backdrop"></div>
@ -105,198 +108,198 @@ func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, u *user.User,
</div> </div>
</template> </template>
`) `)
//line views/stuff.qtpl:42 //line views/stuff.qtpl:45
StreamCommonScripts(qw422016) StreamCommonScripts(qw422016)
//line views/stuff.qtpl:42 //line views/stuff.qtpl:45
qw422016.N().S(` qw422016.N().S(`
</body> </body>
</html> </html>
`) `)
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
} }
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
func WriteBaseHTML(qq422016 qtio422016.Writer, title, body string, u *user.User, headElements ...string) { func WriteBaseHTML(qq422016 qtio422016.Writer, title, body string, u *user.User, headElements ...string) {
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
StreamBaseHTML(qw422016, title, body, u, headElements...) StreamBaseHTML(qw422016, title, body, u, headElements...)
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
} }
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
func BaseHTML(title, body string, u *user.User, headElements ...string) string { func BaseHTML(title, body string, u *user.User, headElements ...string) string {
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
WriteBaseHTML(qb422016, title, body, u, headElements...) WriteBaseHTML(qb422016, title, body, u, headElements...)
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
return qs422016 return qs422016
//line views/stuff.qtpl:45 //line views/stuff.qtpl:48
} }
//line views/stuff.qtpl:47 //line views/stuff.qtpl:50
func StreamPrimitiveSearchHTML(qw422016 *qt422016.Writer, query string, generator func(string) <-chan string) { func StreamPrimitiveSearchHTML(qw422016 *qt422016.Writer, query string, generator func(string) <-chan string) {
//line views/stuff.qtpl:47 //line views/stuff.qtpl:50
qw422016.N().S(` qw422016.N().S(`
<div class="layout"> <div class="layout">
<main class="main-width primitive-search"> <main class="main-width primitive-search">
<h1>Search results for `) <h1>Search results for `)
//line views/stuff.qtpl:50 //line views/stuff.qtpl:53
qw422016.E().S(query) qw422016.E().S(query)
//line views/stuff.qtpl:50 //line views/stuff.qtpl:53
qw422016.N().S(`</h1> qw422016.N().S(`</h1>
<p>Every hypha name has been compared with the query. Hyphae that have matched the query are listed below.</p> <p>Every hypha name has been compared with the query. Hyphae that have matched the query are listed below.</p>
<ul class="primitive-search__results"> <ul class="primitive-search__results">
`) `)
//line views/stuff.qtpl:53 //line views/stuff.qtpl:56
for hyphaName := range generator(query) { for hyphaName := range generator(query) {
//line views/stuff.qtpl:53 //line views/stuff.qtpl:56
qw422016.N().S(` qw422016.N().S(`
<li class="primitive-search__entry"> <li class="primitive-search__entry">
<a class="primitive-search__link wikilink" href="/hypha/`) <a class="primitive-search__link wikilink" href="/hypha/`)
//line views/stuff.qtpl:55 //line views/stuff.qtpl:58
qw422016.E().S(hyphaName) qw422016.E().S(hyphaName)
//line views/stuff.qtpl:55 //line views/stuff.qtpl:58
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:55 //line views/stuff.qtpl:58
qw422016.E().S(util.BeautifulName(hyphaName)) qw422016.E().S(util.BeautifulName(hyphaName))
//line views/stuff.qtpl:55 //line views/stuff.qtpl:58
qw422016.N().S(`</a> qw422016.N().S(`</a>
</li> </li>
`) `)
//line views/stuff.qtpl:57 //line views/stuff.qtpl:60
} }
//line views/stuff.qtpl:57 //line views/stuff.qtpl:60
qw422016.N().S(` qw422016.N().S(`
</main> </main>
</div> </div>
`) `)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
} }
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
func WritePrimitiveSearchHTML(qq422016 qtio422016.Writer, query string, generator func(string) <-chan string) { func WritePrimitiveSearchHTML(qq422016 qtio422016.Writer, query string, generator func(string) <-chan string) {
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
StreamPrimitiveSearchHTML(qw422016, query, generator) StreamPrimitiveSearchHTML(qw422016, query, generator)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
} }
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
func PrimitiveSearchHTML(query string, generator func(string) <-chan string) string { func PrimitiveSearchHTML(query string, generator func(string) <-chan string) string {
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
WritePrimitiveSearchHTML(qb422016, query, generator) WritePrimitiveSearchHTML(qb422016, query, generator)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
return qs422016 return qs422016
//line views/stuff.qtpl:60 //line views/stuff.qtpl:63
} }
//line views/stuff.qtpl:62 //line views/stuff.qtpl:65
func StreamHelpHTML(qw422016 *qt422016.Writer, content string) { func StreamHelpHTML(qw422016 *qt422016.Writer, content string) {
//line views/stuff.qtpl:62 //line views/stuff.qtpl:65
qw422016.N().S(` qw422016.N().S(`
<div class="layout"> <div class="layout">
<main class="main-width help"> <main class="main-width help">
<article> <article>
`) `)
//line views/stuff.qtpl:66 //line views/stuff.qtpl:69
qw422016.N().S(content) qw422016.N().S(content)
//line views/stuff.qtpl:66 //line views/stuff.qtpl:69
qw422016.N().S(` qw422016.N().S(`
</article> </article>
</main> </main>
`) `)
//line views/stuff.qtpl:69 //line views/stuff.qtpl:72
qw422016.N().S(helpTopicsHTML()) qw422016.N().S(helpTopicsHTML())
//line views/stuff.qtpl:69 //line views/stuff.qtpl:72
qw422016.N().S(` qw422016.N().S(`
</div> </div>
`) `)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
} }
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
func WriteHelpHTML(qq422016 qtio422016.Writer, content string) { func WriteHelpHTML(qq422016 qtio422016.Writer, content string) {
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
StreamHelpHTML(qw422016, content) StreamHelpHTML(qw422016, content)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
} }
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
func HelpHTML(content string) string { func HelpHTML(content string) string {
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
WriteHelpHTML(qb422016, content) WriteHelpHTML(qb422016, content)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
return qs422016 return qs422016
//line views/stuff.qtpl:71 //line views/stuff.qtpl:74
} }
//line views/stuff.qtpl:73 //line views/stuff.qtpl:76
func StreamHelpEmptyErrorHTML(qw422016 *qt422016.Writer) { func StreamHelpEmptyErrorHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:73 //line views/stuff.qtpl:76
qw422016.N().S(` qw422016.N().S(`
<h1>This entry does not exist!</h1> <h1>This entry does not exist!</h1>
<p>Try finding a different entry that would help you.</p> <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> <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:77 //line views/stuff.qtpl:80
} }
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
func WriteHelpEmptyErrorHTML(qq422016 qtio422016.Writer) { func WriteHelpEmptyErrorHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
StreamHelpEmptyErrorHTML(qw422016) StreamHelpEmptyErrorHTML(qw422016)
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
} }
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
func HelpEmptyErrorHTML() string { func HelpEmptyErrorHTML() string {
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
WriteHelpEmptyErrorHTML(qb422016) WriteHelpEmptyErrorHTML(qb422016)
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
return qs422016 return qs422016
//line views/stuff.qtpl:77 //line views/stuff.qtpl:80
} }
//line views/stuff.qtpl:79 //line views/stuff.qtpl:82
func streamhelpTopicsHTML(qw422016 *qt422016.Writer) { func streamhelpTopicsHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:79 //line views/stuff.qtpl:82
qw422016.N().S(` qw422016.N().S(`
<aside class="help-topics layout-card"> <aside class="help-topics layout-card">
<h2 class="layout-card__title">Help topics</h2> <h2 class="layout-card__title">Help topics</h2>
@ -315,44 +318,44 @@ func streamhelpTopicsHTML(qw422016 *qt422016.Writer) {
</ul> </ul>
</aside> </aside>
`) `)
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
} }
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
func writehelpTopicsHTML(qq422016 qtio422016.Writer) { func writehelpTopicsHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
streamhelpTopicsHTML(qw422016) streamhelpTopicsHTML(qw422016)
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
} }
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
func helpTopicsHTML() string { func helpTopicsHTML() string {
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
writehelpTopicsHTML(qb422016) writehelpTopicsHTML(qb422016)
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
return qs422016 return qs422016
//line views/stuff.qtpl:96 //line views/stuff.qtpl:99
} }
//line views/stuff.qtpl:98 //line views/stuff.qtpl:101
func StreamUserListHTML(qw422016 *qt422016.Writer) { func StreamUserListHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:98 //line views/stuff.qtpl:101
qw422016.N().S(` qw422016.N().S(`
<div class="layout"> <div class="layout">
<main class="main-width user-list"> <main class="main-width user-list">
<h1>List of users</h1> <h1>List of users</h1>
`) `)
//line views/stuff.qtpl:103 //line views/stuff.qtpl:106
var ( var (
admins = make([]string, 0) admins = make([]string, 0)
moderators = make([]string, 0) moderators = make([]string, 0)
@ -369,345 +372,345 @@ func StreamUserListHTML(qw422016 *qt422016.Writer) {
} }
} }
//line views/stuff.qtpl:118 //line views/stuff.qtpl:121
qw422016.N().S(` qw422016.N().S(`
<section> <section>
<h2>Admins</h2> <h2>Admins</h2>
<ol>`) <ol>`)
//line views/stuff.qtpl:121 //line views/stuff.qtpl:124
for _, name := range admins { for _, name := range admins {
//line views/stuff.qtpl:121 //line views/stuff.qtpl:124
qw422016.N().S(` qw422016.N().S(`
<li><a href="/hypha/`) <li><a href="/hypha/`)
//line views/stuff.qtpl:122 //line views/stuff.qtpl:125
qw422016.E().S(cfg.UserHypha) qw422016.E().S(cfg.UserHypha)
//line views/stuff.qtpl:122 //line views/stuff.qtpl:125
qw422016.N().S(`/`) qw422016.N().S(`/`)
//line views/stuff.qtpl:122 //line views/stuff.qtpl:125
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:122 //line views/stuff.qtpl:125
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:122 //line views/stuff.qtpl:125
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:122 //line views/stuff.qtpl:125
qw422016.N().S(`</a></li> qw422016.N().S(`</a></li>
`) `)
//line views/stuff.qtpl:123 //line views/stuff.qtpl:126
} }
//line views/stuff.qtpl:123 //line views/stuff.qtpl:126
qw422016.N().S(`</ol> qw422016.N().S(`</ol>
</section> </section>
<section> <section>
<h2>Moderators</h2> <h2>Moderators</h2>
<ol>`) <ol>`)
//line views/stuff.qtpl:127 //line views/stuff.qtpl:130
for _, name := range moderators { for _, name := range moderators {
//line views/stuff.qtpl:127 //line views/stuff.qtpl:130
qw422016.N().S(` qw422016.N().S(`
<li><a href="/hypha/`) <li><a href="/hypha/`)
//line views/stuff.qtpl:128 //line views/stuff.qtpl:131
qw422016.E().S(cfg.UserHypha) qw422016.E().S(cfg.UserHypha)
//line views/stuff.qtpl:128 //line views/stuff.qtpl:131
qw422016.N().S(`/`) qw422016.N().S(`/`)
//line views/stuff.qtpl:128 //line views/stuff.qtpl:131
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:128 //line views/stuff.qtpl:131
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:128 //line views/stuff.qtpl:131
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:128 //line views/stuff.qtpl:131
qw422016.N().S(`</a></li> qw422016.N().S(`</a></li>
`) `)
//line views/stuff.qtpl:129 //line views/stuff.qtpl:132
} }
//line views/stuff.qtpl:129 //line views/stuff.qtpl:132
qw422016.N().S(`</ol> qw422016.N().S(`</ol>
</section> </section>
<section> <section>
<h2>Editors</h2> <h2>Editors</h2>
<ol>`) <ol>`)
//line views/stuff.qtpl:133 //line views/stuff.qtpl:136
for _, name := range editors { for _, name := range editors {
//line views/stuff.qtpl:133 //line views/stuff.qtpl:136
qw422016.N().S(` qw422016.N().S(`
<li><a href="/hypha/`) <li><a href="/hypha/`)
//line views/stuff.qtpl:134 //line views/stuff.qtpl:137
qw422016.E().S(cfg.UserHypha) qw422016.E().S(cfg.UserHypha)
//line views/stuff.qtpl:134 //line views/stuff.qtpl:137
qw422016.N().S(`/`) qw422016.N().S(`/`)
//line views/stuff.qtpl:134 //line views/stuff.qtpl:137
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:134 //line views/stuff.qtpl:137
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:134 //line views/stuff.qtpl:137
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:134 //line views/stuff.qtpl:137
qw422016.N().S(`</a></li> qw422016.N().S(`</a></li>
`) `)
//line views/stuff.qtpl:135 //line views/stuff.qtpl:138
} }
//line views/stuff.qtpl:135 //line views/stuff.qtpl:138
qw422016.N().S(`</ol> qw422016.N().S(`</ol>
</section> </section>
</main> </main>
</div> </div>
`) `)
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
} }
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
func WriteUserListHTML(qq422016 qtio422016.Writer) { func WriteUserListHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
StreamUserListHTML(qw422016) StreamUserListHTML(qw422016)
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
} }
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
func UserListHTML() string { func UserListHTML() string {
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
WriteUserListHTML(qb422016) WriteUserListHTML(qb422016)
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
return qs422016 return qs422016
//line views/stuff.qtpl:139 //line views/stuff.qtpl:142
} }
//line views/stuff.qtpl:141 //line views/stuff.qtpl:144
func StreamHyphaListHTML(qw422016 *qt422016.Writer) { func StreamHyphaListHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:141 //line views/stuff.qtpl:144
qw422016.N().S(` qw422016.N().S(`
<div class="layout"> <div class="layout">
<main class="main-width"> <main class="main-width">
<h1>List of hyphae</h1> <h1>List of hyphae</h1>
<p>This wiki has `) <p>This wiki has `)
//line views/stuff.qtpl:145 //line views/stuff.qtpl:148
qw422016.N().D(hyphae.Count()) qw422016.N().D(hyphae.Count())
//line views/stuff.qtpl:145 //line views/stuff.qtpl:148
qw422016.N().S(` hyphae.</p> qw422016.N().S(` hyphae.</p>
<ul class="hypha-list"> <ul class="hypha-list">
`) `)
//line views/stuff.qtpl:147 //line views/stuff.qtpl:150
for h := range hyphae.YieldExistingHyphae() { for h := range hyphae.YieldExistingHyphae() {
//line views/stuff.qtpl:147 //line views/stuff.qtpl:150
qw422016.N().S(` qw422016.N().S(`
<li class="hypha-list__entry"> <li class="hypha-list__entry">
<a class="hypha-list__link" href="/hypha/`) <a class="hypha-list__link" href="/hypha/`)
//line views/stuff.qtpl:149 //line views/stuff.qtpl:152
qw422016.E().S(h.Name) qw422016.E().S(h.Name)
//line views/stuff.qtpl:149 //line views/stuff.qtpl:152
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:149 //line views/stuff.qtpl:152
qw422016.E().S(util.BeautifulName(h.Name)) qw422016.E().S(util.BeautifulName(h.Name))
//line views/stuff.qtpl:149 //line views/stuff.qtpl:152
qw422016.N().S(`</a> qw422016.N().S(`</a>
`) `)
//line views/stuff.qtpl:150 //line views/stuff.qtpl:153
if h.BinaryPath != "" { if h.BinaryPath != "" {
//line views/stuff.qtpl:150 //line views/stuff.qtpl:153
qw422016.N().S(` qw422016.N().S(`
<span class="hypha-list__amnt-type">`) <span class="hypha-list__amnt-type">`)
//line views/stuff.qtpl:151 //line views/stuff.qtpl:154
qw422016.E().S(filepath.Ext(h.BinaryPath)[1:]) qw422016.E().S(filepath.Ext(h.BinaryPath)[1:])
//line views/stuff.qtpl:151 //line views/stuff.qtpl:154
qw422016.N().S(`</span> qw422016.N().S(`</span>
`) `)
//line views/stuff.qtpl:152 //line views/stuff.qtpl:155
} }
//line views/stuff.qtpl:152 //line views/stuff.qtpl:155
qw422016.N().S(` qw422016.N().S(`
</li> </li>
`) `)
//line views/stuff.qtpl:154 //line views/stuff.qtpl:157
} }
//line views/stuff.qtpl:154 //line views/stuff.qtpl:157
qw422016.N().S(` qw422016.N().S(`
</ul> </ul>
</main> </main>
</div> </div>
`) `)
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
} }
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
func WriteHyphaListHTML(qq422016 qtio422016.Writer) { func WriteHyphaListHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
StreamHyphaListHTML(qw422016) StreamHyphaListHTML(qw422016)
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
} }
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
func HyphaListHTML() string { func HyphaListHTML() string {
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
WriteHyphaListHTML(qb422016) WriteHyphaListHTML(qb422016)
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
return qs422016 return qs422016
//line views/stuff.qtpl:158 //line views/stuff.qtpl:161
} }
//line views/stuff.qtpl:160 //line views/stuff.qtpl:163
func StreamAboutHTML(qw422016 *qt422016.Writer) { func StreamAboutHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:160 //line views/stuff.qtpl:163
qw422016.N().S(` qw422016.N().S(`
<div class="layout"> <div class="layout">
<main class="main-width"> <main class="main-width">
<section> <section>
<h1>About `) <h1>About `)
//line views/stuff.qtpl:164 //line views/stuff.qtpl:167
qw422016.E().S(cfg.WikiName) qw422016.E().S(cfg.WikiName)
//line views/stuff.qtpl:164 //line views/stuff.qtpl:167
qw422016.N().S(`</h1> qw422016.N().S(`</h1>
<ul> <ul>
<li><b><a href="https://mycorrhiza.wiki">Mycorrhiza Wiki</a> version:</b> 1.3.0</li> <li><b><a href="https://mycorrhiza.wiki">Mycorrhiza Wiki</a> version:</b> 1.3.0</li>
`) `)
//line views/stuff.qtpl:167 //line views/stuff.qtpl:170
if cfg.UseAuth { if cfg.UseAuth {
//line views/stuff.qtpl:167 //line views/stuff.qtpl:170
qw422016.N().S(` <li><b>User count:</b> `) qw422016.N().S(` <li><b>User count:</b> `)
//line views/stuff.qtpl:168 //line views/stuff.qtpl:171
qw422016.N().DUL(user.Count()) qw422016.N().DUL(user.Count())
//line views/stuff.qtpl:168 //line views/stuff.qtpl:171
qw422016.N().S(`</li> qw422016.N().S(`</li>
<li><b>Home page:</b> <a href="/">`) <li><b>Home page:</b> <a href="/">`)
//line views/stuff.qtpl:169 //line views/stuff.qtpl:172
qw422016.E().S(cfg.HomeHypha) qw422016.E().S(cfg.HomeHypha)
//line views/stuff.qtpl:169 //line views/stuff.qtpl:172
qw422016.N().S(`</a></li> qw422016.N().S(`</a></li>
<li><b>Administrators:</b>`) <li><b>Administrators:</b>`)
//line views/stuff.qtpl:170 //line views/stuff.qtpl:173
for i, username := range user.ListUsersWithGroup("admin") { for i, username := range user.ListUsersWithGroup("admin") {
//line views/stuff.qtpl:171 //line views/stuff.qtpl:174
if i > 0 { if i > 0 {
//line views/stuff.qtpl:171 //line views/stuff.qtpl:174
qw422016.N().S(`<span aria-hidden="true">, </span> qw422016.N().S(`<span aria-hidden="true">, </span>
`) `)
//line views/stuff.qtpl:172 //line views/stuff.qtpl:175
} }
//line views/stuff.qtpl:172 //line views/stuff.qtpl:175
qw422016.N().S(` <a href="/hypha/`) qw422016.N().S(` <a href="/hypha/`)
//line views/stuff.qtpl:173 //line views/stuff.qtpl:176
qw422016.E().S(cfg.UserHypha) qw422016.E().S(cfg.UserHypha)
//line views/stuff.qtpl:173 //line views/stuff.qtpl:176
qw422016.N().S(`/`) qw422016.N().S(`/`)
//line views/stuff.qtpl:173 //line views/stuff.qtpl:176
qw422016.E().S(username) qw422016.E().S(username)
//line views/stuff.qtpl:173 //line views/stuff.qtpl:176
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:173 //line views/stuff.qtpl:176
qw422016.E().S(username) qw422016.E().S(username)
//line views/stuff.qtpl:173 //line views/stuff.qtpl:176
qw422016.N().S(`</a>`) qw422016.N().S(`</a>`)
//line views/stuff.qtpl:173 //line views/stuff.qtpl:176
} }
//line views/stuff.qtpl:173 //line views/stuff.qtpl:176
qw422016.N().S(`</li> qw422016.N().S(`</li>
`) `)
//line views/stuff.qtpl:174 //line views/stuff.qtpl:177
} else { } else {
//line views/stuff.qtpl:174 //line views/stuff.qtpl:177
qw422016.N().S(` <li>This wiki does not use authorization</li> qw422016.N().S(` <li>This wiki does not use authorization</li>
`) `)
//line views/stuff.qtpl:176 //line views/stuff.qtpl:179
} }
//line views/stuff.qtpl:176 //line views/stuff.qtpl:179
qw422016.N().S(` </ul> qw422016.N().S(` </ul>
<p>See <a href="/list">/list</a> for information about hyphae on this wiki.</p> <p>See <a href="/list">/list</a> for information about hyphae on this wiki.</p>
</section> </section>
</main> </main>
</div> </div>
`) `)
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
} }
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
func WriteAboutHTML(qq422016 qtio422016.Writer) { func WriteAboutHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
StreamAboutHTML(qw422016) StreamAboutHTML(qw422016)
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
} }
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
func AboutHTML() string { func AboutHTML() string {
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
WriteAboutHTML(qb422016) WriteAboutHTML(qb422016)
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
return qs422016 return qs422016
//line views/stuff.qtpl:182 //line views/stuff.qtpl:185
} }
//line views/stuff.qtpl:184 //line views/stuff.qtpl:187
func StreamCommonScripts(qw422016 *qt422016.Writer) { func StreamCommonScripts(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:184 //line views/stuff.qtpl:187
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/stuff.qtpl:185 //line views/stuff.qtpl:188
for _, scriptPath := range cfg.CommonScripts { for _, scriptPath := range cfg.CommonScripts {
//line views/stuff.qtpl:185 //line views/stuff.qtpl:188
qw422016.N().S(` qw422016.N().S(`
<script src="`) <script src="`)
//line views/stuff.qtpl:186 //line views/stuff.qtpl:189
qw422016.E().S(scriptPath) qw422016.E().S(scriptPath)
//line views/stuff.qtpl:186 //line views/stuff.qtpl:189
qw422016.N().S(`"></script> qw422016.N().S(`"></script>
`) `)
//line views/stuff.qtpl:187 //line views/stuff.qtpl:190
} }
//line views/stuff.qtpl:187 //line views/stuff.qtpl:190
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
} }
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
func WriteCommonScripts(qq422016 qtio422016.Writer) { func WriteCommonScripts(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
StreamCommonScripts(qw422016) StreamCommonScripts(qw422016)
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
} }
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
func CommonScripts() string { func CommonScripts() string {
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
WriteCommonScripts(qb422016) WriteCommonScripts(qb422016)
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
return qs422016 return qs422016
//line views/stuff.qtpl:188 //line views/stuff.qtpl:191
} }

View File

@ -16,9 +16,9 @@ func initSearch() {
func handlerPrimitiveSearch(w http.ResponseWriter, rq *http.Request) { func handlerPrimitiveSearch(w http.ResponseWriter, rq *http.Request) {
util.PrepareRq(rq) util.PrepareRq(rq)
_ = rq.ParseForm()
var ( var (
// It just so happened that this function does what we need! Sorry for party rocking. query = rq.FormValue("q")
query = util.HyphaNameFromRq(rq, "primitive-search")
u = user.FromRequest(rq) u = user.FromRequest(rq)
) )
_, _ = io.WriteString( _, _ = io.WriteString(