aboutsummaryrefslogtreecommitdiff
path: root/layouts
diff options
context:
space:
mode:
authorAlex Shpak <alex-shpak@users.noreply.github.com>2018-09-17 18:29:36 +0200
committerAlex Shpak <alex-shpak@users.noreply.github.com>2018-09-17 18:29:36 +0200
commit561659ed53a1eb1e7583513af5fa2faba55fca7e (patch)
treea43ff90df5e613d0be23010df7abdd0666c7020f /layouts
parent0dec1cd3a8845fa81a0c88d10e6b5597701d6c1e (diff)
Improve page title handling and side menu templates
Diffstat (limited to 'layouts')
-rw-r--r--layouts/docs/baseof.html4
-rw-r--r--layouts/partials/docs/html-head.html1
-rw-r--r--layouts/partials/docs/nav-filetree.html55
-rw-r--r--layouts/partials/docs/shared.html11
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 }}