mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2025-01-05 17:40:26 +00:00
Siblings: Disable the sidebar by default
This commit is contained in:
parent
8686204e0f
commit
dd3f2c698a
@ -1,5 +1,6 @@
|
||||
WikiName = My wiki
|
||||
NaviTitleIcon = 🐑
|
||||
UseSiblingHyphaeSidebar = false
|
||||
|
||||
[Hyphae]
|
||||
HomeHypha = home
|
||||
|
@ -1,5 +1,6 @@
|
||||
WikiName = Mycorrhiza (dev)
|
||||
NaviTitleIcon = 🧑💻
|
||||
UseSiblingHyphaeSidebar = false
|
||||
|
||||
[Hyphae]
|
||||
HomeHypha = home
|
||||
|
@ -17,8 +17,9 @@ import (
|
||||
// See https://mycorrhiza.wiki/hypha/configuration/fields for the
|
||||
// documentation.
|
||||
var (
|
||||
WikiName string
|
||||
NaviTitleIcon string
|
||||
WikiName string
|
||||
NaviTitleIcon string
|
||||
UseSiblingHyphaeSidebar bool
|
||||
|
||||
HomeHypha string
|
||||
UserHypha string
|
||||
@ -51,8 +52,9 @@ var WikiDir string
|
||||
// Config represents a Mycorrhiza wiki configuration file. This type is used
|
||||
// only when reading configs.
|
||||
type Config struct {
|
||||
WikiName string `comment:"This name appears in the header and on various pages."`
|
||||
NaviTitleIcon string `comment:"This icon is used in the breadcrumbs bar."`
|
||||
WikiName string `comment:"This name appears in the header and on various pages."`
|
||||
NaviTitleIcon string `comment:"This icon is used in the breadcrumbs bar."`
|
||||
UseSiblingHyphaeSidebar bool `comment:"You are discouraged from using the sibling hyphae sidebar on new wikis. Enable it on old wikis that depend on it heavily."`
|
||||
Hyphae
|
||||
Network
|
||||
Authorization
|
||||
@ -67,8 +69,7 @@ type Hyphae struct {
|
||||
HeaderLinksHypha string `comment:"You can also specify a hypha to populate your own custom header links from."`
|
||||
}
|
||||
|
||||
// Network is a section of Config that has fields related to network stuff:
|
||||
// HTTP and Gemini.
|
||||
// Network is a section of Config that has fields related to network stuff.
|
||||
type Network struct {
|
||||
ListenAddr string
|
||||
URL string `comment:"Set your wiki's public URL here. It's used for OpenGraph generation and syndication feeds."`
|
||||
@ -94,6 +95,8 @@ type Authorization struct {
|
||||
Locked bool `comment:"Set if users have to authorize to see anything on the wiki."`
|
||||
UseWhiteList bool `comment:"If true, WhiteList is used. Else it is not used."`
|
||||
WhiteList []string `delim:"," comment:"Usernames of people who can log in to your wiki separated by comma."`
|
||||
|
||||
// TODO: let admins enable auth-less editing
|
||||
}
|
||||
|
||||
// Telegram is the section of Config that sets Telegram authorization.
|
||||
@ -106,8 +109,9 @@ type Telegram struct {
|
||||
// configuration. Call it sometime during the initialization.
|
||||
func ReadConfigFile(path string) error {
|
||||
cfg := &Config{
|
||||
WikiName: "Mycorrhiza Wiki",
|
||||
NaviTitleIcon: "🍄",
|
||||
WikiName: "Mycorrhiza Wiki",
|
||||
NaviTitleIcon: "🍄",
|
||||
UseSiblingHyphaeSidebar: false,
|
||||
Hyphae: Hyphae{
|
||||
HomeHypha: "home",
|
||||
UserHypha: "u",
|
||||
@ -167,6 +171,7 @@ func ReadConfigFile(path string) error {
|
||||
// Map the struct to the global variables
|
||||
WikiName = cfg.WikiName
|
||||
NaviTitleIcon = cfg.NaviTitleIcon
|
||||
UseSiblingHyphaeSidebar = cfg.UseSiblingHyphaeSidebar
|
||||
HomeHypha = cfg.HomeHypha
|
||||
UserHypha = cfg.UserHypha
|
||||
HeaderLinksHypha = cfg.HeaderLinksHypha
|
||||
|
@ -1,5 +1,6 @@
|
||||
{% import "net/http" %}
|
||||
{% import "strings" %}
|
||||
{% import "github.com/bouncepaw/mycorrhiza/cfg" %}
|
||||
{% import "github.com/bouncepaw/mycorrhiza/hyphae/backlinks" %}
|
||||
{% import "github.com/bouncepaw/mycorrhiza/l18n" %}
|
||||
{% import "github.com/bouncepaw/mycorrhiza/user" %}
|
||||
@ -32,10 +33,12 @@
|
||||
{% endfunc %}
|
||||
|
||||
{% func siblingHyphaeHTML(siblings string, lc *l18n.Localizer) %}
|
||||
{% if cfg.UseSiblingHyphaeSidebar %}
|
||||
<aside class="sibling-hyphae layout-card">
|
||||
<h2 class="sibling-hyphae__title layout-card__title">{%s lc.Get("ui.sibling_hyphae") %}</h2>
|
||||
{%s= siblings %}
|
||||
</aside>
|
||||
{% endif %}
|
||||
{% endfunc %}
|
||||
|
||||
{% func SubhyphaeHTML(subhyphae string, lc *l18n.Localizer) %}
|
||||
|
@ -11,271 +11,284 @@ import "net/http"
|
||||
import "strings"
|
||||
|
||||
//line views/nav.qtpl:3
|
||||
import "github.com/bouncepaw/mycorrhiza/hyphae/backlinks"
|
||||
import "github.com/bouncepaw/mycorrhiza/cfg"
|
||||
|
||||
//line views/nav.qtpl:4
|
||||
import "github.com/bouncepaw/mycorrhiza/l18n"
|
||||
import "github.com/bouncepaw/mycorrhiza/hyphae/backlinks"
|
||||
|
||||
//line views/nav.qtpl:5
|
||||
import "github.com/bouncepaw/mycorrhiza/user"
|
||||
import "github.com/bouncepaw/mycorrhiza/l18n"
|
||||
|
||||
//line views/nav.qtpl:6
|
||||
import "github.com/bouncepaw/mycorrhiza/user"
|
||||
|
||||
//line views/nav.qtpl:7
|
||||
import "github.com/bouncepaw/mycorrhiza/hyphae"
|
||||
|
||||
//line views/nav.qtpl:8
|
||||
//line views/nav.qtpl:9
|
||||
import (
|
||||
qtio422016 "io"
|
||||
|
||||
qt422016 "github.com/valyala/quicktemplate"
|
||||
)
|
||||
|
||||
//line views/nav.qtpl:8
|
||||
//line views/nav.qtpl:9
|
||||
var (
|
||||
_ = qtio422016.Copy
|
||||
_ = qt422016.AcquireByteBuffer
|
||||
)
|
||||
|
||||
//line views/nav.qtpl:8
|
||||
//line views/nav.qtpl:9
|
||||
func streamhyphaInfoEntry(qw422016 *qt422016.Writer, h hyphae.Hypha, u *user.User, action, displayText string) {
|
||||
//line views/nav.qtpl:8
|
||||
//line views/nav.qtpl:9
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:9
|
||||
//line views/nav.qtpl:10
|
||||
if u.CanProceed(action) {
|
||||
//line views/nav.qtpl:9
|
||||
//line views/nav.qtpl:10
|
||||
qw422016.N().S(`
|
||||
<li class="hypha-info__entry hypha-info__entry_`)
|
||||
//line views/nav.qtpl:10
|
||||
//line views/nav.qtpl:11
|
||||
qw422016.E().S(action)
|
||||
//line views/nav.qtpl:10
|
||||
//line views/nav.qtpl:11
|
||||
qw422016.N().S(`">
|
||||
<a class="hypha-info__link" href="/`)
|
||||
//line views/nav.qtpl:11
|
||||
//line views/nav.qtpl:12
|
||||
qw422016.E().S(action)
|
||||
//line views/nav.qtpl:11
|
||||
//line views/nav.qtpl:12
|
||||
qw422016.N().S(`/`)
|
||||
//line views/nav.qtpl:11
|
||||
//line views/nav.qtpl:12
|
||||
qw422016.E().S(h.CanonicalName())
|
||||
//line views/nav.qtpl:11
|
||||
//line views/nav.qtpl:12
|
||||
qw422016.N().S(`">`)
|
||||
//line views/nav.qtpl:11
|
||||
//line views/nav.qtpl:12
|
||||
qw422016.E().S(displayText)
|
||||
//line views/nav.qtpl:11
|
||||
//line views/nav.qtpl:12
|
||||
qw422016.N().S(`</a>
|
||||
</li>
|
||||
`)
|
||||
//line views/nav.qtpl:13
|
||||
//line views/nav.qtpl:14
|
||||
}
|
||||
//line views/nav.qtpl:13
|
||||
//line views/nav.qtpl:14
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
func writehyphaInfoEntry(qq422016 qtio422016.Writer, h hyphae.Hypha, u *user.User, action, displayText string) {
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
streamhyphaInfoEntry(qw422016, h, u, action, displayText)
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
func hyphaInfoEntry(h hyphae.Hypha, u *user.User, action, displayText string) string {
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
writehyphaInfoEntry(qb422016, h, u, action, displayText)
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
return qs422016
|
||||
//line views/nav.qtpl:14
|
||||
//line views/nav.qtpl:15
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:16
|
||||
//line views/nav.qtpl:17
|
||||
func streamhyphaInfo(qw422016 *qt422016.Writer, rq *http.Request, h hyphae.Hypha) {
|
||||
//line views/nav.qtpl:16
|
||||
//line views/nav.qtpl:17
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:18
|
||||
//line views/nav.qtpl:19
|
||||
u := user.FromRequest(rq)
|
||||
lc := l18n.FromRequest(rq)
|
||||
backs := backlinks.BacklinksCount(h)
|
||||
|
||||
//line views/nav.qtpl:21
|
||||
//line views/nav.qtpl:22
|
||||
qw422016.N().S(`
|
||||
<nav class="hypha-info">
|
||||
<ul class="hypha-info__list">
|
||||
`)
|
||||
//line views/nav.qtpl:24
|
||||
//line views/nav.qtpl:25
|
||||
streamhyphaInfoEntry(qw422016, h, u, "history", lc.Get("ui.history_link"))
|
||||
//line views/nav.qtpl:24
|
||||
//line views/nav.qtpl:25
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:25
|
||||
//line views/nav.qtpl:26
|
||||
streamhyphaInfoEntry(qw422016, h, u, "rename-ask", lc.Get("ui.rename_link"))
|
||||
//line views/nav.qtpl:25
|
||||
//line views/nav.qtpl:26
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:26
|
||||
//line views/nav.qtpl:27
|
||||
streamhyphaInfoEntry(qw422016, h, u, "delete-ask", lc.Get("ui.delete_link"))
|
||||
//line views/nav.qtpl:26
|
||||
//line views/nav.qtpl:27
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:27
|
||||
//line views/nav.qtpl:28
|
||||
streamhyphaInfoEntry(qw422016, h, u, "text", lc.Get("ui.text_link"))
|
||||
//line views/nav.qtpl:27
|
||||
//line views/nav.qtpl:28
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:28
|
||||
//line views/nav.qtpl:29
|
||||
streamhyphaInfoEntry(qw422016, h, u, "attachment", lc.Get("ui.attachment_link"))
|
||||
//line views/nav.qtpl:28
|
||||
//line views/nav.qtpl:29
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:29
|
||||
//line views/nav.qtpl:30
|
||||
streamhyphaInfoEntry(qw422016, h, u, "backlinks", lc.GetPlural("ui.backlinks_link", backs))
|
||||
//line views/nav.qtpl:29
|
||||
//line views/nav.qtpl:30
|
||||
qw422016.N().S(`
|
||||
</ul>
|
||||
</nav>
|
||||
`)
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
func writehyphaInfo(qq422016 qtio422016.Writer, rq *http.Request, h hyphae.Hypha) {
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
streamhyphaInfo(qw422016, rq, h)
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
func hyphaInfo(rq *http.Request, h hyphae.Hypha) string {
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
writehyphaInfo(qb422016, rq, h)
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
return qs422016
|
||||
//line views/nav.qtpl:32
|
||||
//line views/nav.qtpl:33
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:34
|
||||
//line views/nav.qtpl:35
|
||||
func streamsiblingHyphaeHTML(qw422016 *qt422016.Writer, siblings string, lc *l18n.Localizer) {
|
||||
//line views/nav.qtpl:34
|
||||
//line views/nav.qtpl:35
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:36
|
||||
if cfg.UseSiblingHyphaeSidebar {
|
||||
//line views/nav.qtpl:36
|
||||
qw422016.N().S(`
|
||||
<aside class="sibling-hyphae layout-card">
|
||||
<h2 class="sibling-hyphae__title layout-card__title">`)
|
||||
//line views/nav.qtpl:36
|
||||
qw422016.E().S(lc.Get("ui.sibling_hyphae"))
|
||||
//line views/nav.qtpl:36
|
||||
qw422016.N().S(`</h2>
|
||||
//line views/nav.qtpl:38
|
||||
qw422016.E().S(lc.Get("ui.sibling_hyphae"))
|
||||
//line views/nav.qtpl:38
|
||||
qw422016.N().S(`</h2>
|
||||
`)
|
||||
//line views/nav.qtpl:37
|
||||
qw422016.N().S(siblings)
|
||||
//line views/nav.qtpl:37
|
||||
qw422016.N().S(`
|
||||
//line views/nav.qtpl:39
|
||||
qw422016.N().S(siblings)
|
||||
//line views/nav.qtpl:39
|
||||
qw422016.N().S(`
|
||||
</aside>
|
||||
`)
|
||||
//line views/nav.qtpl:39
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:39
|
||||
func writesiblingHyphaeHTML(qq422016 qtio422016.Writer, siblings string, lc *l18n.Localizer) {
|
||||
//line views/nav.qtpl:39
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/nav.qtpl:39
|
||||
streamsiblingHyphaeHTML(qw422016, siblings, lc)
|
||||
//line views/nav.qtpl:39
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/nav.qtpl:39
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:39
|
||||
func siblingHyphaeHTML(siblings string, lc *l18n.Localizer) string {
|
||||
//line views/nav.qtpl:39
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/nav.qtpl:39
|
||||
writesiblingHyphaeHTML(qb422016, siblings, lc)
|
||||
//line views/nav.qtpl:39
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/nav.qtpl:39
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/nav.qtpl:39
|
||||
return qs422016
|
||||
//line views/nav.qtpl:39
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:41
|
||||
func StreamSubhyphaeHTML(qw422016 *qt422016.Writer, subhyphae string, lc *l18n.Localizer) {
|
||||
}
|
||||
//line views/nav.qtpl:41
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:42
|
||||
if strings.TrimSpace(subhyphae) != "" {
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:42
|
||||
func writesiblingHyphaeHTML(qq422016 qtio422016.Writer, siblings string, lc *l18n.Localizer) {
|
||||
//line views/nav.qtpl:42
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/nav.qtpl:42
|
||||
streamsiblingHyphaeHTML(qw422016, siblings, lc)
|
||||
//line views/nav.qtpl:42
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/nav.qtpl:42
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:42
|
||||
func siblingHyphaeHTML(siblings string, lc *l18n.Localizer) string {
|
||||
//line views/nav.qtpl:42
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/nav.qtpl:42
|
||||
writesiblingHyphaeHTML(qb422016, siblings, lc)
|
||||
//line views/nav.qtpl:42
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/nav.qtpl:42
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/nav.qtpl:42
|
||||
return qs422016
|
||||
//line views/nav.qtpl:42
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:44
|
||||
func StreamSubhyphaeHTML(qw422016 *qt422016.Writer, subhyphae string, lc *l18n.Localizer) {
|
||||
//line views/nav.qtpl:44
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:45
|
||||
if strings.TrimSpace(subhyphae) != "" {
|
||||
//line views/nav.qtpl:45
|
||||
qw422016.N().S(`
|
||||
<section class="subhyphae">
|
||||
<h2 class="subhyphae__title">`)
|
||||
//line views/nav.qtpl:44
|
||||
//line views/nav.qtpl:47
|
||||
qw422016.E().S(lc.Get("ui.subhyphae"))
|
||||
//line views/nav.qtpl:44
|
||||
//line views/nav.qtpl:47
|
||||
qw422016.N().S(`</h2>
|
||||
<nav class="subhyphae__nav">
|
||||
<ul class="subhyphae__list">
|
||||
`)
|
||||
//line views/nav.qtpl:47
|
||||
//line views/nav.qtpl:50
|
||||
qw422016.N().S(subhyphae)
|
||||
//line views/nav.qtpl:47
|
||||
//line views/nav.qtpl:50
|
||||
qw422016.N().S(`
|
||||
</ul>
|
||||
</nav>
|
||||
</section>
|
||||
`)
|
||||
//line views/nav.qtpl:51
|
||||
//line views/nav.qtpl:54
|
||||
}
|
||||
//line views/nav.qtpl:51
|
||||
//line views/nav.qtpl:54
|
||||
qw422016.N().S(`
|
||||
`)
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
func WriteSubhyphaeHTML(qq422016 qtio422016.Writer, subhyphae string, lc *l18n.Localizer) {
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
StreamSubhyphaeHTML(qw422016, subhyphae, lc)
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
qt422016.ReleaseWriter(qw422016)
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
}
|
||||
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
func SubhyphaeHTML(subhyphae string, lc *l18n.Localizer) string {
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
qb422016 := qt422016.AcquireByteBuffer()
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
WriteSubhyphaeHTML(qb422016, subhyphae, lc)
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
qs422016 := string(qb422016.B)
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
qt422016.ReleaseByteBuffer(qb422016)
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
return qs422016
|
||||
//line views/nav.qtpl:52
|
||||
//line views/nav.qtpl:55
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user