diff options
author | Alex Shpak <alex-shpak@users.noreply.github.com> | 2020-04-11 14:35:29 +0200 |
---|---|---|
committer | Alex Shpak <alex-shpak@users.noreply.github.com> | 2020-04-11 14:35:29 +0200 |
commit | 15339ab6a6f39729bd1be500e7fc32b89eb37b55 (patch) | |
tree | e8ee3baf8b95ebd4cea6de346f91bf3f1544dbac | |
parent | 8927a3c672a6e7a40519626b7df31d7dace800a9 (diff) |
#157, Refactor side menu, simpler and renders all pages at root
-rw-r--r-- | exampleSite/config.toml | 9 | ||||
-rw-r--r-- | exampleSite/config.yaml | 7 | ||||
-rw-r--r-- | layouts/partials/docs/menu-filetree.html | 67 | ||||
-rw-r--r-- | layouts/posts/list.html | 1 | ||||
-rw-r--r-- | layouts/taxonomy/taxonomy.html | 4 |
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 }} |