mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2025-07-03 10:12:50 +00:00
Add log out link to current user's profile
For the first time, you can log out from Mycorrhiza!
This commit is contained in:
parent
9ade6a34e0
commit
c69d4946ec
@ -189,6 +189,7 @@ var localizations = map[string]string{
|
|||||||
"en.ui.list_heading": "List of hyphae",
|
"en.ui.list_heading": "List of hyphae",
|
||||||
"en.ui.list_title": "List of pages",
|
"en.ui.list_title": "List of pages",
|
||||||
"en.ui.login": "Login",
|
"en.ui.login": "Login",
|
||||||
|
"en.ui.logout_link": "Log out",
|
||||||
"en.ui.media_download": "Download media",
|
"en.ui.media_download": "Download media",
|
||||||
"en.ui.media_noaudio": "Your browser does not support audio.",
|
"en.ui.media_noaudio": "Your browser does not support audio.",
|
||||||
"en.ui.media_noaudio_link": "Download audio",
|
"en.ui.media_noaudio_link": "Download audio",
|
||||||
@ -427,6 +428,7 @@ var localizations = map[string]string{
|
|||||||
"ru.ui.list_heading": "Список гиф",
|
"ru.ui.list_heading": "Список гиф",
|
||||||
"ru.ui.list_title": "Список страниц",
|
"ru.ui.list_title": "Список страниц",
|
||||||
"ru.ui.login": "Войти",
|
"ru.ui.login": "Войти",
|
||||||
|
"ru.ui.logout_link": "Выйти",
|
||||||
"ru.ui.media_download": "Скачать медиа",
|
"ru.ui.media_download": "Скачать медиа",
|
||||||
"ru.ui.media_noaudio": "Ваш браузер не поддерживает аудио.",
|
"ru.ui.media_noaudio": "Ваш браузер не поддерживает аудио.",
|
||||||
"ru.ui.media_noaudio_link": "Скачать аудио",
|
"ru.ui.media_noaudio_link": "Скачать аудио",
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
"list_desc+other": "hyphae",
|
"list_desc+other": "hyphae",
|
||||||
|
|
||||||
"edit_link": "Edit text",
|
"edit_link": "Edit text",
|
||||||
|
"logout_link": "Log out",
|
||||||
"history_link": "View history",
|
"history_link": "View history",
|
||||||
"rename_link": "Rename",
|
"rename_link": "Rename",
|
||||||
"delete_link": "Delete",
|
"delete_link": "Delete",
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
"list_desc+many": "гиф",
|
"list_desc+many": "гиф",
|
||||||
|
|
||||||
"edit_link": "Редактировать",
|
"edit_link": "Редактировать",
|
||||||
|
"logout_link": "Выйти",
|
||||||
"history_link": "История",
|
"history_link": "История",
|
||||||
"rename_link": "Переименовать",
|
"rename_link": "Переименовать",
|
||||||
"delete_link": "Удалить",
|
"delete_link": "Удалить",
|
||||||
|
@ -778,12 +778,12 @@ kbd {
|
|||||||
/*
|
/*
|
||||||
* Buttons beside the hypha title
|
* Buttons beside the hypha title
|
||||||
*/
|
*/
|
||||||
.edit-btn {
|
.btn_navititle {
|
||||||
float: right;
|
float: right;
|
||||||
margin: -0.25rem 0;
|
margin: -0.25rem 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
.edit-btn__link {
|
.btn__link_navititle {
|
||||||
display: block;
|
display: block;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
|
@ -64,6 +64,13 @@ func CanonicalName(name string) string {
|
|||||||
return util.CanonicalName(name)
|
return util.CanonicalName(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsProfileName if the given hypha name is a profile name. It takes configuration into consideration.
|
||||||
|
//
|
||||||
|
// With default configuration, u/ is the prefix such names have. For example, u/wikimind matches. Note that u/wikimind/sub does not.
|
||||||
|
func IsProfileName(hyphaName string) bool {
|
||||||
|
return strings.HasPrefix(hyphaName, cfg.UserHypha+"/") && strings.Count(hyphaName, "/") == 1
|
||||||
|
}
|
||||||
|
|
||||||
// HyphaNameFromRq extracts hypha name from http request. You have to also pass the action which is embedded in the url or several actions. For url /hypha/hypha, the action would be "hypha".
|
// HyphaNameFromRq extracts hypha name from http request. You have to also pass the action which is embedded in the url or several actions. For url /hypha/hypha, the action would be "hypha".
|
||||||
func HyphaNameFromRq(rq *http.Request, actions ...string) string {
|
func HyphaNameFromRq(rq *http.Request, actions ...string) string {
|
||||||
p := rq.URL.Path
|
p := rq.URL.Path
|
||||||
|
@ -91,9 +91,15 @@ If you rename .prevnext, change the docs too.
|
|||||||
<div class="jump-btn">
|
<div class="jump-btn">
|
||||||
<a class="jump-btn__link" href="#hypha-bottom">↓</a>
|
<a class="jump-btn__link" href="#hypha-bottom">↓</a>
|
||||||
</div>
|
</div>
|
||||||
{% if u.CanProceed("edit") %}<div class="btn edit-btn">
|
|
||||||
<a class="edit-btn__link" href="/edit/{%s h.Name %}">{%s lc.Get("ui.edit_link") %}</a>
|
{% if u.CanProceed("edit") %}<div class="btn btn_navititle">
|
||||||
|
<a class="btn__link_navititle" href="/edit/{%s h.Name %}">{%s lc.Get("ui.edit_link") %}</a>
|
||||||
</div>{% endif %}
|
</div>{% endif %}
|
||||||
|
|
||||||
|
{% if cfg.UseAuth && util.IsProfileName(h.Name) && u.Name == strings.TrimPrefix(h.Name, cfg.UserHypha + "/") %}<div class="btn btn_navititle">
|
||||||
|
<a class="btn__link_navititle" href="/logout">{%s lc.Get("ui.logout_link") %}</a>
|
||||||
|
</div>{% endif %}
|
||||||
|
|
||||||
{%s= NaviTitleHTML(h) %}
|
{%s= NaviTitleHTML(h) %}
|
||||||
{% if h.Exists %}
|
{% if h.Exists %}
|
||||||
{%s= contents %}
|
{%s= contents %}
|
||||||
|
@ -319,286 +319,304 @@ func StreamHyphaHTML(qw422016 *qt422016.Writer, rq *http.Request, lc *l18n.Local
|
|||||||
<div class="jump-btn">
|
<div class="jump-btn">
|
||||||
<a class="jump-btn__link" href="#hypha-bottom">↓</a>
|
<a class="jump-btn__link" href="#hypha-bottom">↓</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:94
|
//line views/readers.qtpl:95
|
||||||
if u.CanProceed("edit") {
|
if u.CanProceed("edit") {
|
||||||
//line views/readers.qtpl:94
|
|
||||||
qw422016.N().S(`<div class="btn edit-btn">
|
|
||||||
<a class="edit-btn__link" href="/edit/`)
|
|
||||||
//line views/readers.qtpl:95
|
//line views/readers.qtpl:95
|
||||||
|
qw422016.N().S(`<div class="btn btn_navititle">
|
||||||
|
<a class="btn__link_navititle" href="/edit/`)
|
||||||
|
//line views/readers.qtpl:96
|
||||||
qw422016.E().S(h.Name)
|
qw422016.E().S(h.Name)
|
||||||
//line views/readers.qtpl:95
|
//line views/readers.qtpl:96
|
||||||
qw422016.N().S(`">`)
|
qw422016.N().S(`">`)
|
||||||
//line views/readers.qtpl:95
|
//line views/readers.qtpl:96
|
||||||
qw422016.E().S(lc.Get("ui.edit_link"))
|
qw422016.E().S(lc.Get("ui.edit_link"))
|
||||||
//line views/readers.qtpl:95
|
//line views/readers.qtpl:96
|
||||||
qw422016.N().S(`</a>
|
qw422016.N().S(`</a>
|
||||||
</div>`)
|
</div>`)
|
||||||
//line views/readers.qtpl:96
|
|
||||||
}
|
|
||||||
//line views/readers.qtpl:96
|
|
||||||
qw422016.N().S(`
|
|
||||||
`)
|
|
||||||
//line views/readers.qtpl:97
|
//line views/readers.qtpl:97
|
||||||
|
}
|
||||||
|
//line views/readers.qtpl:97
|
||||||
|
qw422016.N().S(`
|
||||||
|
|
||||||
|
`)
|
||||||
|
//line views/readers.qtpl:99
|
||||||
|
if cfg.UseAuth && util.IsProfileName(h.Name) && u.Name == strings.TrimPrefix(h.Name, cfg.UserHypha+"/") {
|
||||||
|
//line views/readers.qtpl:99
|
||||||
|
qw422016.N().S(`<div class="btn btn_navititle">
|
||||||
|
<a class="btn__link_navititle" href="/logout">`)
|
||||||
|
//line views/readers.qtpl:100
|
||||||
|
qw422016.E().S(lc.Get("ui.logout_link"))
|
||||||
|
//line views/readers.qtpl:100
|
||||||
|
qw422016.N().S(`</a>
|
||||||
|
</div>`)
|
||||||
|
//line views/readers.qtpl:101
|
||||||
|
}
|
||||||
|
//line views/readers.qtpl:101
|
||||||
|
qw422016.N().S(`
|
||||||
|
|
||||||
|
`)
|
||||||
|
//line views/readers.qtpl:103
|
||||||
qw422016.N().S(NaviTitleHTML(h))
|
qw422016.N().S(NaviTitleHTML(h))
|
||||||
//line views/readers.qtpl:97
|
//line views/readers.qtpl:103
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:98
|
//line views/readers.qtpl:104
|
||||||
if h.Exists {
|
if h.Exists {
|
||||||
//line views/readers.qtpl:98
|
//line views/readers.qtpl:104
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:99
|
//line views/readers.qtpl:105
|
||||||
qw422016.N().S(contents)
|
qw422016.N().S(contents)
|
||||||
//line views/readers.qtpl:99
|
//line views/readers.qtpl:105
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:100
|
//line views/readers.qtpl:106
|
||||||
} else {
|
} else {
|
||||||
//line views/readers.qtpl:100
|
//line views/readers.qtpl:106
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:101
|
//line views/readers.qtpl:107
|
||||||
streamnonExistentHyphaNotice(qw422016, h, u, lc)
|
streamnonExistentHyphaNotice(qw422016, h, u, lc)
|
||||||
//line views/readers.qtpl:101
|
//line views/readers.qtpl:107
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:102
|
//line views/readers.qtpl:108
|
||||||
}
|
}
|
||||||
//line views/readers.qtpl:102
|
//line views/readers.qtpl:108
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</section>
|
</section>
|
||||||
<section class="prevnext">
|
<section class="prevnext">
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:105
|
//line views/readers.qtpl:111
|
||||||
if prevHyphaName != "" {
|
if prevHyphaName != "" {
|
||||||
//line views/readers.qtpl:105
|
//line views/readers.qtpl:111
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<a class="prevnext__el prevnext__prev" href="/hypha/`)
|
<a class="prevnext__el prevnext__prev" href="/hypha/`)
|
||||||
//line views/readers.qtpl:106
|
//line views/readers.qtpl:112
|
||||||
qw422016.E().S(prevHyphaName)
|
qw422016.E().S(prevHyphaName)
|
||||||
//line views/readers.qtpl:106
|
//line views/readers.qtpl:112
|
||||||
qw422016.N().S(`" rel="prev">← `)
|
qw422016.N().S(`" rel="prev">← `)
|
||||||
//line views/readers.qtpl:106
|
//line views/readers.qtpl:112
|
||||||
qw422016.E().S(util.BeautifulName(path.Base(prevHyphaName)))
|
qw422016.E().S(util.BeautifulName(path.Base(prevHyphaName)))
|
||||||
//line views/readers.qtpl:106
|
//line views/readers.qtpl:112
|
||||||
qw422016.N().S(`</a>
|
qw422016.N().S(`</a>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:107
|
//line views/readers.qtpl:113
|
||||||
}
|
}
|
||||||
//line views/readers.qtpl:107
|
//line views/readers.qtpl:113
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:108
|
//line views/readers.qtpl:114
|
||||||
if nextHyphaName != "" {
|
if nextHyphaName != "" {
|
||||||
//line views/readers.qtpl:108
|
//line views/readers.qtpl:114
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<a class="prevnext__el prevnext__next" href="/hypha/`)
|
<a class="prevnext__el prevnext__next" href="/hypha/`)
|
||||||
//line views/readers.qtpl:109
|
//line views/readers.qtpl:115
|
||||||
qw422016.E().S(nextHyphaName)
|
qw422016.E().S(nextHyphaName)
|
||||||
//line views/readers.qtpl:109
|
//line views/readers.qtpl:115
|
||||||
qw422016.N().S(`" rel="next">`)
|
qw422016.N().S(`" rel="next">`)
|
||||||
//line views/readers.qtpl:109
|
//line views/readers.qtpl:115
|
||||||
qw422016.E().S(util.BeautifulName(path.Base(nextHyphaName)))
|
qw422016.E().S(util.BeautifulName(path.Base(nextHyphaName)))
|
||||||
//line views/readers.qtpl:109
|
//line views/readers.qtpl:115
|
||||||
qw422016.N().S(` →</a>
|
qw422016.N().S(` →</a>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:110
|
//line views/readers.qtpl:116
|
||||||
}
|
}
|
||||||
//line views/readers.qtpl:110
|
//line views/readers.qtpl:116
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</section>
|
</section>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:112
|
//line views/readers.qtpl:118
|
||||||
StreamSubhyphaeHTML(qw422016, subhyphae, lc)
|
StreamSubhyphaeHTML(qw422016, subhyphae, lc)
|
||||||
//line views/readers.qtpl:112
|
//line views/readers.qtpl:118
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<section id="hypha-bottom">
|
<section id="hypha-bottom">
|
||||||
<div class="jump-btn">
|
<div class="jump-btn">
|
||||||
<a class="jump-btn__link" href="#hypha">↑</a>
|
<a class="jump-btn__link" href="#hypha">↑</a>
|
||||||
</div>
|
</div>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:117
|
//line views/readers.qtpl:123
|
||||||
streamhyphaInfo(qw422016, rq, h)
|
streamhyphaInfo(qw422016, rq, h)
|
||||||
//line views/readers.qtpl:117
|
//line views/readers.qtpl:123
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:120
|
//line views/readers.qtpl:126
|
||||||
streamsiblingHyphaeHTML(qw422016, siblings, lc)
|
streamsiblingHyphaeHTML(qw422016, siblings, lc)
|
||||||
//line views/readers.qtpl:120
|
//line views/readers.qtpl:126
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</div>
|
</div>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:122
|
//line views/readers.qtpl:128
|
||||||
streamviewScripts(qw422016)
|
streamviewScripts(qw422016)
|
||||||
//line views/readers.qtpl:122
|
//line views/readers.qtpl:128
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
func WriteHyphaHTML(qq422016 qtio422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents string) {
|
func WriteHyphaHTML(qq422016 qtio422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents string) {
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
StreamHyphaHTML(qw422016, rq, lc, h, contents)
|
StreamHyphaHTML(qw422016, rq, lc, h, contents)
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
func HyphaHTML(rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents string) string {
|
func HyphaHTML(rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents string) string {
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
WriteHyphaHTML(qb422016, rq, lc, h, contents)
|
WriteHyphaHTML(qb422016, rq, lc, h, contents)
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
return qs422016
|
return qs422016
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:129
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/readers.qtpl:125
|
//line views/readers.qtpl:131
|
||||||
func StreamRevisionHTML(qw422016 *qt422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) {
|
func StreamRevisionHTML(qw422016 *qt422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) {
|
||||||
//line views/readers.qtpl:125
|
//line views/readers.qtpl:131
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:127
|
//line views/readers.qtpl:133
|
||||||
siblings, subhyphae, _, _ := tree.Tree(h.Name)
|
siblings, subhyphae, _, _ := tree.Tree(h.Name)
|
||||||
|
|
||||||
//line views/readers.qtpl:128
|
//line views/readers.qtpl:134
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<div class="layout">
|
<div class="layout">
|
||||||
<main class="main-width">
|
<main class="main-width">
|
||||||
<section>
|
<section>
|
||||||
<p>`)
|
<p>`)
|
||||||
//line views/readers.qtpl:132
|
//line views/readers.qtpl:138
|
||||||
qw422016.E().S(lc.Get("ui.revision_warning"))
|
qw422016.E().S(lc.Get("ui.revision_warning"))
|
||||||
//line views/readers.qtpl:132
|
//line views/readers.qtpl:138
|
||||||
qw422016.N().S(` <a href="/rev-text/`)
|
qw422016.N().S(` <a href="/rev-text/`)
|
||||||
//line views/readers.qtpl:132
|
//line views/readers.qtpl:138
|
||||||
qw422016.E().S(revHash)
|
qw422016.E().S(revHash)
|
||||||
//line views/readers.qtpl:132
|
//line views/readers.qtpl:138
|
||||||
qw422016.N().S(`/`)
|
qw422016.N().S(`/`)
|
||||||
//line views/readers.qtpl:132
|
//line views/readers.qtpl:138
|
||||||
qw422016.E().S(h.Name)
|
qw422016.E().S(h.Name)
|
||||||
//line views/readers.qtpl:132
|
//line views/readers.qtpl:138
|
||||||
qw422016.N().S(`">`)
|
qw422016.N().S(`">`)
|
||||||
//line views/readers.qtpl:132
|
//line views/readers.qtpl:138
|
||||||
qw422016.E().S(lc.Get("ui.revision_link"))
|
qw422016.E().S(lc.Get("ui.revision_link"))
|
||||||
//line views/readers.qtpl:132
|
//line views/readers.qtpl:138
|
||||||
qw422016.N().S(`</a></p>
|
qw422016.N().S(`</a></p>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:133
|
//line views/readers.qtpl:139
|
||||||
qw422016.N().S(NaviTitleHTML(h))
|
qw422016.N().S(NaviTitleHTML(h))
|
||||||
//line views/readers.qtpl:133
|
//line views/readers.qtpl:139
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:134
|
//line views/readers.qtpl:140
|
||||||
qw422016.N().S(contents)
|
qw422016.N().S(contents)
|
||||||
//line views/readers.qtpl:134
|
//line views/readers.qtpl:140
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</section>
|
</section>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:136
|
//line views/readers.qtpl:142
|
||||||
StreamSubhyphaeHTML(qw422016, subhyphae, lc)
|
StreamSubhyphaeHTML(qw422016, subhyphae, lc)
|
||||||
//line views/readers.qtpl:136
|
//line views/readers.qtpl:142
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</main>
|
</main>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:138
|
//line views/readers.qtpl:144
|
||||||
streamsiblingHyphaeHTML(qw422016, siblings, lc)
|
streamsiblingHyphaeHTML(qw422016, siblings, lc)
|
||||||
//line views/readers.qtpl:138
|
//line views/readers.qtpl:144
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</div>
|
</div>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:140
|
//line views/readers.qtpl:146
|
||||||
streamviewScripts(qw422016)
|
streamviewScripts(qw422016)
|
||||||
//line views/readers.qtpl:140
|
//line views/readers.qtpl:146
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
func WriteRevisionHTML(qq422016 qtio422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) {
|
func WriteRevisionHTML(qq422016 qtio422016.Writer, rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) {
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
StreamRevisionHTML(qw422016, rq, lc, h, contents, revHash)
|
StreamRevisionHTML(qw422016, rq, lc, h, contents, revHash)
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
func RevisionHTML(rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) string {
|
func RevisionHTML(rq *http.Request, lc *l18n.Localizer, h *hyphae.Hypha, contents, revHash string) string {
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
WriteRevisionHTML(qb422016, rq, lc, h, contents, revHash)
|
WriteRevisionHTML(qb422016, rq, lc, h, contents, revHash)
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
return qs422016
|
return qs422016
|
||||||
//line views/readers.qtpl:141
|
//line views/readers.qtpl:147
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/readers.qtpl:143
|
//line views/readers.qtpl:149
|
||||||
func streamviewScripts(qw422016 *qt422016.Writer) {
|
func streamviewScripts(qw422016 *qt422016.Writer) {
|
||||||
//line views/readers.qtpl:143
|
//line views/readers.qtpl:149
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:144
|
//line views/readers.qtpl:150
|
||||||
for _, scriptPath := range cfg.ViewScripts {
|
for _, scriptPath := range cfg.ViewScripts {
|
||||||
//line views/readers.qtpl:144
|
//line views/readers.qtpl:150
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<script src="`)
|
<script src="`)
|
||||||
//line views/readers.qtpl:145
|
//line views/readers.qtpl:151
|
||||||
qw422016.E().S(scriptPath)
|
qw422016.E().S(scriptPath)
|
||||||
//line views/readers.qtpl:145
|
//line views/readers.qtpl:151
|
||||||
qw422016.N().S(`"></script>
|
qw422016.N().S(`"></script>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:146
|
//line views/readers.qtpl:152
|
||||||
}
|
}
|
||||||
//line views/readers.qtpl:146
|
//line views/readers.qtpl:152
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
func writeviewScripts(qq422016 qtio422016.Writer) {
|
func writeviewScripts(qq422016 qtio422016.Writer) {
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
streamviewScripts(qw422016)
|
streamviewScripts(qw422016)
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
func viewScripts() string {
|
func viewScripts() string {
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
writeviewScripts(qb422016)
|
writeviewScripts(qb422016)
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
qt422016.ReleaseByteBuffer(qb422016)
|
qt422016.ReleaseByteBuffer(qb422016)
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
return qs422016
|
return qs422016
|
||||||
//line views/readers.qtpl:147
|
//line views/readers.qtpl:153
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user