mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2025-03-27 05:47:04 +00:00
Add /title-search-json/
Can be used for for external searching chat bots
This commit is contained in:
parent
66a8296756
commit
901494a70e
@ -64,6 +64,26 @@
|
|||||||
</div>
|
</div>
|
||||||
{% endfunc %}
|
{% endfunc %}
|
||||||
|
|
||||||
|
It outputs a poorly formatted JSON, but it works and is valid.
|
||||||
|
{% func TitleSearchJSON(query string, generator func(string) <-chan string) %}
|
||||||
|
{% code
|
||||||
|
// Lol
|
||||||
|
counter := 0
|
||||||
|
%}
|
||||||
|
{
|
||||||
|
"source_query": "{%s query %}",
|
||||||
|
"results": [
|
||||||
|
{% for hyphaName := range generator(query) %}
|
||||||
|
{% if counter > 0 %}, {% endif %}{
|
||||||
|
"canonical_name": "{%s hyphaName %}",
|
||||||
|
"beautiful_name": "{%s util.BeautifulName(hyphaName) %}",
|
||||||
|
"url": "{%s cfg.URL + "/hypha/" + hyphaName %}"
|
||||||
|
}{% code counter++ %}
|
||||||
|
{% endfor %}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
{% endfunc %}
|
||||||
|
|
||||||
{% func HelpHTML(content string) %}
|
{% func HelpHTML(content string) %}
|
||||||
<div class="layout">
|
<div class="layout">
|
||||||
<main class="main-width help">
|
<main class="main-width help">
|
||||||
|
@ -212,96 +212,188 @@ func TitleSearchHTML(query string, generator func(string) <-chan string) string
|
|||||||
//line views/stuff.qtpl:65
|
//line views/stuff.qtpl:65
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:67
|
// It outputs a poorly formatted JSON, but it works and is valid.
|
||||||
|
|
||||||
|
//line views/stuff.qtpl:68
|
||||||
|
func StreamTitleSearchJSON(qw422016 *qt422016.Writer, query string, generator func(string) <-chan string) {
|
||||||
|
//line views/stuff.qtpl:68
|
||||||
|
qw422016.N().S(`
|
||||||
|
`)
|
||||||
|
//line views/stuff.qtpl:70
|
||||||
|
// Lol
|
||||||
|
counter := 0
|
||||||
|
|
||||||
|
//line views/stuff.qtpl:72
|
||||||
|
qw422016.N().S(`
|
||||||
|
{
|
||||||
|
"source_query": "`)
|
||||||
|
//line views/stuff.qtpl:74
|
||||||
|
qw422016.E().S(query)
|
||||||
|
//line views/stuff.qtpl:74
|
||||||
|
qw422016.N().S(`",
|
||||||
|
"results": [
|
||||||
|
`)
|
||||||
|
//line views/stuff.qtpl:76
|
||||||
|
for hyphaName := range generator(query) {
|
||||||
|
//line views/stuff.qtpl:76
|
||||||
|
qw422016.N().S(`
|
||||||
|
`)
|
||||||
|
//line views/stuff.qtpl:77
|
||||||
|
if counter > 0 {
|
||||||
|
//line views/stuff.qtpl:77
|
||||||
|
qw422016.N().S(`, `)
|
||||||
|
//line views/stuff.qtpl:77
|
||||||
|
}
|
||||||
|
//line views/stuff.qtpl:77
|
||||||
|
qw422016.N().S(`{
|
||||||
|
"canonical_name": "`)
|
||||||
|
//line views/stuff.qtpl:78
|
||||||
|
qw422016.E().S(hyphaName)
|
||||||
|
//line views/stuff.qtpl:78
|
||||||
|
qw422016.N().S(`",
|
||||||
|
"beautiful_name": "`)
|
||||||
|
//line views/stuff.qtpl:79
|
||||||
|
qw422016.E().S(util.BeautifulName(hyphaName))
|
||||||
|
//line views/stuff.qtpl:79
|
||||||
|
qw422016.N().S(`",
|
||||||
|
"url": "`)
|
||||||
|
//line views/stuff.qtpl:80
|
||||||
|
qw422016.E().S(cfg.URL + "/hypha/" + hyphaName)
|
||||||
|
//line views/stuff.qtpl:80
|
||||||
|
qw422016.N().S(`"
|
||||||
|
}`)
|
||||||
|
//line views/stuff.qtpl:81
|
||||||
|
counter++
|
||||||
|
|
||||||
|
//line views/stuff.qtpl:81
|
||||||
|
qw422016.N().S(`
|
||||||
|
`)
|
||||||
|
//line views/stuff.qtpl:82
|
||||||
|
}
|
||||||
|
//line views/stuff.qtpl:82
|
||||||
|
qw422016.N().S(`
|
||||||
|
]
|
||||||
|
}
|
||||||
|
`)
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
}
|
||||||
|
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
func WriteTitleSearchJSON(qq422016 qtio422016.Writer, query string, generator func(string) <-chan string) {
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
StreamTitleSearchJSON(qw422016, query, generator)
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
qt422016.ReleaseWriter(qw422016)
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
}
|
||||||
|
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
func TitleSearchJSON(query string, generator func(string) <-chan string) string {
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
WriteTitleSearchJSON(qb422016, query, generator)
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
qs422016 := string(qb422016.B)
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
return qs422016
|
||||||
|
//line views/stuff.qtpl:85
|
||||||
|
}
|
||||||
|
|
||||||
|
//line views/stuff.qtpl:87
|
||||||
func StreamHelpHTML(qw422016 *qt422016.Writer, content string) {
|
func StreamHelpHTML(qw422016 *qt422016.Writer, content string) {
|
||||||
//line views/stuff.qtpl:67
|
//line views/stuff.qtpl:87
|
||||||
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:71
|
//line views/stuff.qtpl:91
|
||||||
qw422016.N().S(content)
|
qw422016.N().S(content)
|
||||||
//line views/stuff.qtpl:71
|
//line views/stuff.qtpl:91
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:74
|
//line views/stuff.qtpl:94
|
||||||
qw422016.N().S(helpTopicsHTML())
|
qw422016.N().S(helpTopicsHTML())
|
||||||
//line views/stuff.qtpl:74
|
//line views/stuff.qtpl:94
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</div>
|
</div>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
func WriteHelpHTML(qq422016 qtio422016.Writer, content string) {
|
func WriteHelpHTML(qq422016 qtio422016.Writer, content string) {
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
StreamHelpHTML(qw422016, content)
|
StreamHelpHTML(qw422016, content)
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
func HelpHTML(content string) string {
|
func HelpHTML(content string) string {
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
WriteHelpHTML(qb422016, content)
|
WriteHelpHTML(qb422016, content)
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
return qs422016
|
return qs422016
|
||||||
//line views/stuff.qtpl:76
|
//line views/stuff.qtpl:96
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:78
|
//line views/stuff.qtpl:98
|
||||||
func StreamHelpEmptyErrorHTML(qw422016 *qt422016.Writer) {
|
func StreamHelpEmptyErrorHTML(qw422016 *qt422016.Writer) {
|
||||||
//line views/stuff.qtpl:78
|
//line views/stuff.qtpl:98
|
||||||
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:82
|
//line views/stuff.qtpl:102
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
func WriteHelpEmptyErrorHTML(qq422016 qtio422016.Writer) {
|
func WriteHelpEmptyErrorHTML(qq422016 qtio422016.Writer) {
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
StreamHelpEmptyErrorHTML(qw422016)
|
StreamHelpEmptyErrorHTML(qw422016)
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
func HelpEmptyErrorHTML() string {
|
func HelpEmptyErrorHTML() string {
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
WriteHelpEmptyErrorHTML(qb422016)
|
WriteHelpEmptyErrorHTML(qb422016)
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
return qs422016
|
return qs422016
|
||||||
//line views/stuff.qtpl:82
|
//line views/stuff.qtpl:102
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:84
|
//line views/stuff.qtpl:104
|
||||||
func streamhelpTopicsHTML(qw422016 *qt422016.Writer) {
|
func streamhelpTopicsHTML(qw422016 *qt422016.Writer) {
|
||||||
//line views/stuff.qtpl:84
|
//line views/stuff.qtpl:104
|
||||||
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>
|
||||||
@ -320,44 +412,44 @@ func streamhelpTopicsHTML(qw422016 *qt422016.Writer) {
|
|||||||
</ul>
|
</ul>
|
||||||
</aside>
|
</aside>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
func writehelpTopicsHTML(qq422016 qtio422016.Writer) {
|
func writehelpTopicsHTML(qq422016 qtio422016.Writer) {
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
streamhelpTopicsHTML(qw422016)
|
streamhelpTopicsHTML(qw422016)
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
func helpTopicsHTML() string {
|
func helpTopicsHTML() string {
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
writehelpTopicsHTML(qb422016)
|
writehelpTopicsHTML(qb422016)
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
return qs422016
|
return qs422016
|
||||||
//line views/stuff.qtpl:101
|
//line views/stuff.qtpl:121
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:103
|
//line views/stuff.qtpl:123
|
||||||
func StreamUserListHTML(qw422016 *qt422016.Writer) {
|
func StreamUserListHTML(qw422016 *qt422016.Writer) {
|
||||||
//line views/stuff.qtpl:103
|
//line views/stuff.qtpl:123
|
||||||
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:108
|
//line views/stuff.qtpl:128
|
||||||
var (
|
var (
|
||||||
admins = make([]string, 0)
|
admins = make([]string, 0)
|
||||||
moderators = make([]string, 0)
|
moderators = make([]string, 0)
|
||||||
@ -374,345 +466,345 @@ func StreamUserListHTML(qw422016 *qt422016.Writer) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:123
|
//line views/stuff.qtpl:143
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<section>
|
<section>
|
||||||
<h2>Admins</h2>
|
<h2>Admins</h2>
|
||||||
<ol>`)
|
<ol>`)
|
||||||
//line views/stuff.qtpl:126
|
//line views/stuff.qtpl:146
|
||||||
for _, name := range admins {
|
for _, name := range admins {
|
||||||
//line views/stuff.qtpl:126
|
//line views/stuff.qtpl:146
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<li><a href="/hypha/`)
|
<li><a href="/hypha/`)
|
||||||
//line views/stuff.qtpl:127
|
//line views/stuff.qtpl:147
|
||||||
qw422016.E().S(cfg.UserHypha)
|
qw422016.E().S(cfg.UserHypha)
|
||||||
//line views/stuff.qtpl:127
|
//line views/stuff.qtpl:147
|
||||||
qw422016.N().S(`/`)
|
qw422016.N().S(`/`)
|
||||||
//line views/stuff.qtpl:127
|
//line views/stuff.qtpl:147
|
||||||
qw422016.E().S(name)
|
qw422016.E().S(name)
|
||||||
//line views/stuff.qtpl:127
|
//line views/stuff.qtpl:147
|
||||||
qw422016.N().S(`">`)
|
qw422016.N().S(`">`)
|
||||||
//line views/stuff.qtpl:127
|
//line views/stuff.qtpl:147
|
||||||
qw422016.E().S(name)
|
qw422016.E().S(name)
|
||||||
//line views/stuff.qtpl:127
|
//line views/stuff.qtpl:147
|
||||||
qw422016.N().S(`</a></li>
|
qw422016.N().S(`</a></li>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:128
|
//line views/stuff.qtpl:148
|
||||||
}
|
}
|
||||||
//line views/stuff.qtpl:128
|
//line views/stuff.qtpl:148
|
||||||
qw422016.N().S(`</ol>
|
qw422016.N().S(`</ol>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h2>Moderators</h2>
|
<h2>Moderators</h2>
|
||||||
<ol>`)
|
<ol>`)
|
||||||
//line views/stuff.qtpl:132
|
//line views/stuff.qtpl:152
|
||||||
for _, name := range moderators {
|
for _, name := range moderators {
|
||||||
//line views/stuff.qtpl:132
|
//line views/stuff.qtpl:152
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<li><a href="/hypha/`)
|
<li><a href="/hypha/`)
|
||||||
//line views/stuff.qtpl:133
|
//line views/stuff.qtpl:153
|
||||||
qw422016.E().S(cfg.UserHypha)
|
qw422016.E().S(cfg.UserHypha)
|
||||||
//line views/stuff.qtpl:133
|
//line views/stuff.qtpl:153
|
||||||
qw422016.N().S(`/`)
|
qw422016.N().S(`/`)
|
||||||
//line views/stuff.qtpl:133
|
//line views/stuff.qtpl:153
|
||||||
qw422016.E().S(name)
|
qw422016.E().S(name)
|
||||||
//line views/stuff.qtpl:133
|
//line views/stuff.qtpl:153
|
||||||
qw422016.N().S(`">`)
|
qw422016.N().S(`">`)
|
||||||
//line views/stuff.qtpl:133
|
//line views/stuff.qtpl:153
|
||||||
qw422016.E().S(name)
|
qw422016.E().S(name)
|
||||||
//line views/stuff.qtpl:133
|
//line views/stuff.qtpl:153
|
||||||
qw422016.N().S(`</a></li>
|
qw422016.N().S(`</a></li>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:134
|
//line views/stuff.qtpl:154
|
||||||
}
|
}
|
||||||
//line views/stuff.qtpl:134
|
//line views/stuff.qtpl:154
|
||||||
qw422016.N().S(`</ol>
|
qw422016.N().S(`</ol>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<h2>Editors</h2>
|
<h2>Editors</h2>
|
||||||
<ol>`)
|
<ol>`)
|
||||||
//line views/stuff.qtpl:138
|
//line views/stuff.qtpl:158
|
||||||
for _, name := range editors {
|
for _, name := range editors {
|
||||||
//line views/stuff.qtpl:138
|
//line views/stuff.qtpl:158
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<li><a href="/hypha/`)
|
<li><a href="/hypha/`)
|
||||||
//line views/stuff.qtpl:139
|
//line views/stuff.qtpl:159
|
||||||
qw422016.E().S(cfg.UserHypha)
|
qw422016.E().S(cfg.UserHypha)
|
||||||
//line views/stuff.qtpl:139
|
//line views/stuff.qtpl:159
|
||||||
qw422016.N().S(`/`)
|
qw422016.N().S(`/`)
|
||||||
//line views/stuff.qtpl:139
|
//line views/stuff.qtpl:159
|
||||||
qw422016.E().S(name)
|
qw422016.E().S(name)
|
||||||
//line views/stuff.qtpl:139
|
//line views/stuff.qtpl:159
|
||||||
qw422016.N().S(`">`)
|
qw422016.N().S(`">`)
|
||||||
//line views/stuff.qtpl:139
|
//line views/stuff.qtpl:159
|
||||||
qw422016.E().S(name)
|
qw422016.E().S(name)
|
||||||
//line views/stuff.qtpl:139
|
//line views/stuff.qtpl:159
|
||||||
qw422016.N().S(`</a></li>
|
qw422016.N().S(`</a></li>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:140
|
//line views/stuff.qtpl:160
|
||||||
}
|
}
|
||||||
//line views/stuff.qtpl:140
|
//line views/stuff.qtpl:160
|
||||||
qw422016.N().S(`</ol>
|
qw422016.N().S(`</ol>
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
func WriteUserListHTML(qq422016 qtio422016.Writer) {
|
func WriteUserListHTML(qq422016 qtio422016.Writer) {
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
StreamUserListHTML(qw422016)
|
StreamUserListHTML(qw422016)
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
func UserListHTML() string {
|
func UserListHTML() string {
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
WriteUserListHTML(qb422016)
|
WriteUserListHTML(qb422016)
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
return qs422016
|
return qs422016
|
||||||
//line views/stuff.qtpl:144
|
//line views/stuff.qtpl:164
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:146
|
//line views/stuff.qtpl:166
|
||||||
func StreamHyphaListHTML(qw422016 *qt422016.Writer) {
|
func StreamHyphaListHTML(qw422016 *qt422016.Writer) {
|
||||||
//line views/stuff.qtpl:146
|
//line views/stuff.qtpl:166
|
||||||
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:150
|
//line views/stuff.qtpl:170
|
||||||
qw422016.N().D(hyphae.Count())
|
qw422016.N().D(hyphae.Count())
|
||||||
//line views/stuff.qtpl:150
|
//line views/stuff.qtpl:170
|
||||||
qw422016.N().S(` hyphae.</p>
|
qw422016.N().S(` hyphae.</p>
|
||||||
<ul class="hypha-list">
|
<ul class="hypha-list">
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:152
|
//line views/stuff.qtpl:172
|
||||||
for h := range hyphae.YieldExistingHyphae() {
|
for h := range hyphae.YieldExistingHyphae() {
|
||||||
//line views/stuff.qtpl:152
|
//line views/stuff.qtpl:172
|
||||||
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:154
|
//line views/stuff.qtpl:174
|
||||||
qw422016.E().S(h.Name)
|
qw422016.E().S(h.Name)
|
||||||
//line views/stuff.qtpl:154
|
//line views/stuff.qtpl:174
|
||||||
qw422016.N().S(`">`)
|
qw422016.N().S(`">`)
|
||||||
//line views/stuff.qtpl:154
|
//line views/stuff.qtpl:174
|
||||||
qw422016.E().S(util.BeautifulName(h.Name))
|
qw422016.E().S(util.BeautifulName(h.Name))
|
||||||
//line views/stuff.qtpl:154
|
//line views/stuff.qtpl:174
|
||||||
qw422016.N().S(`</a>
|
qw422016.N().S(`</a>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:155
|
//line views/stuff.qtpl:175
|
||||||
if h.BinaryPath != "" {
|
if h.BinaryPath != "" {
|
||||||
//line views/stuff.qtpl:155
|
//line views/stuff.qtpl:175
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<span class="hypha-list__amnt-type">`)
|
<span class="hypha-list__amnt-type">`)
|
||||||
//line views/stuff.qtpl:156
|
//line views/stuff.qtpl:176
|
||||||
qw422016.E().S(filepath.Ext(h.BinaryPath)[1:])
|
qw422016.E().S(filepath.Ext(h.BinaryPath)[1:])
|
||||||
//line views/stuff.qtpl:156
|
//line views/stuff.qtpl:176
|
||||||
qw422016.N().S(`</span>
|
qw422016.N().S(`</span>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:157
|
//line views/stuff.qtpl:177
|
||||||
}
|
}
|
||||||
//line views/stuff.qtpl:157
|
//line views/stuff.qtpl:177
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</li>
|
</li>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:159
|
//line views/stuff.qtpl:179
|
||||||
}
|
}
|
||||||
//line views/stuff.qtpl:159
|
//line views/stuff.qtpl:179
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</ul>
|
</ul>
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
func WriteHyphaListHTML(qq422016 qtio422016.Writer) {
|
func WriteHyphaListHTML(qq422016 qtio422016.Writer) {
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
StreamHyphaListHTML(qw422016)
|
StreamHyphaListHTML(qw422016)
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
func HyphaListHTML() string {
|
func HyphaListHTML() string {
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
WriteHyphaListHTML(qb422016)
|
WriteHyphaListHTML(qb422016)
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
return qs422016
|
return qs422016
|
||||||
//line views/stuff.qtpl:163
|
//line views/stuff.qtpl:183
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:165
|
//line views/stuff.qtpl:185
|
||||||
func StreamAboutHTML(qw422016 *qt422016.Writer) {
|
func StreamAboutHTML(qw422016 *qt422016.Writer) {
|
||||||
//line views/stuff.qtpl:165
|
//line views/stuff.qtpl:185
|
||||||
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:169
|
//line views/stuff.qtpl:189
|
||||||
qw422016.E().S(cfg.WikiName)
|
qw422016.E().S(cfg.WikiName)
|
||||||
//line views/stuff.qtpl:169
|
//line views/stuff.qtpl:189
|
||||||
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:172
|
//line views/stuff.qtpl:192
|
||||||
if cfg.UseAuth {
|
if cfg.UseAuth {
|
||||||
//line views/stuff.qtpl:172
|
//line views/stuff.qtpl:192
|
||||||
qw422016.N().S(` <li><b>User count:</b> `)
|
qw422016.N().S(` <li><b>User count:</b> `)
|
||||||
//line views/stuff.qtpl:173
|
//line views/stuff.qtpl:193
|
||||||
qw422016.N().DUL(user.Count())
|
qw422016.N().DUL(user.Count())
|
||||||
//line views/stuff.qtpl:173
|
//line views/stuff.qtpl:193
|
||||||
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:174
|
//line views/stuff.qtpl:194
|
||||||
qw422016.E().S(cfg.HomeHypha)
|
qw422016.E().S(cfg.HomeHypha)
|
||||||
//line views/stuff.qtpl:174
|
//line views/stuff.qtpl:194
|
||||||
qw422016.N().S(`</a></li>
|
qw422016.N().S(`</a></li>
|
||||||
<li><b>Administrators:</b>`)
|
<li><b>Administrators:</b>`)
|
||||||
//line views/stuff.qtpl:175
|
//line views/stuff.qtpl:195
|
||||||
for i, username := range user.ListUsersWithGroup("admin") {
|
for i, username := range user.ListUsersWithGroup("admin") {
|
||||||
//line views/stuff.qtpl:176
|
//line views/stuff.qtpl:196
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
//line views/stuff.qtpl:176
|
//line views/stuff.qtpl:196
|
||||||
qw422016.N().S(`<span aria-hidden="true">, </span>
|
qw422016.N().S(`<span aria-hidden="true">, </span>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:177
|
//line views/stuff.qtpl:197
|
||||||
}
|
}
|
||||||
//line views/stuff.qtpl:177
|
//line views/stuff.qtpl:197
|
||||||
qw422016.N().S(` <a href="/hypha/`)
|
qw422016.N().S(` <a href="/hypha/`)
|
||||||
//line views/stuff.qtpl:178
|
//line views/stuff.qtpl:198
|
||||||
qw422016.E().S(cfg.UserHypha)
|
qw422016.E().S(cfg.UserHypha)
|
||||||
//line views/stuff.qtpl:178
|
//line views/stuff.qtpl:198
|
||||||
qw422016.N().S(`/`)
|
qw422016.N().S(`/`)
|
||||||
//line views/stuff.qtpl:178
|
//line views/stuff.qtpl:198
|
||||||
qw422016.E().S(username)
|
qw422016.E().S(username)
|
||||||
//line views/stuff.qtpl:178
|
//line views/stuff.qtpl:198
|
||||||
qw422016.N().S(`">`)
|
qw422016.N().S(`">`)
|
||||||
//line views/stuff.qtpl:178
|
//line views/stuff.qtpl:198
|
||||||
qw422016.E().S(username)
|
qw422016.E().S(username)
|
||||||
//line views/stuff.qtpl:178
|
//line views/stuff.qtpl:198
|
||||||
qw422016.N().S(`</a>`)
|
qw422016.N().S(`</a>`)
|
||||||
//line views/stuff.qtpl:178
|
//line views/stuff.qtpl:198
|
||||||
}
|
}
|
||||||
//line views/stuff.qtpl:178
|
//line views/stuff.qtpl:198
|
||||||
qw422016.N().S(`</li>
|
qw422016.N().S(`</li>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:179
|
//line views/stuff.qtpl:199
|
||||||
} else {
|
} else {
|
||||||
//line views/stuff.qtpl:179
|
//line views/stuff.qtpl:199
|
||||||
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:181
|
//line views/stuff.qtpl:201
|
||||||
}
|
}
|
||||||
//line views/stuff.qtpl:181
|
//line views/stuff.qtpl:201
|
||||||
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:187
|
//line views/stuff.qtpl:207
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
func WriteAboutHTML(qq422016 qtio422016.Writer) {
|
func WriteAboutHTML(qq422016 qtio422016.Writer) {
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
StreamAboutHTML(qw422016)
|
StreamAboutHTML(qw422016)
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
func AboutHTML() string {
|
func AboutHTML() string {
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
WriteAboutHTML(qb422016)
|
WriteAboutHTML(qb422016)
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
return qs422016
|
return qs422016
|
||||||
//line views/stuff.qtpl:187
|
//line views/stuff.qtpl:207
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:189
|
//line views/stuff.qtpl:209
|
||||||
func StreamCommonScripts(qw422016 *qt422016.Writer) {
|
func StreamCommonScripts(qw422016 *qt422016.Writer) {
|
||||||
//line views/stuff.qtpl:189
|
//line views/stuff.qtpl:209
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:190
|
//line views/stuff.qtpl:210
|
||||||
for _, scriptPath := range cfg.CommonScripts {
|
for _, scriptPath := range cfg.CommonScripts {
|
||||||
//line views/stuff.qtpl:190
|
//line views/stuff.qtpl:210
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<script src="`)
|
<script src="`)
|
||||||
//line views/stuff.qtpl:191
|
//line views/stuff.qtpl:211
|
||||||
qw422016.E().S(scriptPath)
|
qw422016.E().S(scriptPath)
|
||||||
//line views/stuff.qtpl:191
|
//line views/stuff.qtpl:211
|
||||||
qw422016.N().S(`"></script>
|
qw422016.N().S(`"></script>
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:192
|
//line views/stuff.qtpl:212
|
||||||
}
|
}
|
||||||
//line views/stuff.qtpl:192
|
//line views/stuff.qtpl:212
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
func WriteCommonScripts(qq422016 qtio422016.Writer) {
|
func WriteCommonScripts(qq422016 qtio422016.Writer) {
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
StreamCommonScripts(qw422016)
|
StreamCommonScripts(qw422016)
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
func CommonScripts() string {
|
func CommonScripts() string {
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
WriteCommonScripts(qb422016)
|
WriteCommonScripts(qb422016)
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
return qs422016
|
return qs422016
|
||||||
//line views/stuff.qtpl:193
|
//line views/stuff.qtpl:213
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,8 @@ import (
|
|||||||
|
|
||||||
func initSearch() {
|
func initSearch() {
|
||||||
http.HandleFunc("/title-search/", handlerTitleSearch)
|
http.HandleFunc("/title-search/", handlerTitleSearch)
|
||||||
|
http.HandleFunc("/title-search-json/", handlerTitleSearchJSON) // we get a little shroomy
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func handlerTitleSearch(w http.ResponseWriter, rq *http.Request) {
|
func handlerTitleSearch(w http.ResponseWriter, rq *http.Request) {
|
||||||
@ -30,3 +32,15 @@ func handlerTitleSearch(w http.ResponseWriter, rq *http.Request) {
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func handlerTitleSearchJSON(w http.ResponseWriter, rq *http.Request) {
|
||||||
|
util.PrepareRq(rq)
|
||||||
|
_ = rq.ParseForm()
|
||||||
|
var (
|
||||||
|
query = rq.FormValue("q")
|
||||||
|
)
|
||||||
|
_, _ = io.WriteString(
|
||||||
|
w,
|
||||||
|
views.TitleSearchJSON(query, shroom.YieldHyphaNamesContainingString),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user