#52, Allow to set max showed levels of ToC. e.g. BookToC=3

This commit is contained in:
Alex Shpak 2019-05-27 16:48:23 +02:00
parent 6d64cc708e
commit e452a7beda
9 changed files with 33 additions and 16 deletions

View file

@ -15,6 +15,10 @@
- [Shortcodes](#shortcodes) - [Shortcodes](#shortcodes)
- [Contributing](#contributing) - [Contributing](#contributing)
## Breaking changes
> ⚠️ At the moment theme is under development, breaking changes might happen.
## Features ## Features
- Clean simple design - Clean simple design
@ -123,9 +127,10 @@ enableGitInfo = true
disableKinds = ['taxonomy', 'taxonomyTerm'] disableKinds = ['taxonomy', 'taxonomyTerm']
[params] [params]
# (Optional, default true) Show or hide table of contents globally # (Optional, default 6) Set how many table of contents levels to be showed on page.
# Use false to hide ToC, note that 0 will default to 6 (https://gohugo.io/functions/default/)
# You can also specify this parameter per page in front matter # You can also specify this parameter per page in front matter
BookShowToC = true BookToC = 3
# (Optional, default none) Set leaf bundle to render as side menu # (Optional, default none) Set leaf bundle to render as side menu
# When not specified file structure and weights will be used # When not specified file structure and weights will be used
@ -174,8 +179,8 @@ bookFlatSection = true
# (Optional) Set true to hide page or section from side menu (if BookMenuBundle not set) # (Optional) Set true to hide page or section from side menu (if BookMenuBundle not set)
bookHidden = true bookHidden = true
# (Optional) Set true to hide table of contents, overrides global value # (Optional) Set how many levels of ToC to show. use 'false' to hide ToC completely
bookShowToC = false bookToC = 3
``` ```
### Partials ### Partials

View file

@ -147,6 +147,16 @@ ul.pagination {
nav > ul > li:first-child { nav > ul > li:first-child {
margin-top: 0; margin-top: 0;
} }
// Classes to hide nested levels of ToC (can be replaced by @for, but it's more clear like this)
&.level-1 ul ul,
&.level-2 ul ul ul,
&.level-3 ul ul ul ul,
&.level-4 ul ul ul ul ul,
&.level-5 ul ul ul ul ul ul,
&.level-6 ul ul ul ul ul ul ul {
display: none;
}
} }
.book-footer { .book-footer {

View file

@ -15,9 +15,10 @@ enableGitInfo = true
pygmentsCodeFences = true pygmentsCodeFences = true
[params] [params]
# (Optional, default true) Show or hide table of contents globally # (Optional, default 6) Set how many table of contents levels to be showed on page.
# Use false to hide ToC, note that 0 will default to 6 (https://gohugo.io/functions/default/)
# You can also specify this parameter per page in front matter # You can also specify this parameter per page in front matter
BookShowToC = true BookToC = 3
# (Optional, default none) Set leaf bundle to render as side menu # (Optional, default none) Set leaf bundle to render as side menu
# When not specified file structure and weights will be used # When not specified file structure and weights will be used

View file

@ -15,9 +15,10 @@ enableGitInfo: true
pygmentsCodeFences: true pygmentsCodeFences: true
params: params:
# (Optional, default true) Show or hide table of contents globally # (Optional, default 6) Set how many table of contents levels to be showed on page.
# Use false/off to hide ToC, note that 0 will default to 6 (https://gohugo.io/functions/default/)
# You can also specify this parameter per page in front matter # You can also specify this parameter per page in front matter
BookShowToC: true BookToC: 3
# (Optional, default none) Set leaf bundle to render as side menu # (Optional, default none) Set leaf bundle to render as side menu
# When not specified file structure and weights will be used # When not specified file structure and weights will be used

View file

@ -1 +1 @@
{"Target":"book.min.1009ab9f4daf8375016f8f76fc100311154512dbc6cc21faa1282132e83dad16.css","MediaType":"text/css","Data":{"Integrity":"sha256-EAmrn02vg3UBb492/BADERVFEtvGzCH6oSghMug9rRY="}} {"Target":"book.min.3c69b4506bc4a8da260ab28ed0c14019a49435aed9fd20517f353987fa0f60ec.css","MediaType":"text/css","Data":{"Integrity":"sha256-PGm0UGvEqNomCrKO0MFAGaSUNa7Z/SBRfzU5h/oPYOw="}}

View file

@ -23,7 +23,7 @@
{{ define "book-section" }} {{ define "book-section" }}
{{ with .Section }} {{ with .Section }}
<li {{ if .Params.bookFlatSection}} class="book-section-flat" {{ end }}> <li {{ if .Params.BookFlatSection}} class="book-section-flat" {{ end }}>
{{ if .Content }} {{ if .Content }}
{{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }} {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }}
{{ else }} {{ else }}

View file

@ -1,4 +1,4 @@
<nav role="navigation"> <nav>
{{ partial "docs/brand" . }} {{ partial "docs/brand" . }}
{{ partial "docs/inject/menu-before" . }} {{ partial "docs/inject/menu-before" . }}

View file

@ -1,6 +1,6 @@
{{ $showToC := default (default true .Site.Params.BookShowToC) .Params.bookshowtoc }} {{ $tocLevels := default (default 6 .Site.Params.BookToC) .Params.BookToC }}
{{ if and ($showToC) (.Page.TableOfContents) }} {{ if and $tocLevels .Page.TableOfContents }}
<aside class="book-toc fixed"> <aside class="book-toc level-{{$tocLevels}} fixed">
{{ .Page.TableOfContents }} {{ .Page.TableOfContents }}
</aside> </aside>
{{ end }} {{ end }}