1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-10-30 11:46:16 +00:00

Redesign /list

This commit is contained in:
bouncepaw 2021-02-22 23:37:23 +05:00
parent ecbd23b3a5
commit d2cc1e7074
5 changed files with 233 additions and 276 deletions

12
main.go
View File

@ -10,12 +10,10 @@ import (
"math/rand" "math/rand"
"net/http" "net/http"
"os" "os"
"path/filepath"
"strings" "strings"
"github.com/bouncepaw/mycorrhiza/history" "github.com/bouncepaw/mycorrhiza/history"
"github.com/bouncepaw/mycorrhiza/hyphae" "github.com/bouncepaw/mycorrhiza/hyphae"
"github.com/bouncepaw/mycorrhiza/mimetype"
"github.com/bouncepaw/mycorrhiza/shroom" "github.com/bouncepaw/mycorrhiza/shroom"
"github.com/bouncepaw/mycorrhiza/templates" "github.com/bouncepaw/mycorrhiza/templates"
"github.com/bouncepaw/mycorrhiza/user" "github.com/bouncepaw/mycorrhiza/user"
@ -48,15 +46,7 @@ func HttpErr(w http.ResponseWriter, status int, name, title, errMsg string) {
// Show all hyphae // Show all hyphae
func handlerList(w http.ResponseWriter, rq *http.Request) { func handlerList(w http.ResponseWriter, rq *http.Request) {
log.Println(rq.URL) log.Println(rq.URL)
var ( util.HTTP200Page(w, base("List of pages", views.HyphaListHTML(), user.FromRequest(rq)))
tbody string
pageCount = hyphae.Count()
u = user.FromRequest(rq)
)
for h := range hyphae.YieldExistingHyphae() {
tbody += views.HyphaListRowHTML(h.Name, mimetype.FromExtension(filepath.Ext(h.BinaryPath)), h.BinaryPath != "")
}
util.HTTP200Page(w, base("List of pages", views.HyphaListHTML(tbody, pageCount), u))
} }
// This part is present in all html documents. // This part is present in all html documents.

View File

@ -23,12 +23,19 @@ func StreamDefaultCSS(qw422016 *qt422016.Writer) {
qw422016.N().S(` qw422016.N().S(`
`) `)
//line templates/asset.qtpl:2 //line templates/asset.qtpl:2
qw422016.N().S(`/* General element positions, from small to big */ qw422016.N().S(`.modal__title { font-size: 2rem; }
.modal__title { font-size: 2rem; }
.modal__confirmation-msg { margin: 0 0 .5rem 0; } .modal__confirmation-msg { margin: 0 0 .5rem 0; }
.modal__action { display: inline-block; font-size: 1rem; padding: .25rem; border-radius: .25rem; } .modal__action { display: inline-block; font-size: 1rem; padding: .25rem; border-radius: .25rem; }
.modal__submit { border: 1px #999 solid; } .modal__submit { border: 1px #999 solid; }
.modal__cancel { border: 1px #999 dashed; text-decoration: none; } .modal__cancel { border: 1px #999 dashed; text-decoration: none; }
.hypha-list { padding-left: 0; }
.hypha-list__entry { list-style-type: none; }
.hypha-list__link { text-decoration: none; display: inline-block; padding: .25rem; }
.hypha-list__link:hover { text-decoration: underline; }
.hypha-list__amnt-type { font-size: smaller; color: #999; }
/* General element positions, from small to big */
/* Phones and whatnot */ /* Phones and whatnot */
.layout { display: grid; row-gap: 1rem; } .layout { display: grid; row-gap: 1rem; }
header { width: 100%; margin-bottom: 1rem; } header { width: 100%; margin-bottom: 1rem; }

View File

@ -1,9 +1,16 @@
/* General element positions, from small to big */
.modal__title { font-size: 2rem; } .modal__title { font-size: 2rem; }
.modal__confirmation-msg { margin: 0 0 .5rem 0; } .modal__confirmation-msg { margin: 0 0 .5rem 0; }
.modal__action { display: inline-block; font-size: 1rem; padding: .25rem; border-radius: .25rem; } .modal__action { display: inline-block; font-size: 1rem; padding: .25rem; border-radius: .25rem; }
.modal__submit { border: 1px #999 solid; } .modal__submit { border: 1px #999 solid; }
.modal__cancel { border: 1px #999 dashed; text-decoration: none; } .modal__cancel { border: 1px #999 dashed; text-decoration: none; }
.hypha-list { padding-left: 0; }
.hypha-list__entry { list-style-type: none; }
.hypha-list__link { text-decoration: none; display: inline-block; padding: .25rem; }
.hypha-list__link:hover { text-decoration: underline; }
.hypha-list__amnt-type { font-size: smaller; color: #999; }
/* General element positions, from small to big */
/* Phones and whatnot */ /* Phones and whatnot */
.layout { display: grid; row-gap: 1rem; } .layout { display: grid; row-gap: 1rem; }
header { width: 100%; margin-bottom: 1rem; } header { width: 100%; margin-bottom: 1rem; }

View File

@ -1,5 +1,7 @@
{% import "github.com/bouncepaw/mycorrhiza/util" %} {% import "path/filepath" %}
{% import "github.com/bouncepaw/mycorrhiza/hyphae" %}
{% import "github.com/bouncepaw/mycorrhiza/user" %} {% import "github.com/bouncepaw/mycorrhiza/user" %}
{% import "github.com/bouncepaw/mycorrhiza/util" %}
{% func BaseHTML(title, body string, u *user.User, headElements ...string) %} {% func BaseHTML(title, body string, u *user.User, headElements ...string) %}
<!doctype html> <!doctype html>
@ -70,37 +72,25 @@ for u := range user.YieldUsers() {
</div> </div>
{% endfunc %} {% endfunc %}
{% func HyphaListHTML(tbody string, pageCount int) %} {% func HyphaListHTML() %}
<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 {%d pageCount %} hyphae.</p> <p>This wiki has {%d hyphae.Count() %} hyphae.</p>
<table> <ul class="hypha-list">
<thead> {% for h := range hyphae.YieldExistingHyphae() %}
<tr> <li class="hypha-list__entry">
<th>Full name</th> <a class="hypha-list__link" href="/hypha/{%s h.Name %}">{%s util.BeautifulName(h.Name) %}</a>
<th>Binary part type</th> {% if h.BinaryPath != "" %}
</tr> <span class="hypha-list__amnt-type">{%s filepath.Ext(h.BinaryPath)[1:] %}</span>
</thead> {% endif %}
<tbody> </li>
{%s= tbody %} {% endfor %}
</tbody> </ul>
</table>
</main> </main>
</div> </div>
{% endfunc %} {% endfunc %}
{% func HyphaListRowHTML(hyphaName, binaryMime string, binaryPresent bool) %}
<tr>
<td><a href="/page/{%s hyphaName %}">{%s hyphaName %}</a></td>
{% if binaryPresent %}
<td>{%s binaryMime %}</td>
{% else %}
<td></td>
{% endif %}
</tr>
{% endfunc %}
{% func AboutHTML() %} {% func AboutHTML() %}
<div class="layout"> <div class="layout">
<main class="main-width"> <main class="main-width">

View File

@ -5,27 +5,33 @@
package views package views
//line views/stuff.qtpl:1 //line views/stuff.qtpl:1
import "github.com/bouncepaw/mycorrhiza/util" import "path/filepath"
//line views/stuff.qtpl:2 //line views/stuff.qtpl:2
import "github.com/bouncepaw/mycorrhiza/hyphae"
//line views/stuff.qtpl:3
import "github.com/bouncepaw/mycorrhiza/user" import "github.com/bouncepaw/mycorrhiza/user"
//line views/stuff.qtpl:4 //line views/stuff.qtpl:4
import "github.com/bouncepaw/mycorrhiza/util"
//line views/stuff.qtpl:6
import ( import (
qtio422016 "io" qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate" qt422016 "github.com/valyala/quicktemplate"
) )
//line views/stuff.qtpl:4 //line views/stuff.qtpl:6
var ( var (
_ = qtio422016.Copy _ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer _ = qt422016.AcquireByteBuffer
) )
//line views/stuff.qtpl:4 //line views/stuff.qtpl:6
func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, u *user.User, headElements ...string) { func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, u *user.User, headElements ...string) {
//line views/stuff.qtpl:4 //line views/stuff.qtpl:6
qw422016.N().S(` qw422016.N().S(`
<!doctype html> <!doctype html>
<html> <html>
@ -34,18 +40,18 @@ func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, u *user.User,
<meta charset="utf-8"> <meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="/static/common.css"> <link rel="stylesheet" type="text/css" href="/static/common.css">
<title>`) <title>`)
//line views/stuff.qtpl:11 //line views/stuff.qtpl:13
qw422016.E().S(title) qw422016.E().S(title)
//line views/stuff.qtpl:11 //line views/stuff.qtpl:13
qw422016.N().S(`</title> qw422016.N().S(`</title>
`) `)
//line views/stuff.qtpl:12 //line views/stuff.qtpl:14
for _, el := range headElements { for _, el := range headElements {
//line views/stuff.qtpl:12 //line views/stuff.qtpl:14
qw422016.N().S(el) qw422016.N().S(el)
//line views/stuff.qtpl:12 //line views/stuff.qtpl:14
} }
//line views/stuff.qtpl:12 //line views/stuff.qtpl:14
qw422016.N().S(` qw422016.N().S(`
</head> </head>
<body> <body>
@ -53,76 +59,76 @@ func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, u *user.User,
<nav class="header-links main-width"> <nav class="header-links main-width">
<ul class="header-links__list"> <ul class="header-links__list">
`) `)
//line views/stuff.qtpl:18 //line views/stuff.qtpl:20
for _, link := range util.HeaderLinks { for _, link := range util.HeaderLinks {
//line views/stuff.qtpl:18 //line views/stuff.qtpl:20
qw422016.N().S(` <li class="header-links__entry"><a class="header-links__link" href="`) qw422016.N().S(` <li class="header-links__entry"><a class="header-links__link" href="`)
//line views/stuff.qtpl:19 //line views/stuff.qtpl:21
qw422016.E().S(link.Href) qw422016.E().S(link.Href)
//line views/stuff.qtpl:19 //line views/stuff.qtpl:21
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:19 //line views/stuff.qtpl:21
qw422016.E().S(link.Display) qw422016.E().S(link.Display)
//line views/stuff.qtpl:19 //line views/stuff.qtpl:21
qw422016.N().S(`</a></li> qw422016.N().S(`</a></li>
`) `)
//line views/stuff.qtpl:20 //line views/stuff.qtpl:22
} }
//line views/stuff.qtpl:20 //line views/stuff.qtpl:22
qw422016.N().S(` `) qw422016.N().S(` `)
//line views/stuff.qtpl:21 //line views/stuff.qtpl:23
qw422016.N().S(UserMenuHTML(u)) qw422016.N().S(UserMenuHTML(u))
//line views/stuff.qtpl:21 //line views/stuff.qtpl:23
qw422016.N().S(` qw422016.N().S(`
</ul> </ul>
</nav> </nav>
</header> </header>
`) `)
//line views/stuff.qtpl:25 //line views/stuff.qtpl:27
qw422016.N().S(body) qw422016.N().S(body)
//line views/stuff.qtpl:25 //line views/stuff.qtpl:27
qw422016.N().S(` qw422016.N().S(`
</body> </body>
</html> </html>
`) `)
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
} }
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
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:28 //line views/stuff.qtpl:30
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
StreamBaseHTML(qw422016, title, body, u, headElements...) StreamBaseHTML(qw422016, title, body, u, headElements...)
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
} }
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
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:28 //line views/stuff.qtpl:30
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
WriteBaseHTML(qb422016, title, body, u, headElements...) WriteBaseHTML(qb422016, title, body, u, headElements...)
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
return qs422016 return qs422016
//line views/stuff.qtpl:28 //line views/stuff.qtpl:30
} }
//line views/stuff.qtpl:30 //line views/stuff.qtpl:32
func StreamUserListHTML(qw422016 *qt422016.Writer) { func StreamUserListHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:30 //line views/stuff.qtpl:32
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:35 //line views/stuff.qtpl:37
var ( var (
admins = make([]string, 0) admins = make([]string, 0)
moderators = make([]string, 0) moderators = make([]string, 0)
@ -139,346 +145,303 @@ func StreamUserListHTML(qw422016 *qt422016.Writer) {
} }
} }
//line views/stuff.qtpl:50 //line views/stuff.qtpl:52
qw422016.N().S(` qw422016.N().S(`
<section> <section>
<h2>Admins</h2> <h2>Admins</h2>
<ol>`) <ol>`)
//line views/stuff.qtpl:53 //line views/stuff.qtpl:55
for _, name := range admins { for _, name := range admins {
//line views/stuff.qtpl:53 //line views/stuff.qtpl:55
qw422016.N().S(` qw422016.N().S(`
<li><a href="/page/`) <li><a href="/page/`)
//line views/stuff.qtpl:54 //line views/stuff.qtpl:56
qw422016.E().S(util.UserHypha) qw422016.E().S(util.UserHypha)
//line views/stuff.qtpl:54 //line views/stuff.qtpl:56
qw422016.N().S(`/`) qw422016.N().S(`/`)
//line views/stuff.qtpl:54 //line views/stuff.qtpl:56
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:54 //line views/stuff.qtpl:56
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:54 //line views/stuff.qtpl:56
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:54 //line views/stuff.qtpl:56
qw422016.N().S(`</a></li> qw422016.N().S(`</a></li>
`) `)
//line views/stuff.qtpl:55 //line views/stuff.qtpl:57
} }
//line views/stuff.qtpl:55 //line views/stuff.qtpl:57
qw422016.N().S(`</ol> qw422016.N().S(`</ol>
</section> </section>
<section> <section>
<h2>Moderators</h2> <h2>Moderators</h2>
<ol>`) <ol>`)
//line views/stuff.qtpl:59 //line views/stuff.qtpl:61
for _, name := range moderators { for _, name := range moderators {
//line views/stuff.qtpl:59 //line views/stuff.qtpl:61
qw422016.N().S(` qw422016.N().S(`
<li><a href="/page/`) <li><a href="/page/`)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:62
qw422016.E().S(util.UserHypha) qw422016.E().S(util.UserHypha)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:62
qw422016.N().S(`/`) qw422016.N().S(`/`)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:62
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:62
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:62
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:60 //line views/stuff.qtpl:62
qw422016.N().S(`</a></li> qw422016.N().S(`</a></li>
`) `)
//line views/stuff.qtpl:61 //line views/stuff.qtpl:63
} }
//line views/stuff.qtpl:61 //line views/stuff.qtpl:63
qw422016.N().S(`</ol> qw422016.N().S(`</ol>
</section> </section>
<section> <section>
<h2>Editors</h2> <h2>Editors</h2>
<ol>`) <ol>`)
//line views/stuff.qtpl:65 //line views/stuff.qtpl:67
for _, name := range editors { for _, name := range editors {
//line views/stuff.qtpl:65 //line views/stuff.qtpl:67
qw422016.N().S(` qw422016.N().S(`
<li><a href="/page/`) <li><a href="/page/`)
//line views/stuff.qtpl:66 //line views/stuff.qtpl:68
qw422016.E().S(util.UserHypha) qw422016.E().S(util.UserHypha)
//line views/stuff.qtpl:66 //line views/stuff.qtpl:68
qw422016.N().S(`/`) qw422016.N().S(`/`)
//line views/stuff.qtpl:66 //line views/stuff.qtpl:68
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:66 //line views/stuff.qtpl:68
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:66 //line views/stuff.qtpl:68
qw422016.E().S(name) qw422016.E().S(name)
//line views/stuff.qtpl:66 //line views/stuff.qtpl:68
qw422016.N().S(`</a></li> qw422016.N().S(`</a></li>
`) `)
//line views/stuff.qtpl:67 //line views/stuff.qtpl:69
} }
//line views/stuff.qtpl:67 //line views/stuff.qtpl:69
qw422016.N().S(`</ol> qw422016.N().S(`</ol>
</section> </section>
</main> </main>
</div> </div>
`) `)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
} }
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
func WriteUserListHTML(qq422016 qtio422016.Writer) { func WriteUserListHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
StreamUserListHTML(qw422016) StreamUserListHTML(qw422016)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
} }
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
func UserListHTML() string { func UserListHTML() string {
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
WriteUserListHTML(qb422016) WriteUserListHTML(qb422016)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
return qs422016 return qs422016
//line views/stuff.qtpl:71 //line views/stuff.qtpl:73
} }
//line views/stuff.qtpl:73 //line views/stuff.qtpl:75
func StreamHyphaListHTML(qw422016 *qt422016.Writer, tbody string, pageCount int) { func StreamHyphaListHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:73 //line views/stuff.qtpl:75
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:77 //line views/stuff.qtpl:79
qw422016.N().D(pageCount) qw422016.N().D(hyphae.Count())
//line views/stuff.qtpl:77 //line views/stuff.qtpl:79
qw422016.N().S(` hyphae.</p> qw422016.N().S(` hyphae.</p>
<table> <ul class="hypha-list">
<thead> `)
<tr> //line views/stuff.qtpl:81
<th>Full name</th> for h := range hyphae.YieldExistingHyphae() {
<th>Binary part type</th> //line views/stuff.qtpl:81
</tr> qw422016.N().S(`
</thead> <li class="hypha-list__entry">
<tbody> <a class="hypha-list__link" href="/hypha/`)
//line views/stuff.qtpl:83
qw422016.E().S(h.Name)
//line views/stuff.qtpl:83
qw422016.N().S(`">`)
//line views/stuff.qtpl:83
qw422016.E().S(util.BeautifulName(h.Name))
//line views/stuff.qtpl:83
qw422016.N().S(`</a>
`)
//line views/stuff.qtpl:84
if h.BinaryPath != "" {
//line views/stuff.qtpl:84
qw422016.N().S(`
<span class="hypha-list__amnt-type">`)
//line views/stuff.qtpl:85
qw422016.E().S(filepath.Ext(h.BinaryPath)[1:])
//line views/stuff.qtpl:85
qw422016.N().S(`</span>
`) `)
//line views/stuff.qtpl:86 //line views/stuff.qtpl:86
qw422016.N().S(tbody) }
//line views/stuff.qtpl:86 //line views/stuff.qtpl:86
qw422016.N().S(`
</li>
`)
//line views/stuff.qtpl:88
}
//line views/stuff.qtpl:88
qw422016.N().S(` qw422016.N().S(`
</tbody> </ul>
</table>
</main> </main>
</div> </div>
`) `)
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
} }
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
func WriteHyphaListHTML(qq422016 qtio422016.Writer, tbody string, pageCount int) { func WriteHyphaListHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
StreamHyphaListHTML(qw422016, tbody, pageCount) StreamHyphaListHTML(qw422016)
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
} }
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
func HyphaListHTML(tbody string, pageCount int) string { func HyphaListHTML() string {
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
WriteHyphaListHTML(qb422016, tbody, pageCount) WriteHyphaListHTML(qb422016)
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
return qs422016 return qs422016
//line views/stuff.qtpl:91 //line views/stuff.qtpl:92
} }
//line views/stuff.qtpl:93 //line views/stuff.qtpl:94
func StreamHyphaListRowHTML(qw422016 *qt422016.Writer, hyphaName, binaryMime string, binaryPresent bool) {
//line views/stuff.qtpl:93
qw422016.N().S(`
<tr>
<td><a href="/page/`)
//line views/stuff.qtpl:95
qw422016.E().S(hyphaName)
//line views/stuff.qtpl:95
qw422016.N().S(`">`)
//line views/stuff.qtpl:95
qw422016.E().S(hyphaName)
//line views/stuff.qtpl:95
qw422016.N().S(`</a></td>
`)
//line views/stuff.qtpl:96
if binaryPresent {
//line views/stuff.qtpl:96
qw422016.N().S(`
<td>`)
//line views/stuff.qtpl:97
qw422016.E().S(binaryMime)
//line views/stuff.qtpl:97
qw422016.N().S(`</td>
`)
//line views/stuff.qtpl:98
} else {
//line views/stuff.qtpl:98
qw422016.N().S(`
<td></td>
`)
//line views/stuff.qtpl:100
}
//line views/stuff.qtpl:100
qw422016.N().S(`
</tr>
`)
//line views/stuff.qtpl:102
}
//line views/stuff.qtpl:102
func WriteHyphaListRowHTML(qq422016 qtio422016.Writer, hyphaName, binaryMime string, binaryPresent bool) {
//line views/stuff.qtpl:102
qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:102
StreamHyphaListRowHTML(qw422016, hyphaName, binaryMime, binaryPresent)
//line views/stuff.qtpl:102
qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:102
}
//line views/stuff.qtpl:102
func HyphaListRowHTML(hyphaName, binaryMime string, binaryPresent bool) string {
//line views/stuff.qtpl:102
qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:102
WriteHyphaListRowHTML(qb422016, hyphaName, binaryMime, binaryPresent)
//line views/stuff.qtpl:102
qs422016 := string(qb422016.B)
//line views/stuff.qtpl:102
qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:102
return qs422016
//line views/stuff.qtpl:102
}
//line views/stuff.qtpl:104
func StreamAboutHTML(qw422016 *qt422016.Writer) { func StreamAboutHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:104 //line views/stuff.qtpl:94
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:108 //line views/stuff.qtpl:98
qw422016.E().S(util.SiteName) qw422016.E().S(util.SiteName)
//line views/stuff.qtpl:108 //line views/stuff.qtpl:98
qw422016.N().S(`</h1> qw422016.N().S(`</h1>
<ul> <ul>
<li><b><a href="https://mycorrhiza.lesarbr.es">MycorrhizaWiki</a> version:</b> β 0.13 indev</li> <li><b><a href="https://mycorrhiza.lesarbr.es">MycorrhizaWiki</a> version:</b> β 0.13 indev</li>
`) `)
//line views/stuff.qtpl:111 //line views/stuff.qtpl:101
if user.AuthUsed { if user.AuthUsed {
//line views/stuff.qtpl:111 //line views/stuff.qtpl:101
qw422016.N().S(` <li><b>User count:</b> `) qw422016.N().S(` <li><b>User count:</b> `)
//line views/stuff.qtpl:112 //line views/stuff.qtpl:102
qw422016.N().D(user.Count()) qw422016.N().D(user.Count())
//line views/stuff.qtpl:112 //line views/stuff.qtpl:102
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:113 //line views/stuff.qtpl:103
qw422016.E().S(util.HomePage) qw422016.E().S(util.HomePage)
//line views/stuff.qtpl:113 //line views/stuff.qtpl:103
qw422016.N().S(`</a></li> qw422016.N().S(`</a></li>
<li><b>Administrators:</b>`) <li><b>Administrators:</b>`)
//line views/stuff.qtpl:114 //line views/stuff.qtpl:104
for i, username := range user.ListUsersWithGroup("admin") { for i, username := range user.ListUsersWithGroup("admin") {
//line views/stuff.qtpl:115 //line views/stuff.qtpl:105
if i > 0 { if i > 0 {
//line views/stuff.qtpl:115 //line views/stuff.qtpl:105
qw422016.N().S(`<span aria-hidden="true">, </span> qw422016.N().S(`<span aria-hidden="true">, </span>
`) `)
//line views/stuff.qtpl:116 //line views/stuff.qtpl:106
} }
//line views/stuff.qtpl:116 //line views/stuff.qtpl:106
qw422016.N().S(` <a href="/page/`) qw422016.N().S(` <a href="/page/`)
//line views/stuff.qtpl:117 //line views/stuff.qtpl:107
qw422016.E().S(util.UserHypha) qw422016.E().S(util.UserHypha)
//line views/stuff.qtpl:117 //line views/stuff.qtpl:107
qw422016.N().S(`/`) qw422016.N().S(`/`)
//line views/stuff.qtpl:117 //line views/stuff.qtpl:107
qw422016.E().S(username) qw422016.E().S(username)
//line views/stuff.qtpl:117 //line views/stuff.qtpl:107
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/stuff.qtpl:117 //line views/stuff.qtpl:107
qw422016.E().S(username) qw422016.E().S(username)
//line views/stuff.qtpl:117 //line views/stuff.qtpl:107
qw422016.N().S(`</a>`) qw422016.N().S(`</a>`)
//line views/stuff.qtpl:117 //line views/stuff.qtpl:107
} }
//line views/stuff.qtpl:117 //line views/stuff.qtpl:107
qw422016.N().S(`</li> qw422016.N().S(`</li>
`) `)
//line views/stuff.qtpl:118 //line views/stuff.qtpl:108
} else { } else {
//line views/stuff.qtpl:118 //line views/stuff.qtpl:108
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:120 //line views/stuff.qtpl:110
} }
//line views/stuff.qtpl:120 //line views/stuff.qtpl:110
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:126 //line views/stuff.qtpl:116
} }
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
func WriteAboutHTML(qq422016 qtio422016.Writer) { func WriteAboutHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
StreamAboutHTML(qw422016) StreamAboutHTML(qw422016)
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
} }
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
func AboutHTML() string { func AboutHTML() string {
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
WriteAboutHTML(qb422016) WriteAboutHTML(qb422016)
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
return qs422016 return qs422016
//line views/stuff.qtpl:126 //line views/stuff.qtpl:116
} }
//line views/stuff.qtpl:128 //line views/stuff.qtpl:118
func StreamAdminPanelHTML(qw422016 *qt422016.Writer) { func StreamAdminPanelHTML(qw422016 *qt422016.Writer) {
//line views/stuff.qtpl:128 //line views/stuff.qtpl:118
qw422016.N().S(` qw422016.N().S(`
<div class="layout"> <div class="layout">
<main class="main-width"> <main class="main-width">
@ -509,31 +472,31 @@ func StreamAdminPanelHTML(qw422016 *qt422016.Writer) {
</main> </main>
</div> </div>
`) `)
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
} }
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
func WriteAdminPanelHTML(qq422016 qtio422016.Writer) { func WriteAdminPanelHTML(qq422016 qtio422016.Writer) {
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
StreamAdminPanelHTML(qw422016) StreamAdminPanelHTML(qw422016)
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
} }
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
func AdminPanelHTML() string { func AdminPanelHTML() string {
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
WriteAdminPanelHTML(qb422016) WriteAdminPanelHTML(qb422016)
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
return qs422016 return qs422016
//line views/stuff.qtpl:157 //line views/stuff.qtpl:147
} }