diff options
author | Alex Shpak <alex-shpak@users.noreply.github.com> | 2018-09-17 18:29:36 +0200 |
---|---|---|
committer | Alex Shpak <alex-shpak@users.noreply.github.com> | 2018-09-17 18:29:36 +0200 |
commit | 561659ed53a1eb1e7583513af5fa2faba55fca7e (patch) | |
tree | a43ff90df5e613d0be23010df7abdd0666c7020f /layouts | |
parent | 0dec1cd3a8845fa81a0c88d10e6b5597701d6c1e (diff) |
Improve page title handling and side menu templates
Diffstat (limited to 'layouts')
-rw-r--r-- | layouts/docs/baseof.html | 4 | ||||
-rw-r--r-- | layouts/partials/docs/html-head.html | 1 | ||||
-rw-r--r-- | layouts/partials/docs/nav-filetree.html | 55 | ||||
-rw-r--r-- | layouts/partials/docs/shared.html | 11 |
4 files changed, 39 insertions, 32 deletions
diff --git a/layouts/docs/baseof.html b/layouts/docs/baseof.html index a71bd59..4119888 100644 --- a/layouts/docs/baseof.html +++ b/layouts/docs/baseof.html @@ -1,9 +1,9 @@ <!DOCTYPE html> +<!-- {{ partial "docs/shared" }} --> <html> <head> {{ partial "docs/html-head" . }} {{ partial "docs/inject/head" . }} - <title>{{ block "title" . }} {{- .Site.Title -}} {{ end }}</title> </head> <body> @@ -27,7 +27,7 @@ <div class="pure-g"> <div class="pure-u book-page markdown"> - {{ block "main" . }} {{- .Content -}} {{ end }} + {{- .Content -}} </div> {{ $showToC := default (default true .Site.Params.BookShowToC) .Params.bookshowtoc }} {{ if and ($showToC) (.Page.TableOfContents) }} diff --git a/layouts/partials/docs/html-head.html b/layouts/partials/docs/html-head.html index ecf8a4c..e77c218 100644 --- a/layouts/partials/docs/html-head.html +++ b/layouts/partials/docs/html-head.html @@ -1,5 +1,6 @@ <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>{{- template "title" . }} | {{ .Site.Title -}}</title> <link href="https://fonts.googleapis.com/css?family=Roboto+Mono|Roboto:300,400,700" rel="stylesheet"> <link href="/css/pure-min.css" rel="stylesheet"> diff --git a/layouts/partials/docs/nav-filetree.html b/layouts/partials/docs/nav-filetree.html index c5ecfc8..7c80ae2 100644 --- a/layouts/partials/docs/nav-filetree.html +++ b/layouts/partials/docs/nav-filetree.html @@ -1,15 +1,5 @@ -{{ $bookSection := default "docs" .Site.Params.BookSection }} -{{ if eq $bookSection "*" }} - {{ .Scratch.Set "BookSections" .Site.Sections }} -{{ else }} - {{ $bookSections := where .Site.Sections "Section" $bookSection }} - {{ .Scratch.Set "BookSections" $bookSections }} - - {{ if eq (len $bookSections) 1 }} - {{ $singleSection := index $bookSections 0 }} - {{ .Scratch.Set "BookSections" $singleSection.Sections }} - {{ end }} -{{ end }} +<!-- Put configured sections list to .Scratch --> +{{ template "book-get-root-section" . }} <ul> {{ range .Scratch.Get "BookSections" }} @@ -20,7 +10,15 @@ <!-- Single section of menu (recursive) --> {{ define "book-section" }} <li {{ if .Section.Params.booktopsection }}class="book-nav-section"{{ end }}> - {{ template "book-heading" .Section }} + + {{ with .Section}} + {{- if .Content -}} + <a href="{{ .RelPermalink }}">{{- template "title" . -}}</a> + {{- else -}} + {{- template "title" . -}} + {{- end -}} + {{ end }} + <ul> {{ range .Section.Sections }} {{ template "book-section" (dict "Section" . "CurrentPage" $.CurrentPage) }} @@ -28,7 +26,7 @@ {{ range .Section.Pages }} <li> <a href="{{ .RelPermalink }}" class="{{ if eq $.CurrentPage .Permalink }}active{{ end }}"> - {{ default .Title (.File | humanize | title) }} + {{- template "title" . -}} </a> </li> {{ end }} @@ -36,21 +34,18 @@ </li> {{ end }} -<!-- Menu Heading --> -{{ define "book-heading" }} - - {{ $sections := split (trim .Dir "/") "/" }} - {{ $title := index ($sections | last 1) 0 | humanize | title }} - {{ $title := default .Title $title }} - - {{ if .Content }} - <a href="{{ .RelPermalink }}"> - {{- $title -}} - </a> +{{ define "book-get-root-section" }} + <!-- Complex logic to guess page title without .Title specified --> + {{ $bookSection := default "docs" .Site.Params.BookSection }} + {{ if eq $bookSection "*" }} + {{ .Scratch.Set "BookSections" .Site.Sections }} {{ else }} - <a> - {{- $title -}} - </a> - {{ end }} + {{ $bookSections := where .Site.Sections "Section" $bookSection }} + {{ .Scratch.Set "BookSections" $bookSections }} -{{ end }} + {{ if eq (len $bookSections) 1 }} + {{ $singleSection := index $bookSections 0 }} + {{ .Scratch.Set "BookSections" $singleSection.Sections }} + {{ end }} + {{ end }} +{{ end }}
\ No newline at end of file diff --git a/layouts/partials/docs/shared.html b/layouts/partials/docs/shared.html new file mode 100644 index 0000000..f7ba182 --- /dev/null +++ b/layouts/partials/docs/shared.html @@ -0,0 +1,11 @@ +<!-- These templates contains some more complex logic and shared between partials--> +{{ define "title" }} + {{- if .Pages -}} + {{ $sections := split (trim .Dir "/") "/" }} + {{ $title := index ($sections | last 1) 0 | humanize | title }} + {{- default .Title $title -}} + {{- else -}} + {{ $title := .File | humanize | title }} + {{- default .Title $title -}} + {{- end -}} +{{ end }} |