mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2025-01-08 02:40:26 +00:00
Fix sibling hypha name
This commit is contained in:
parent
ebd36bdfdf
commit
1fff7cfdf1
@ -25,7 +25,7 @@ A **subhypha** is a hypha that has a name starting with a name of a different hy
|
|||||||
|
|
||||||
Thus, a **superhypha** is a reverse of subhypha: //Fruit// is the superhypha of //Fruit/Apple//. There can be only one superhypha.
|
Thus, a **superhypha** is a reverse of subhypha: //Fruit// is the superhypha of //Fruit/Apple//. There can be only one superhypha.
|
||||||
|
|
||||||
**Sister hyphae** are hyphae that are subhyphae of the same hypha. For example, //Fruit/Apple// and //Fruit/Pear// are sister hyphae.
|
**Sibling hyphae** are hyphae that are subhyphae of the same hypha. For example, //Fruit/Apple// and //Fruit/Pear// are sibling hyphae.
|
||||||
|
|
||||||
## Word
|
## Word
|
||||||
Read the word //hypha// as /ˈhaɪfə/. The plural form is //hyphae//. Read it as /ˈhaɪfi/.
|
Read the word //hypha// as /ˈhaɪfə/. The plural form is //hyphae//. Read it as /ˈhaɪfi/.
|
||||||
|
@ -74,7 +74,7 @@ header { width: 100%; margin-bottom: 1rem; }
|
|||||||
.layout { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; margin: 0 1rem; row-gap: 1rem; }
|
.layout { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; margin: 0 1rem; row-gap: 1rem; }
|
||||||
.main-width { margin: 0; }
|
.main-width { margin: 0; }
|
||||||
main { grid-column: 1 / span 1; grid-row: 1 / span 2; }
|
main { grid-column: 1 / span 1; grid-row: 1 / span 2; }
|
||||||
.sister-hyphae, .edit-toolbar, .help-topics { grid-column: 2 / span 1; grid-row: 1 / span 1; }
|
.sibling-hyphae, .edit-toolbar, .help-topics { grid-column: 2 / span 1; grid-row: 1 / span 1; }
|
||||||
.layout-card { width: 100%; }
|
.layout-card { width: 100%; }
|
||||||
.edit-toolbar__buttons {display: grid; }
|
.edit-toolbar__buttons {display: grid; }
|
||||||
}
|
}
|
||||||
@ -89,7 +89,7 @@ header { width: 100%; margin-bottom: 1rem; }
|
|||||||
.main-width { margin: 0 auto; }
|
.main-width { margin: 0 auto; }
|
||||||
.backlinks { grid-column: 1 / span 1; margin-right: 0; }
|
.backlinks { grid-column: 1 / span 1; margin-right: 0; }
|
||||||
main { grid-column: 2 / span 1; }
|
main { grid-column: 2 / span 1; }
|
||||||
.sister-hyphae, .edit-toolbar, .help-topics { grid-column: 3 / span 1; margin-left: 0; }
|
.sibling-hyphae, .edit-toolbar, .help-topics { grid-column: 3 / span 1; margin-left: 0; }
|
||||||
.edit-toolbar__buttons { grid-template-columns: 1fr; }
|
.edit-toolbar__buttons { grid-template-columns: 1fr; }
|
||||||
|
|
||||||
.backlinks__title { text-align: right; }
|
.backlinks__title { text-align: right; }
|
||||||
@ -193,11 +193,11 @@ caption { caption-side: top; font-size: small; }
|
|||||||
.subhyphae__link { display: block; padding: .25rem; text-decoration: none; }
|
.subhyphae__link { display: block; padding: .25rem; text-decoration: none; }
|
||||||
.subhyphae__link:hover { background: #eee; }
|
.subhyphae__link:hover { background: #eee; }
|
||||||
|
|
||||||
.sister-hyphae__list { padding: 0; margin: 0; }
|
.sibling-hyphae__list { padding: 0; margin: 0; }
|
||||||
.sister-hyphae__entry { clear: both; }
|
.sibling-hyphae__entry { clear: both; }
|
||||||
.sister-hyphae__count { display: inline-block; float: right; }
|
.sibling-hyphae__count { display: inline-block; float: right; }
|
||||||
.sister-hyphae__entry_this { padding: .25rem .5rem; font-weight: bold; }
|
.sibling-hyphae__entry_this { padding: .25rem .5rem; font-weight: bold; }
|
||||||
.sister-hyphae__link { text-decoration: none; display: block; padding: .25rem .5rem; }
|
.sibling-hyphae__link { text-decoration: none; display: block; padding: .25rem .5rem; }
|
||||||
|
|
||||||
/* Color stuff */
|
/* Color stuff */
|
||||||
/* Lighter stuff #eee */
|
/* Lighter stuff #eee */
|
||||||
@ -255,7 +255,7 @@ blockquote { border-left: 2px #999 solid; }
|
|||||||
.upload-amnt { border: #eee 1px solid; }
|
.upload-amnt { border: #eee 1px solid; }
|
||||||
td { border: #ddd 1px solid; }
|
td { border: #ddd 1px solid; }
|
||||||
|
|
||||||
.sister-hyphae__link:hover, .backlinks__link:hover { background-color: #eee; }
|
.sibling-hyphae__link:hover, .backlinks__link:hover { background-color: #eee; }
|
||||||
|
|
||||||
/* Dark theme! */
|
/* Dark theme! */
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
@ -265,7 +265,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; }
|
||||||
.subhyphae__link:hover, .sister-hyphae__link:hover, .backlinks__link:hover { background-color: #444; }
|
.subhyphae__link:hover, .sibling-hyphae__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; }
|
||||||
|
@ -87,7 +87,7 @@ func Tree(hyphaName string) (siblingsHTML, childrenHTML, prev, next string) {
|
|||||||
for i, s := range siblings {
|
for i, s := range siblings {
|
||||||
if s.name == hyphaName {
|
if s.name == hyphaName {
|
||||||
I = i
|
I = i
|
||||||
siblingsHTML += fmt.Sprintf(`<li class="sister-hyphae__entry sister-hyphae__entry_this"><span>%s</span></li>`, util.BeautifulName(path.Base(hyphaName)))
|
siblingsHTML += fmt.Sprintf(`<li class="sibling-hyphae__entry sibling-hyphae__entry_this"><span>%s</span></li>`, util.BeautifulName(path.Base(hyphaName)))
|
||||||
} else {
|
} else {
|
||||||
siblingsHTML += siblingHTML(s)
|
siblingsHTML += siblingHTML(s)
|
||||||
}
|
}
|
||||||
@ -98,7 +98,7 @@ func Tree(hyphaName string) (siblingsHTML, childrenHTML, prev, next string) {
|
|||||||
if I != len(siblings)-1 && len(siblings) > 1 {
|
if I != len(siblings)-1 && len(siblings) > 1 {
|
||||||
next = siblings[I+1].name
|
next = siblings[I+1].name
|
||||||
}
|
}
|
||||||
return fmt.Sprintf(`<ul class="sister-hyphae__list">%s</ul>`, siblingsHTML), subhyphaeMatrix(children), prev, next
|
return fmt.Sprintf(`<ul class="sibling-hyphae__list">%s</ul>`, siblingsHTML), subhyphaeMatrix(children), prev, next
|
||||||
}
|
}
|
||||||
|
|
||||||
type child struct {
|
type child struct {
|
||||||
|
@ -35,17 +35,17 @@ pseudographics:
|
|||||||
|
|
||||||
|
|
||||||
{% func siblingHTML(s *sibling) %}
|
{% func siblingHTML(s *sibling) %}
|
||||||
<li class="sister-hyphae__entry">
|
<li class="sibling-hyphae__entry">
|
||||||
<a class="sister-hyphae__link" href="/hypha/{%s s.name %}">
|
<a class="sibling-hyphae__link" href="/hypha/{%s s.name %}">
|
||||||
{%s util.BeautifulName(path.Base(s.name)) %}
|
{%s util.BeautifulName(path.Base(s.name)) %}
|
||||||
<span class="sister-hyphae__count">
|
<span class="sibling-hyphae__count">
|
||||||
{% if s.directSubhyphaeCount > 0 %}
|
{% if s.directSubhyphaeCount > 0 %}
|
||||||
<span class="sister-hyphae__direct-count">
|
<span class="sibling-hyphae__direct-count">
|
||||||
{%d s.directSubhyphaeCount %}
|
{%d s.directSubhyphaeCount %}
|
||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if s.indirectSubhyphaeCount > 0 %}
|
{% if s.indirectSubhyphaeCount > 0 %}
|
||||||
<span class="sister-hyphae__indirect-count">
|
<span class="sibling-hyphae__indirect-count">
|
||||||
({%d s.indirectSubhyphaeCount %})
|
({%d s.indirectSubhyphaeCount %})
|
||||||
</span>
|
</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -155,8 +155,8 @@ func childHTML(c *child) string {
|
|||||||
func streamsiblingHTML(qw422016 *qt422016.Writer, s *sibling) {
|
func streamsiblingHTML(qw422016 *qt422016.Writer, s *sibling) {
|
||||||
//line tree/view.qtpl:37
|
//line tree/view.qtpl:37
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<li class="sister-hyphae__entry">
|
<li class="sibling-hyphae__entry">
|
||||||
<a class="sister-hyphae__link" href="/hypha/`)
|
<a class="sibling-hyphae__link" href="/hypha/`)
|
||||||
//line tree/view.qtpl:39
|
//line tree/view.qtpl:39
|
||||||
qw422016.E().S(s.name)
|
qw422016.E().S(s.name)
|
||||||
//line tree/view.qtpl:39
|
//line tree/view.qtpl:39
|
||||||
@ -166,13 +166,13 @@ func streamsiblingHTML(qw422016 *qt422016.Writer, s *sibling) {
|
|||||||
qw422016.E().S(util.BeautifulName(path.Base(s.name)))
|
qw422016.E().S(util.BeautifulName(path.Base(s.name)))
|
||||||
//line tree/view.qtpl:40
|
//line tree/view.qtpl:40
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<span class="sister-hyphae__count">
|
<span class="sibling-hyphae__count">
|
||||||
`)
|
`)
|
||||||
//line tree/view.qtpl:42
|
//line tree/view.qtpl:42
|
||||||
if s.directSubhyphaeCount > 0 {
|
if s.directSubhyphaeCount > 0 {
|
||||||
//line tree/view.qtpl:42
|
//line tree/view.qtpl:42
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<span class="sister-hyphae__direct-count">
|
<span class="sibling-hyphae__direct-count">
|
||||||
`)
|
`)
|
||||||
//line tree/view.qtpl:44
|
//line tree/view.qtpl:44
|
||||||
qw422016.N().D(s.directSubhyphaeCount)
|
qw422016.N().D(s.directSubhyphaeCount)
|
||||||
@ -189,7 +189,7 @@ func streamsiblingHTML(qw422016 *qt422016.Writer, s *sibling) {
|
|||||||
if s.indirectSubhyphaeCount > 0 {
|
if s.indirectSubhyphaeCount > 0 {
|
||||||
//line tree/view.qtpl:47
|
//line tree/view.qtpl:47
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<span class="sister-hyphae__indirect-count">
|
<span class="sibling-hyphae__indirect-count">
|
||||||
(`)
|
(`)
|
||||||
//line tree/view.qtpl:49
|
//line tree/view.qtpl:49
|
||||||
qw422016.N().D(s.indirectSubhyphaeCount)
|
qw422016.N().D(s.indirectSubhyphaeCount)
|
||||||
|
@ -64,10 +64,10 @@ var navEntries = []navEntry{
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfunc %}
|
{% endfunc %}
|
||||||
|
|
||||||
{% func sisterHyphaeHTML(sisters string) %}
|
{% func siblingHyphaeHTML(siblings string) %}
|
||||||
<aside class="sister-hyphae layout-card">
|
<aside class="sibling-hyphae layout-card">
|
||||||
<h2 class="sister-hyphae__title layout-card__title">Sister hyphae</h2>
|
<h2 class="sibling-hyphae__title layout-card__title">Sibling hyphae</h2>
|
||||||
{%s= sisters %}
|
{%s= siblings %}
|
||||||
</aside>
|
</aside>
|
||||||
{% endfunc %}
|
{% endfunc %}
|
||||||
|
|
||||||
|
@ -233,14 +233,14 @@ func UserMenuHTML(u *user.User) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//line views/nav.qtpl:67
|
//line views/nav.qtpl:67
|
||||||
func streamsisterHyphaeHTML(qw422016 *qt422016.Writer, sisters string) {
|
func streamsiblingHyphaeHTML(qw422016 *qt422016.Writer, siblings string) {
|
||||||
//line views/nav.qtpl:67
|
//line views/nav.qtpl:67
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
<aside class="sister-hyphae layout-card">
|
<aside class="sibling-hyphae layout-card">
|
||||||
<h2 class="sister-hyphae__title layout-card__title">Sister hyphae</h2>
|
<h2 class="sibling-hyphae__title layout-card__title">Sibling hyphae</h2>
|
||||||
`)
|
`)
|
||||||
//line views/nav.qtpl:70
|
//line views/nav.qtpl:70
|
||||||
qw422016.N().S(sisters)
|
qw422016.N().S(siblings)
|
||||||
//line views/nav.qtpl:70
|
//line views/nav.qtpl:70
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</aside>
|
</aside>
|
||||||
@ -249,22 +249,22 @@ func streamsisterHyphaeHTML(qw422016 *qt422016.Writer, sisters string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//line views/nav.qtpl:72
|
//line views/nav.qtpl:72
|
||||||
func writesisterHyphaeHTML(qq422016 qtio422016.Writer, sisters string) {
|
func writesiblingHyphaeHTML(qq422016 qtio422016.Writer, siblings string) {
|
||||||
//line views/nav.qtpl:72
|
//line views/nav.qtpl:72
|
||||||
qw422016 := qt422016.AcquireWriter(qq422016)
|
qw422016 := qt422016.AcquireWriter(qq422016)
|
||||||
//line views/nav.qtpl:72
|
//line views/nav.qtpl:72
|
||||||
streamsisterHyphaeHTML(qw422016, sisters)
|
streamsiblingHyphaeHTML(qw422016, siblings)
|
||||||
//line views/nav.qtpl:72
|
//line views/nav.qtpl:72
|
||||||
qt422016.ReleaseWriter(qw422016)
|
qt422016.ReleaseWriter(qw422016)
|
||||||
//line views/nav.qtpl:72
|
//line views/nav.qtpl:72
|
||||||
}
|
}
|
||||||
|
|
||||||
//line views/nav.qtpl:72
|
//line views/nav.qtpl:72
|
||||||
func sisterHyphaeHTML(sisters string) string {
|
func siblingHyphaeHTML(siblings string) string {
|
||||||
//line views/nav.qtpl:72
|
//line views/nav.qtpl:72
|
||||||
qb422016 := qt422016.AcquireByteBuffer()
|
qb422016 := qt422016.AcquireByteBuffer()
|
||||||
//line views/nav.qtpl:72
|
//line views/nav.qtpl:72
|
||||||
writesisterHyphaeHTML(qb422016, sisters)
|
writesiblingHyphaeHTML(qb422016, siblings)
|
||||||
//line views/nav.qtpl:72
|
//line views/nav.qtpl:72
|
||||||
qs422016 := string(qb422016.B)
|
qs422016 := string(qb422016.B)
|
||||||
//line views/nav.qtpl:72
|
//line views/nav.qtpl:72
|
||||||
|
@ -77,7 +77,7 @@
|
|||||||
If `contents` == "", a helpful message is shown instead.
|
If `contents` == "", a helpful message is shown instead.
|
||||||
{% func HyphaHTML(rq *http.Request, h *hyphae.Hypha, contents string) %}
|
{% func HyphaHTML(rq *http.Request, h *hyphae.Hypha, contents string) %}
|
||||||
{% code
|
{% code
|
||||||
sisters, subhyphae, prevHyphaName, nextHyphaName := tree.Tree(h.Name)
|
siblings, subhyphae, prevHyphaName, nextHyphaName := tree.Tree(h.Name)
|
||||||
u := user.FromRequest(rq)
|
u := user.FromRequest(rq)
|
||||||
%}
|
%}
|
||||||
{%= NavHTML(rq, h.Name, "hypha") %}
|
{%= NavHTML(rq, h.Name, "hypha") %}
|
||||||
@ -101,14 +101,14 @@ If `contents` == "", a helpful message is shown instead.
|
|||||||
</section>
|
</section>
|
||||||
{%= SubhyphaeHTML(subhyphae) %}
|
{%= SubhyphaeHTML(subhyphae) %}
|
||||||
</main>
|
</main>
|
||||||
{%= sisterHyphaeHTML(sisters) %}
|
{%= siblingHyphaeHTML(siblings) %}
|
||||||
</div>
|
</div>
|
||||||
{%= viewScripts() %}
|
{%= viewScripts() %}
|
||||||
{% endfunc %}
|
{% endfunc %}
|
||||||
|
|
||||||
{% func RevisionHTML(rq *http.Request, h *hyphae.Hypha, contents, revHash string) %}
|
{% func RevisionHTML(rq *http.Request, h *hyphae.Hypha, contents, revHash string) %}
|
||||||
{% code
|
{% code
|
||||||
sisters, subhyphae, _, _ := tree.Tree(h.Name)
|
siblings, subhyphae, _, _ := tree.Tree(h.Name)
|
||||||
%}
|
%}
|
||||||
{%= NavHTML(rq, h.Name, "revision", revHash) %}
|
{%= NavHTML(rq, h.Name, "revision", revHash) %}
|
||||||
<div class="layout">
|
<div class="layout">
|
||||||
@ -120,7 +120,7 @@ If `contents` == "", a helpful message is shown instead.
|
|||||||
</article>
|
</article>
|
||||||
{%= SubhyphaeHTML(subhyphae) %}
|
{%= SubhyphaeHTML(subhyphae) %}
|
||||||
</main>
|
</main>
|
||||||
{%= sisterHyphaeHTML(sisters) %}
|
{%= siblingHyphaeHTML(siblings) %}
|
||||||
</div>
|
</div>
|
||||||
{%= viewScripts() %}
|
{%= viewScripts() %}
|
||||||
{% endfunc %}
|
{% endfunc %}
|
||||||
|
@ -234,7 +234,7 @@ func StreamHyphaHTML(qw422016 *qt422016.Writer, rq *http.Request, h *hyphae.Hyph
|
|||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:80
|
//line views/readers.qtpl:80
|
||||||
sisters, subhyphae, prevHyphaName, nextHyphaName := tree.Tree(h.Name)
|
siblings, subhyphae, prevHyphaName, nextHyphaName := tree.Tree(h.Name)
|
||||||
u := user.FromRequest(rq)
|
u := user.FromRequest(rq)
|
||||||
|
|
||||||
//line views/readers.qtpl:82
|
//line views/readers.qtpl:82
|
||||||
@ -326,7 +326,7 @@ func StreamHyphaHTML(qw422016 *qt422016.Writer, rq *http.Request, h *hyphae.Hyph
|
|||||||
</main>
|
</main>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:104
|
//line views/readers.qtpl:104
|
||||||
streamsisterHyphaeHTML(qw422016, sisters)
|
streamsiblingHyphaeHTML(qw422016, siblings)
|
||||||
//line views/readers.qtpl:104
|
//line views/readers.qtpl:104
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</div>
|
</div>
|
||||||
@ -371,7 +371,7 @@ func StreamRevisionHTML(qw422016 *qt422016.Writer, rq *http.Request, h *hyphae.H
|
|||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:111
|
//line views/readers.qtpl:111
|
||||||
sisters, subhyphae, _, _ := tree.Tree(h.Name)
|
siblings, subhyphae, _, _ := tree.Tree(h.Name)
|
||||||
|
|
||||||
//line views/readers.qtpl:112
|
//line views/readers.qtpl:112
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
@ -403,7 +403,7 @@ func StreamRevisionHTML(qw422016 *qt422016.Writer, rq *http.Request, h *hyphae.H
|
|||||||
</main>
|
</main>
|
||||||
`)
|
`)
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:123
|
||||||
streamsisterHyphaeHTML(qw422016, sisters)
|
streamsiblingHyphaeHTML(qw422016, siblings)
|
||||||
//line views/readers.qtpl:123
|
//line views/readers.qtpl:123
|
||||||
qw422016.N().S(`
|
qw422016.N().S(`
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user