summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Shpak <alex-shpak@users.noreply.github.com>2020-04-11 14:35:29 +0200
committerAlex Shpak <alex-shpak@users.noreply.github.com>2020-04-11 14:35:29 +0200
commit15339ab6a6f39729bd1be500e7fc32b89eb37b55 (patch)
treee8ee3baf8b95ebd4cea6de346f91bf3f1544dbac
parent8927a3c672a6e7a40519626b7df31d7dace800a9 (diff)
#157, Refactor side menu, simpler and renders all pages at root
-rw-r--r--exampleSite/config.toml9
-rw-r--r--exampleSite/config.yaml7
-rw-r--r--layouts/partials/docs/menu-filetree.html67
-rw-r--r--layouts/posts/list.html1
-rw-r--r--layouts/taxonomy/taxonomy.html4
5 files changed, 32 insertions, 56 deletions
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index 810ceab..1a35a71 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -62,9 +62,10 @@ enableGitInfo = true
# When not specified file structure and weights will be used
# BookMenuBundle = '/menu'
- # (Optional, default docs) Specify section of content to render as menu
- # You can also set value to '*' to render all sections to menu
- BookSection = 'docs'
+ # (Optional, default docs) Specify root page to render child pages as menu.
+ # Page is resoled by .GetPage function: https://gohugo.io/functions/getpage/
+ # For backward compatibility you can set '*' to render all sections to menu. Acts same as '/'
+ BookSection = '/'
# Set source repository location.
# Used for 'Last Modified' and 'Edit this page' links.
@@ -78,7 +79,7 @@ enableGitInfo = true
# Configure the date format used on the pages
# - In git information
# - In blog posts
- BookDateFormat = 'Jan 2, 2006'
+ BookDateFormat = 'January 2, 2006'
# (Optional, default true) Enables search function with flexsearch,
# Index is built on fly, therefore it might slowdown your website.
diff --git a/exampleSite/config.yaml b/exampleSite/config.yaml
index f7f3bc2..6a26b13 100644
--- a/exampleSite/config.yaml
+++ b/exampleSite/config.yaml
@@ -58,8 +58,9 @@ params:
# When not specified file structure and weights will be used
# BookMenuBundle: /menu
- # (Optional, default docs) Specify section of content to render as menu
- # You can also set value to '*' to render all sections to menu
+ # (Optional, default docs) Specify root page to render child pages as menu.
+ # Page is resoled by .GetPage function: https://gohugo.io/functions/getpage/
+ # For backward compatibility you can set '*' to render all sections to menu. Acts same as '/'
BookSection: docs
# Set source repository location.
@@ -74,7 +75,7 @@ params:
# Configure the date format used on the pages
# - In git information
# - In blog posts
- BookDateFormat: "Jan 2, 2006"
+ BookDateFormat: "January 2, 2006"
# (Optional, default true) Enables search function with flexsearch,
# Index is built on fly, therefore it might slowdown your website.
diff --git a/layouts/partials/docs/menu-filetree.html b/layouts/partials/docs/menu-filetree.html
index e3db53b..489a62f 100644
--- a/layouts/partials/docs/menu-filetree.html
+++ b/layouts/partials/docs/menu-filetree.html
@@ -1,48 +1,27 @@
{{ $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 }}
+ {{ $bookSection = "/" }}{{/* Backward compatibility */}}
{{ end }}
-
-{{ $sections := .Scratch.Get "BookSections" }}
-{{/* If there is only one section to render then render its children, else render all sections */}}
-{{ if eq (len $sections) 1 }}
- {{ with index $sections 0 }}
- {{ template "book-section-children" (dict "Section" . "CurrentPage" $) }}
- {{ end }}
-{{ else }}
- <ul>
- {{ range where $sections "Params.bookHidden" "!=" true }}
- {{ template "book-section" (dict "Section" . "CurrentPage" $) }}
- {{ end }}
- </ul>
-{{ end }}
-
-{{ define "book-section" }}
-{{ with .Section }}
- <li {{- if .Params.BookFlatSection }} class="book-section-flat" {{ end }}>
- {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }}
- {{ template "book-section-children" (dict "Section" . "CurrentPage" $.CurrentPage) }}
- </li>
-{{ end }}
+{{ with .Site.GetPage $bookSection }}
+ {{ template "book-section-children" (dict "Section" . "CurrentPage" $) }}
{{ end }}
-{{ define "book-section-children" }}
-{{ $ancestor := .Section.IsAncestor .CurrentPage }}
-{{ $collapsed := .Section.Params.bookCollapseSection }}
+{{ define "book-section-children" }}{{/* (dict "Section" .Section "CurrentPage" .CurrentPage) */}}
+ {{ $ancestor := .Section.IsAncestor .CurrentPage }}
+ {{ $collapsed := .Section.Params.bookCollapseSection }}
-{{ if or $ancestor (not $collapsed) }}
- {{ with .Section }}
+ {{ if or $ancestor (not $collapsed) }}
<ul>
- {{ range where .Pages "Params.bookhidden" "!=" "true" }}
+ {{ range (where .Section.Pages "Params.bookhidden" "ne" true) }}
{{ if .IsSection }}
- {{ template "book-section" (dict "Section" . "CurrentPage" $.CurrentPage) }}
+ <li {{- if .Params.BookFlatSection }} class="book-section-flat" {{ end -}}>
+ {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }}
+ {{ template "book-section-children" (dict "Section" . "CurrentPage" $.CurrentPage) }}
+ </li>
{{ else if and .IsPage .Content }}
<li>
- {{- template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) -}}
+ {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }}
</li>
{{ end }}
{{ end }}
@@ -50,18 +29,14 @@
{{ end }}
{{ end }}
-{{ end }}
-
-{{ define "book-page-link" }}
-{{ with .Page }}
- {{ if .Content }}
- <a href="{{ .RelPermalink }}" class="
- {{- if and .Params.bookCollapseSection .IsSection }}collapsed {{ end }}
- {{- if eq $.CurrentPage.RelPermalink .RelPermalink }}active{{ end }}">
- {{- partial "docs/title" . -}}
- </a>
+{{ define "book-page-link" }}{{/* (dict "Page" .Page "CurrentPage" .CurrentPage) */}}
+ {{ if .Page.Content }}
+ <a href="{{ .Page.RelPermalink }}" class="
+ {{- if and .Page.Params.bookCollapseSection .Page.IsSection }}collapsed {{ end }}
+ {{- if eq .CurrentPage.RelPermalink .Page.RelPermalink }}active{{ end }}">
+ {{- partial "docs/title" .Page -}}
+ </a>
{{ else }}
- <span>{{- partial "docs/title" . -}}</span>
+ <span>{{- partial "docs/title" .Page -}}</span>
{{ end }}
{{ end }}
-{{ end }}
diff --git a/layouts/posts/list.html b/layouts/posts/list.html
index 6115fae..12207c8 100644
--- a/layouts/posts/list.html
+++ b/layouts/posts/list.html
@@ -1,5 +1,4 @@
{{ define "main" }}
- {{ $paginator := .Paginate (where .Pages "Params.hidden" "ne" true) }}
{{ range sort .Paginator.Pages }}
<article class="markdown book-post">
<h2>
diff --git a/layouts/taxonomy/taxonomy.html b/layouts/taxonomy/taxonomy.html
index 91a7458..12207c8 100644
--- a/layouts/taxonomy/taxonomy.html
+++ b/layouts/taxonomy/taxonomy.html
@@ -1,5 +1,4 @@
{{ define "main" }}
- {{ $paginator := .Paginate (where .Pages "Params.hidden" "ne" true) }}
{{ range sort .Paginator.Pages }}
<article class="markdown book-post">
<h2>
@@ -9,11 +8,12 @@
<p>
{{- .Summary -}}
{{ if .Truncated }}
- <a href="{{ .RelPermalink }}">...</a>
+ <a href="{{ .RelPermalink }}">...</a>
{{ end }}
</p>
</article>
{{ end }}
+
{{ template "_internal/pagination.html" . }}
{{ end }}