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

Feed numerous minor issues

This commit is contained in:
bouncepaw 2021-04-04 22:22:14 +05:00
parent 770114f764
commit ded26881fd
11 changed files with 259 additions and 180 deletions

View File

@ -31,3 +31,8 @@ This is a modified version of https://www.svgrepo.com/svg/232085/rat
{% func IconGopher() %} {% func IconGopher() %}
{% cat "icon/gopher-protocol-icon.svg" %} {% cat "icon/gopher-protocol-icon.svg" %}
{% endfunc %} {% endfunc %}
https://upload.wikimedia.org/wikipedia/commons/4/46/Generic_Feed-icon.svg
{% func IconFeed() %}
{% cat "icon/feed-icon.svg" %}
{% endfunc %}

View File

@ -352,7 +352,7 @@ main, article, .hypha-tabs__tab, header, .layout-card { background-color: #3434
a, .wikilink_external { color: #f1fa8c; } a, .wikilink_external { color: #f1fa8c; }
a:visited, .wikilink_external:visited { color: #ffb86c; } a:visited, .wikilink_external:visited { color: #ffb86c; }
.wikilink_new, .wikilink_new:visited { color: #dd4444; } .wikilink_new, .wikilink_new:visited { color: #dd4444; }
.navitree__link:hover, .backlinks__link:hover { background-color: #444; } .subhyphae__link:hover, .navitree__link:hover, .backlinks__link:hover { background-color: #444; }
.header-links__link, .header-links__link:visited, .header-links__link, .header-links__link:visited,
.prevnext__el, .prevnext__el:visited { color: #ddd; } .prevnext__el, .prevnext__el:visited { color: #ddd; }
@ -706,3 +706,61 @@ func IconGopher() string {
return qs422016 return qs422016
//line assets/assets.qtpl:33 //line assets/assets.qtpl:33
} }
// https://upload.wikimedia.org/wikipedia/commons/4/46/Generic_Feed-icon.svg
//line assets/assets.qtpl:36
func StreamIconFeed(qw422016 *qt422016.Writer) {
//line assets/assets.qtpl:36
qw422016.N().S(`
`)
//line assets/assets.qtpl:37
qw422016.N().S(`<svg xmlns="http://www.w3.org/2000/svg"
id="RSSicon"
viewBox="0 0 8 8" width="256" height="256">
<title>RSS feed icon</title>
<style type="text/css">
.button {stroke: none; fill: orange;}
.symbol {stroke: none; fill: white;}
</style>
<rect class="button" width="8" height="8" rx="1.5" />
<circle class="symbol" cx="2" cy="6" r="1" />
<path class="symbol" d="m 1,4 a 3,3 0 0 1 3,3 h 1 a 4,4 0 0 0 -4,-4 z" />
<path class="symbol" d="m 1,2 a 5,5 0 0 1 5,5 h 1 a 6,6 0 0 0 -6,-6 z" />
</svg>
`)
//line assets/assets.qtpl:37
qw422016.N().S(`
`)
//line assets/assets.qtpl:38
}
//line assets/assets.qtpl:38
func WriteIconFeed(qq422016 qtio422016.Writer) {
//line assets/assets.qtpl:38
qw422016 := qt422016.AcquireWriter(qq422016)
//line assets/assets.qtpl:38
StreamIconFeed(qw422016)
//line assets/assets.qtpl:38
qt422016.ReleaseWriter(qw422016)
//line assets/assets.qtpl:38
}
//line assets/assets.qtpl:38
func IconFeed() string {
//line assets/assets.qtpl:38
qb422016 := qt422016.AcquireByteBuffer()
//line assets/assets.qtpl:38
WriteIconFeed(qb422016)
//line assets/assets.qtpl:38
qs422016 := string(qb422016.B)
//line assets/assets.qtpl:38
qt422016.ReleaseByteBuffer(qb422016)
//line assets/assets.qtpl:38
return qs422016
//line assets/assets.qtpl:38
}

View File

@ -241,7 +241,7 @@ main, article, .hypha-tabs__tab, header, .layout-card { background-color: #3434
a, .wikilink_external { color: #f1fa8c; } a, .wikilink_external { color: #f1fa8c; }
a:visited, .wikilink_external:visited { color: #ffb86c; } a:visited, .wikilink_external:visited { color: #ffb86c; }
.wikilink_new, .wikilink_new:visited { color: #dd4444; } .wikilink_new, .wikilink_new:visited { color: #dd4444; }
.navitree__link:hover, .backlinks__link:hover { background-color: #444; } .subhyphae__link:hover, .navitree__link:hover, .backlinks__link:hover { background-color: #444; }
.header-links__link, .header-links__link:visited, .header-links__link, .header-links__link:visited,
.prevnext__el, .prevnext__el:visited { color: #ddd; } .prevnext__el, .prevnext__el:visited { color: #ddd; }

17
assets/icon/feed-icon.svg Normal file
View File

@ -0,0 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg"
id="RSSicon"
viewBox="0 0 8 8" width="256" height="256">
<title>RSS feed icon</title>
<style type="text/css">
.button {stroke: none; fill: orange;}
.symbol {stroke: none; fill: white;}
</style>
<rect class="button" width="8" height="8" rx="1.5" />
<circle class="symbol" cx="2" cy="6" r="1" />
<path class="symbol" d="m 1,4 a 3,3 0 0 1 3,3 h 1 a 4,4 0 0 0 -4,-4 z" />
<path class="symbol" d="m 1,2 a 5,5 0 0 1 5,5 h 1 a 6,6 0 0 0 -6,-6 z" />
</svg>

After

Width:  |  Height:  |  Size: 531 B

View File

@ -145,6 +145,8 @@ func handlerIcon(w http.ResponseWriter, rq *http.Request) {
w.Write([]byte(assets.IconMailto())) w.Write([]byte(assets.IconMailto()))
case "gopher": case "gopher":
w.Write([]byte(assets.IconGopher())) w.Write([]byte(assets.IconGopher()))
case "feed":
w.Write([]byte(assets.IconFeed()))
default: default:
w.Write([]byte(assets.IconHTTP())) w.Write([]byte(assets.IconHTTP()))
} }

View File

@ -28,7 +28,6 @@ if err != nil {
<div class="layout"> <div class="layout">
<main class="main-width recent-changes"> <main class="main-width recent-changes">
<h1>Recent Changes</h1> <h1>Recent Changes</h1>
<p><a href="/">← Back</a></p>
<nav class="recent-changes__count"> <nav class="recent-changes__count">
See See
@ -45,7 +44,7 @@ if err != nil {
recent changes recent changes
</nav> </nav>
<p><img class="icon" width="20" height="20" src="https://upload.wikimedia.org/wikipedia/commons/4/46/Generic_Feed-icon.svg">Subscribe via <a href="/recent-changes-rss">RSS</a>, <a href="/recent-changes-atom">Atom</a> or <a href="/recent-changes-json">JSON feed</a>.</p> <p><img class="icon" width="20" height="20" src="/static/icon/feed">Subscribe via <a href="/recent-changes-rss">RSS</a>, <a href="/recent-changes-atom">Atom</a> or <a href="/recent-changes-json">JSON feed</a>.</p>
{% comment %} {% comment %}
Here I am, willing to add some accessibility using ARIA. Turns out, Here I am, willing to add some accessibility using ARIA. Turns out,

View File

@ -107,273 +107,272 @@ func StreamRecentChangesHTML(qw422016 *qt422016.Writer, n int) {
<div class="layout"> <div class="layout">
<main class="main-width recent-changes"> <main class="main-width recent-changes">
<h1>Recent Changes</h1> <h1>Recent Changes</h1>
<p><a href="/"> Back</a></p>
<nav class="recent-changes__count"> <nav class="recent-changes__count">
See See
`) `)
//line views/history.qtpl:35 //line views/history.qtpl:34
for _, m := range []int{20, 0, 50, 0, 100} { for _, m := range []int{20, 0, 50, 0, 100} {
//line views/history.qtpl:35 //line views/history.qtpl:34
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/history.qtpl:36 //line views/history.qtpl:35
switch m { switch m {
//line views/history.qtpl:37 //line views/history.qtpl:36
case 0: case 0:
//line views/history.qtpl:37 //line views/history.qtpl:36
qw422016.N().S(` qw422016.N().S(`
<span aria-hidden="true">|</span> <span aria-hidden="true">|</span>
`) `)
//line views/history.qtpl:39 //line views/history.qtpl:38
case n: case n:
//line views/history.qtpl:39 //line views/history.qtpl:38
qw422016.N().S(` qw422016.N().S(`
<b>`) <b>`)
//line views/history.qtpl:40 //line views/history.qtpl:39
qw422016.N().D(n) qw422016.N().D(n)
//line views/history.qtpl:40 //line views/history.qtpl:39
qw422016.N().S(`</b> qw422016.N().S(`</b>
`) `)
//line views/history.qtpl:41 //line views/history.qtpl:40
default: default:
//line views/history.qtpl:41 //line views/history.qtpl:40
qw422016.N().S(` qw422016.N().S(`
<a href="/recent-changes/`) <a href="/recent-changes/`)
//line views/history.qtpl:42 //line views/history.qtpl:41
qw422016.N().D(m) qw422016.N().D(m)
//line views/history.qtpl:42 //line views/history.qtpl:41
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/history.qtpl:42 //line views/history.qtpl:41
qw422016.N().D(m) qw422016.N().D(m)
//line views/history.qtpl:42 //line views/history.qtpl:41
qw422016.N().S(`</a> qw422016.N().S(`</a>
`) `)
//line views/history.qtpl:43 //line views/history.qtpl:42
} }
//line views/history.qtpl:43 //line views/history.qtpl:42
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/history.qtpl:44 //line views/history.qtpl:43
} }
//line views/history.qtpl:44 //line views/history.qtpl:43
qw422016.N().S(` qw422016.N().S(`
recent changes recent changes
</nav> </nav>
<p><img class="icon" width="20" height="20" src="https://upload.wikimedia.org/wikipedia/commons/4/46/Generic_Feed-icon.svg">Subscribe via <a href="/recent-changes-rss">RSS</a>, <a href="/recent-changes-atom">Atom</a> or <a href="/recent-changes-json">JSON feed</a>.</p> <p><img class="icon" width="20" height="20" src="/static/icon/feed">Subscribe via <a href="/recent-changes-rss">RSS</a>, <a href="/recent-changes-atom">Atom</a> or <a href="/recent-changes-json">JSON feed</a>.</p>
`) `)
//line views/history.qtpl:55 //line views/history.qtpl:54
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/history.qtpl:58 //line views/history.qtpl:57
changes := history.RecentChanges(n) changes := history.RecentChanges(n)
//line views/history.qtpl:59 //line views/history.qtpl:58
qw422016.N().S(` qw422016.N().S(`
<section class="recent-changes__list" role="feed"> <section class="recent-changes__list" role="feed">
`) `)
//line views/history.qtpl:61 //line views/history.qtpl:60
if len(changes) == 0 { if len(changes) == 0 {
//line views/history.qtpl:61 //line views/history.qtpl:60
qw422016.N().S(` qw422016.N().S(`
<p>Could not find any recent changes.</p> <p>Could not find any recent changes.</p>
`) `)
//line views/history.qtpl:63 //line views/history.qtpl:62
} else { } else {
//line views/history.qtpl:63 //line views/history.qtpl:62
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/history.qtpl:64 //line views/history.qtpl:63
for i, entry := range changes { for i, entry := range changes {
//line views/history.qtpl:64 //line views/history.qtpl:63
qw422016.N().S(` qw422016.N().S(`
<ul class="recent-changes__entry rc-entry" role="article" <ul class="recent-changes__entry rc-entry" role="article"
aria-setsize="`) aria-setsize="`)
//line views/history.qtpl:66 //line views/history.qtpl:65
qw422016.N().D(n) qw422016.N().D(n)
//line views/history.qtpl:66 //line views/history.qtpl:65
qw422016.N().S(`" aria-posinset="`) qw422016.N().S(`" aria-posinset="`)
//line views/history.qtpl:66 //line views/history.qtpl:65
qw422016.N().D(i) qw422016.N().D(i)
//line views/history.qtpl:66 //line views/history.qtpl:65
qw422016.N().S(`"> qw422016.N().S(`">
`) `)
//line views/history.qtpl:67 //line views/history.qtpl:66
qw422016.N().S(recentChangesEntry(entry)) qw422016.N().S(recentChangesEntry(entry))
//line views/history.qtpl:67 //line views/history.qtpl:66
qw422016.N().S(` qw422016.N().S(`
</ul> </ul>
`) `)
//line views/history.qtpl:69 //line views/history.qtpl:68
} }
//line views/history.qtpl:69 //line views/history.qtpl:68
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/history.qtpl:70 //line views/history.qtpl:69
} }
//line views/history.qtpl:70 //line views/history.qtpl:69
qw422016.N().S(` qw422016.N().S(`
</section> </section>
</main> </main>
</div> </div>
`) `)
//line views/history.qtpl:74 //line views/history.qtpl:73
} }
//line views/history.qtpl:74 //line views/history.qtpl:73
func WriteRecentChangesHTML(qq422016 qtio422016.Writer, n int) { func WriteRecentChangesHTML(qq422016 qtio422016.Writer, n int) {
//line views/history.qtpl:74 //line views/history.qtpl:73
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/history.qtpl:74 //line views/history.qtpl:73
StreamRecentChangesHTML(qw422016, n) StreamRecentChangesHTML(qw422016, n)
//line views/history.qtpl:74 //line views/history.qtpl:73
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/history.qtpl:74 //line views/history.qtpl:73
} }
//line views/history.qtpl:74 //line views/history.qtpl:73
func RecentChangesHTML(n int) string { func RecentChangesHTML(n int) string {
//line views/history.qtpl:74 //line views/history.qtpl:73
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/history.qtpl:74 //line views/history.qtpl:73
WriteRecentChangesHTML(qb422016, n) WriteRecentChangesHTML(qb422016, n)
//line views/history.qtpl:74 //line views/history.qtpl:73
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/history.qtpl:74 //line views/history.qtpl:73
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/history.qtpl:74 //line views/history.qtpl:73
return qs422016 return qs422016
//line views/history.qtpl:74 //line views/history.qtpl:73
} }
//line views/history.qtpl:76 //line views/history.qtpl:75
func streamrecentChangesEntry(qw422016 *qt422016.Writer, rev history.Revision) { func streamrecentChangesEntry(qw422016 *qt422016.Writer, rev history.Revision) {
//line views/history.qtpl:76 //line views/history.qtpl:75
qw422016.N().S(` qw422016.N().S(`
<li class="rc-entry__time"><time>`) <li class="rc-entry__time"><time>`)
//line views/history.qtpl:77 //line views/history.qtpl:76
qw422016.E().S(rev.TimeString()) qw422016.E().S(rev.TimeString())
//line views/history.qtpl:77 //line views/history.qtpl:76
qw422016.N().S(`</time></li> qw422016.N().S(`</time></li>
<li class="rc-entry__hash">`) <li class="rc-entry__hash">`)
//line views/history.qtpl:78 //line views/history.qtpl:77
qw422016.E().S(rev.Hash) qw422016.E().S(rev.Hash)
//line views/history.qtpl:78 //line views/history.qtpl:77
qw422016.N().S(`</li> qw422016.N().S(`</li>
<li class="rc-entry__links">`) <li class="rc-entry__links">`)
//line views/history.qtpl:79 //line views/history.qtpl:78
qw422016.N().S(rev.HyphaeLinksHTML()) qw422016.N().S(rev.HyphaeLinksHTML())
//line views/history.qtpl:79 //line views/history.qtpl:78
qw422016.N().S(`</li> qw422016.N().S(`</li>
<li class="rc-entry__msg">`) <li class="rc-entry__msg">`)
//line views/history.qtpl:80 //line views/history.qtpl:79
qw422016.E().S(rev.Message) qw422016.E().S(rev.Message)
//line views/history.qtpl:80 //line views/history.qtpl:79
qw422016.N().S(` `) qw422016.N().S(` `)
//line views/history.qtpl:80 //line views/history.qtpl:79
if rev.Username != "anon" { if rev.Username != "anon" {
//line views/history.qtpl:80 //line views/history.qtpl:79
qw422016.N().S(`<span class="rc-entry__author">by <a href="/hypha/`) qw422016.N().S(`<span class="rc-entry__author">by <a href="/hypha/`)
//line views/history.qtpl:80 //line views/history.qtpl:79
qw422016.E().S(util.UserHypha) qw422016.E().S(util.UserHypha)
//line views/history.qtpl:80 //line views/history.qtpl:79
qw422016.N().S(`/`) qw422016.N().S(`/`)
//line views/history.qtpl:80 //line views/history.qtpl:79
qw422016.E().S(rev.Username) qw422016.E().S(rev.Username)
//line views/history.qtpl:80 //line views/history.qtpl:79
qw422016.N().S(`" rel="author">`) qw422016.N().S(`" rel="author">`)
//line views/history.qtpl:80 //line views/history.qtpl:79
qw422016.E().S(rev.Username) qw422016.E().S(rev.Username)
//line views/history.qtpl:80 //line views/history.qtpl:79
qw422016.N().S(`</a></span>`) qw422016.N().S(`</a></span>`)
//line views/history.qtpl:80 //line views/history.qtpl:79
} }
//line views/history.qtpl:80 //line views/history.qtpl:79
qw422016.N().S(`</li> qw422016.N().S(`</li>
`) `)
//line views/history.qtpl:81 //line views/history.qtpl:80
} }
//line views/history.qtpl:81 //line views/history.qtpl:80
func writerecentChangesEntry(qq422016 qtio422016.Writer, rev history.Revision) { func writerecentChangesEntry(qq422016 qtio422016.Writer, rev history.Revision) {
//line views/history.qtpl:81 //line views/history.qtpl:80
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/history.qtpl:81 //line views/history.qtpl:80
streamrecentChangesEntry(qw422016, rev) streamrecentChangesEntry(qw422016, rev)
//line views/history.qtpl:81 //line views/history.qtpl:80
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/history.qtpl:81 //line views/history.qtpl:80
} }
//line views/history.qtpl:81 //line views/history.qtpl:80
func recentChangesEntry(rev history.Revision) string { func recentChangesEntry(rev history.Revision) string {
//line views/history.qtpl:81 //line views/history.qtpl:80
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/history.qtpl:81 //line views/history.qtpl:80
writerecentChangesEntry(qb422016, rev) writerecentChangesEntry(qb422016, rev)
//line views/history.qtpl:81 //line views/history.qtpl:80
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/history.qtpl:81 //line views/history.qtpl:80
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/history.qtpl:81 //line views/history.qtpl:80
return qs422016 return qs422016
//line views/history.qtpl:81 //line views/history.qtpl:80
} }
//line views/history.qtpl:83 //line views/history.qtpl:82
func StreamHistoryHTML(qw422016 *qt422016.Writer, rq *http.Request, hyphaName, list string) { func StreamHistoryHTML(qw422016 *qt422016.Writer, rq *http.Request, hyphaName, list string) {
//line views/history.qtpl:83 //line views/history.qtpl:82
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/history.qtpl:84 //line views/history.qtpl:83
StreamNavHTML(qw422016, rq, hyphaName, "history") StreamNavHTML(qw422016, rq, hyphaName, "history")
//line views/history.qtpl:84 //line views/history.qtpl:83
qw422016.N().S(` qw422016.N().S(`
<div class="layout"> <div class="layout">
<main class="main-width"> <main class="main-width">
<article class="history"> <article class="history">
<h1>History of `) <h1>History of `)
//line views/history.qtpl:88 //line views/history.qtpl:87
qw422016.E().S(util.BeautifulName(hyphaName)) qw422016.E().S(util.BeautifulName(hyphaName))
//line views/history.qtpl:88 //line views/history.qtpl:87
qw422016.N().S(`</h1> qw422016.N().S(`</h1>
`) `)
//line views/history.qtpl:89 //line views/history.qtpl:88
qw422016.N().S(list) qw422016.N().S(list)
//line views/history.qtpl:89 //line views/history.qtpl:88
qw422016.N().S(` qw422016.N().S(`
</article> </article>
</main> </main>
</div> </div>
`) `)
//line views/history.qtpl:93 //line views/history.qtpl:92
} }
//line views/history.qtpl:93 //line views/history.qtpl:92
func WriteHistoryHTML(qq422016 qtio422016.Writer, rq *http.Request, hyphaName, list string) { func WriteHistoryHTML(qq422016 qtio422016.Writer, rq *http.Request, hyphaName, list string) {
//line views/history.qtpl:93 //line views/history.qtpl:92
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/history.qtpl:93 //line views/history.qtpl:92
StreamHistoryHTML(qw422016, rq, hyphaName, list) StreamHistoryHTML(qw422016, rq, hyphaName, list)
//line views/history.qtpl:93 //line views/history.qtpl:92
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/history.qtpl:93 //line views/history.qtpl:92
} }
//line views/history.qtpl:93 //line views/history.qtpl:92
func HistoryHTML(rq *http.Request, hyphaName, list string) string { func HistoryHTML(rq *http.Request, hyphaName, list string) string {
//line views/history.qtpl:93 //line views/history.qtpl:92
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/history.qtpl:93 //line views/history.qtpl:92
WriteHistoryHTML(qb422016, rq, hyphaName, list) WriteHistoryHTML(qb422016, rq, hyphaName, list)
//line views/history.qtpl:93 //line views/history.qtpl:92
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/history.qtpl:93 //line views/history.qtpl:92
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/history.qtpl:93 //line views/history.qtpl:92
return qs422016 return qs422016
//line views/history.qtpl:93 //line views/history.qtpl:92
} }

View File

@ -22,8 +22,7 @@
<span aria-hidden="true" class="navi-title__separator">/</span> <span aria-hidden="true" class="navi-title__separator">/</span>
{% endif %} {% endif %}
<a href="{%s prevAcc + part %}" <a href="{%s prevAcc + part %}" rel="{% if i == len(parts) - 1 %}bookmark{% else %}up{% endif %}">
rel="{% if i == len(parts) - 1 %}bookmark{% else %}up{% endif %}">
{%s= util.BeautifulName(part) %} {%s= util.BeautifulName(part) %}
</a> </a>
{% code prevAcc += part + "/" %} {% code prevAcc += part + "/" %}

View File

@ -67,167 +67,167 @@ func StreamNaviTitleHTML(qw422016 *qt422016.Writer, h *hyphae.Hypha) {
//line views/hypha.qtpl:25 //line views/hypha.qtpl:25
qw422016.E().S(prevAcc + part) qw422016.E().S(prevAcc + part)
//line views/hypha.qtpl:25 //line views/hypha.qtpl:25
qw422016.N().S(`"rel="`) qw422016.N().S(`" rel="`)
//line views/hypha.qtpl:26 //line views/hypha.qtpl:25
if i == len(parts)-1 { if i == len(parts)-1 {
//line views/hypha.qtpl:26 //line views/hypha.qtpl:25
qw422016.N().S(`bookmark`) qw422016.N().S(`bookmark`)
//line views/hypha.qtpl:26 //line views/hypha.qtpl:25
} else { } else {
//line views/hypha.qtpl:26 //line views/hypha.qtpl:25
qw422016.N().S(`up`) qw422016.N().S(`up`)
//line views/hypha.qtpl:26 //line views/hypha.qtpl:25
} }
//line views/hypha.qtpl:26 //line views/hypha.qtpl:25
qw422016.N().S(`">`) qw422016.N().S(`">`)
//line views/hypha.qtpl:27 //line views/hypha.qtpl:26
qw422016.N().S(util.BeautifulName(part)) qw422016.N().S(util.BeautifulName(part))
//line views/hypha.qtpl:27 //line views/hypha.qtpl:26
qw422016.N().S(`</a>`) qw422016.N().S(`</a>`)
//line views/hypha.qtpl:29 //line views/hypha.qtpl:28
prevAcc += part + "/" prevAcc += part + "/"
//line views/hypha.qtpl:30 //line views/hypha.qtpl:29
} }
//line views/hypha.qtpl:31 //line views/hypha.qtpl:30
qw422016.N().S(` qw422016.N().S(`
</h1> </h1>
`) `)
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
} }
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
func WriteNaviTitleHTML(qq422016 qtio422016.Writer, h *hyphae.Hypha) { func WriteNaviTitleHTML(qq422016 qtio422016.Writer, h *hyphae.Hypha) {
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
StreamNaviTitleHTML(qw422016, h) StreamNaviTitleHTML(qw422016, h)
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
} }
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
func NaviTitleHTML(h *hyphae.Hypha) string { func NaviTitleHTML(h *hyphae.Hypha) string {
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
WriteNaviTitleHTML(qb422016, h) WriteNaviTitleHTML(qb422016, h)
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
return qs422016 return qs422016
//line views/hypha.qtpl:33 //line views/hypha.qtpl:32
} }
//line views/hypha.qtpl:35 //line views/hypha.qtpl:34
func StreamAttachmentHTML(qw422016 *qt422016.Writer, h *hyphae.Hypha) { func StreamAttachmentHTML(qw422016 *qt422016.Writer, h *hyphae.Hypha) {
//line views/hypha.qtpl:35 //line views/hypha.qtpl:34
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/hypha.qtpl:36 //line views/hypha.qtpl:35
switch filepath.Ext(h.BinaryPath) { switch filepath.Ext(h.BinaryPath) {
//line views/hypha.qtpl:38 //line views/hypha.qtpl:37
case ".jpg", ".gif", ".png", ".webp", ".svg", ".ico": case ".jpg", ".gif", ".png", ".webp", ".svg", ".ico":
//line views/hypha.qtpl:38 //line views/hypha.qtpl:37
qw422016.N().S(` qw422016.N().S(`
<div class="binary-container binary-container_with-img"> <div class="binary-container binary-container_with-img">
<a href="/binary/`) <a href="/binary/`)
//line views/hypha.qtpl:40 //line views/hypha.qtpl:39
qw422016.N().S(h.Name) qw422016.N().S(h.Name)
//line views/hypha.qtpl:40 //line views/hypha.qtpl:39
qw422016.N().S(`"><img src="/binary/`) qw422016.N().S(`"><img src="/binary/`)
//line views/hypha.qtpl:40 //line views/hypha.qtpl:39
qw422016.N().S(h.Name) qw422016.N().S(h.Name)
//line views/hypha.qtpl:40 //line views/hypha.qtpl:39
qw422016.N().S(`"/></a> qw422016.N().S(`"/></a>
</div> </div>
`) `)
//line views/hypha.qtpl:43 //line views/hypha.qtpl:42
case ".ogg", ".webm", ".mp4": case ".ogg", ".webm", ".mp4":
//line views/hypha.qtpl:43 //line views/hypha.qtpl:42
qw422016.N().S(` qw422016.N().S(`
<div class="binary-container binary-container_with-video"> <div class="binary-container binary-container_with-video">
<video controls> <video controls>
<source src="/binary/`) <source src="/binary/`)
//line views/hypha.qtpl:46 //line views/hypha.qtpl:45
qw422016.N().S(h.Name) qw422016.N().S(h.Name)
//line views/hypha.qtpl:46 //line views/hypha.qtpl:45
qw422016.N().S(`"/> qw422016.N().S(`"/>
<p>Your browser does not support video. <a href="/binary/`) <p>Your browser does not support video. <a href="/binary/`)
//line views/hypha.qtpl:47 //line views/hypha.qtpl:46
qw422016.N().S(h.Name) qw422016.N().S(h.Name)
//line views/hypha.qtpl:47 //line views/hypha.qtpl:46
qw422016.N().S(`">Download video</a></p> qw422016.N().S(`">Download video</a></p>
</video> </video>
</div> </div>
`) `)
//line views/hypha.qtpl:51 //line views/hypha.qtpl:50
case ".mp3": case ".mp3":
//line views/hypha.qtpl:51 //line views/hypha.qtpl:50
qw422016.N().S(` qw422016.N().S(`
<div class="binary-container binary-container_with-audio"> <div class="binary-container binary-container_with-audio">
<audio controls> <audio controls>
<source src="/binary/`) <source src="/binary/`)
//line views/hypha.qtpl:54 //line views/hypha.qtpl:53
qw422016.N().S(h.Name) qw422016.N().S(h.Name)
//line views/hypha.qtpl:54 //line views/hypha.qtpl:53
qw422016.N().S(`"/> qw422016.N().S(`"/>
<p>Your browser does not support audio. <a href="/binary/`) <p>Your browser does not support audio. <a href="/binary/`)
//line views/hypha.qtpl:55 //line views/hypha.qtpl:54
qw422016.N().S(h.Name) qw422016.N().S(h.Name)
//line views/hypha.qtpl:55 //line views/hypha.qtpl:54
qw422016.N().S(`">Download audio</a></p> qw422016.N().S(`">Download audio</a></p>
</audio> </audio>
</div> </div>
`) `)
//line views/hypha.qtpl:59 //line views/hypha.qtpl:58
default: default:
//line views/hypha.qtpl:59 //line views/hypha.qtpl:58
qw422016.N().S(` qw422016.N().S(`
<div class="binary-container binary-container_with-nothing"> <div class="binary-container binary-container_with-nothing">
<p><a href="/binary/`) <p><a href="/binary/`)
//line views/hypha.qtpl:61 //line views/hypha.qtpl:60
qw422016.N().S(h.Name) qw422016.N().S(h.Name)
//line views/hypha.qtpl:61 //line views/hypha.qtpl:60
qw422016.N().S(`">Download media</a></p> qw422016.N().S(`">Download media</a></p>
</div> </div>
`) `)
//line views/hypha.qtpl:63 //line views/hypha.qtpl:62
} }
//line views/hypha.qtpl:63 //line views/hypha.qtpl:62
qw422016.N().S(` qw422016.N().S(`
`) `)
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
} }
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
func WriteAttachmentHTML(qq422016 qtio422016.Writer, h *hyphae.Hypha) { func WriteAttachmentHTML(qq422016 qtio422016.Writer, h *hyphae.Hypha) {
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
StreamAttachmentHTML(qw422016, h) StreamAttachmentHTML(qw422016, h)
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
} }
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
func AttachmentHTML(h *hyphae.Hypha) string { func AttachmentHTML(h *hyphae.Hypha) string {
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
WriteAttachmentHTML(qb422016, h) WriteAttachmentHTML(qb422016, h)
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
return qs422016 return qs422016
//line views/hypha.qtpl:64 //line views/hypha.qtpl:63
} }

View File

@ -52,7 +52,7 @@ var navEntries = []navEntry{
{% if u.Group == "anon" %} {% if u.Group == "anon" %}
<a href="/login" class="header-links__link">Login</a> <a href="/login" class="header-links__link">Login</a>
{% else %} {% else %}
<a href="/page/{%s util.UserHypha %}/{%s u.Name %}" class="header-links__link">{%s u.Name %}</a> <a href="/hypha/{%s util.UserHypha %}/{%s u.Name %}" class="header-links__link">{%s u.Name %}</a>
{% endif %} {% endif %}
</li> </li>
{% endif %} {% endif %}

View File

@ -162,7 +162,7 @@ func StreamUserMenuHTML(qw422016 *qt422016.Writer, u *user.User) {
} else { } else {
//line views/nav.qtpl:54 //line views/nav.qtpl:54
qw422016.N().S(` qw422016.N().S(`
<a href="/page/`) <a href="/hypha/`)
//line views/nav.qtpl:55 //line views/nav.qtpl:55
qw422016.E().S(util.UserHypha) qw422016.E().S(util.UserHypha)
//line views/nav.qtpl:55 //line views/nav.qtpl:55