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/partials/docs | |
parent | 0dec1cd3a8845fa81a0c88d10e6b5597701d6c1e (diff) |
Improve page title handling and side menu templates
Diffstat (limited to 'layouts/partials/docs')
-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 |
3 files changed, 37 insertions, 30 deletions
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 }} |