summaryrefslogtreecommitdiff
path: root/themes/hugo-book/layouts/partials/docs
diff options
context:
space:
mode:
authoraethrvmn <me@aethrvmn.gr>2025-08-30 13:17:32 +0000
committeraethrvmn <me@aethrvmn.gr>2025-08-30 13:17:32 +0000
commit1147a663e70aadb2578cbe601bc723d7cd939c5a (patch)
treeb5100d2031328be3cfd3e9ae62730436bd573e0f /themes/hugo-book/layouts/partials/docs
parentadded .gitignore (diff)
added non-content
Diffstat (limited to 'themes/hugo-book/layouts/partials/docs')
-rw-r--r--themes/hugo-book/layouts/partials/docs/brand.html8
-rw-r--r--themes/hugo-book/layouts/partials/docs/comments.html2
-rw-r--r--themes/hugo-book/layouts/partials/docs/date.html6
-rw-r--r--themes/hugo-book/layouts/partials/docs/footer.html27
-rw-r--r--themes/hugo-book/layouts/partials/docs/header.html13
-rw-r--r--themes/hugo-book/layouts/partials/docs/html-head-favicon.html1
-rw-r--r--themes/hugo-book/layouts/partials/docs/html-head-title.html1
-rw-r--r--themes/hugo-book/layouts/partials/docs/html-head.html56
-rw-r--r--themes/hugo-book/layouts/partials/docs/inject/body.html0
-rw-r--r--themes/hugo-book/layouts/partials/docs/inject/content-after.html0
-rw-r--r--themes/hugo-book/layouts/partials/docs/inject/content-before.html0
-rw-r--r--themes/hugo-book/layouts/partials/docs/inject/footer.html0
-rw-r--r--themes/hugo-book/layouts/partials/docs/inject/head.html0
-rw-r--r--themes/hugo-book/layouts/partials/docs/inject/menu-after.html0
-rw-r--r--themes/hugo-book/layouts/partials/docs/inject/menu-before.html0
-rw-r--r--themes/hugo-book/layouts/partials/docs/inject/toc-after.html0
-rw-r--r--themes/hugo-book/layouts/partials/docs/inject/toc-before.html0
-rw-r--r--themes/hugo-book/layouts/partials/docs/languages.html33
-rw-r--r--themes/hugo-book/layouts/partials/docs/links/commit.html2
-rw-r--r--themes/hugo-book/layouts/partials/docs/links/edit.html2
-rw-r--r--themes/hugo-book/layouts/partials/docs/menu-filetree.html49
-rw-r--r--themes/hugo-book/layouts/partials/docs/menu-hugo.html28
-rw-r--r--themes/hugo-book/layouts/partials/docs/menu.html21
-rw-r--r--themes/hugo-book/layouts/partials/docs/post-meta.html16
-rw-r--r--themes/hugo-book/layouts/partials/docs/search.html8
-rw-r--r--themes/hugo-book/layouts/partials/docs/taxonomy.html19
-rw-r--r--themes/hugo-book/layouts/partials/docs/title.html17
-rw-r--r--themes/hugo-book/layouts/partials/docs/toc.html3
28 files changed, 312 insertions, 0 deletions
diff --git a/themes/hugo-book/layouts/partials/docs/brand.html b/themes/hugo-book/layouts/partials/docs/brand.html
new file mode 100644
index 0000000..fa7f415
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/brand.html
@@ -0,0 +1,8 @@
+<h2 class="book-brand">
+ <a class="flex align-center" href="{{ cond (not .Site.Home.File) .Sites.Default.Home.RelPermalink .Site.Home.RelPermalink }}">
+ {{- with .Site.Params.BookLogo -}}
+ <img src="{{ . | relURL }}" alt="Logo" class="book-icon" />
+ {{- end -}}
+ <span>{{ .Site.Title }}</span>
+ </a>
+</h2>
diff --git a/themes/hugo-book/layouts/partials/docs/comments.html b/themes/hugo-book/layouts/partials/docs/comments.html
new file mode 100644
index 0000000..59c5f22
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/comments.html
@@ -0,0 +1,2 @@
+<!-- This partial can be replaced to support other commenting engines -->
+{{ template "_internal/disqus.html" . }}
diff --git a/themes/hugo-book/layouts/partials/docs/date.html b/themes/hugo-book/layouts/partials/docs/date.html
new file mode 100644
index 0000000..8c75361
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/date.html
@@ -0,0 +1,6 @@
+<!--
+ Returns formatted date.
+ Usage: partial "docs/date" (dict "Date" .Date "Format" .Site.Params.BookDateFormat)
+-->
+{{- $format := default "January 2, 2006" .Format -}}
+{{- return (time.Format $format .Date) -}}
diff --git a/themes/hugo-book/layouts/partials/docs/footer.html b/themes/hugo-book/layouts/partials/docs/footer.html
new file mode 100644
index 0000000..77e96d8
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/footer.html
@@ -0,0 +1,27 @@
+<div class="flex flex-wrap justify-between">
+
+{{ if and .GitInfo .Site.Params.BookRepo }}
+ <div>
+ {{- $date := partial "docs/date" (dict "Date" .GitInfo.AuthorDate.Local "Format" .Site.Params.BookDateFormat) -}}
+ <a class="flex align-center" href="{{ partial "docs/links/commit" . }}" title='{{ i18n "Last modified by" }} {{ .GitInfo.AuthorName }} | {{ $date }}' target="_blank" rel="noopener">
+ <img src="{{ "svg/calendar.svg" | relURL }}" class="book-icon" alt="" />
+ <span>{{ $date }}</span>
+ </a>
+ </div>
+{{ end }}
+
+{{ if and .File .Site.Params.BookRepo .Site.Params.BookEditPath }}
+ <div>
+ <a class="flex align-center" href="{{ partial "docs/links/edit" . }}" target="_blank" rel="noopener">
+ <img src="{{ "svg/edit.svg" | relURL }}" class="book-icon" alt="" />
+ <span>{{ i18n "Edit this page" }}</span>
+ </a>
+ </div>
+{{ end }}
+
+</div>
+
+{{ $script := resources.Get "clipboard.js" | resources.Minify }}
+{{ with $script.Content }}
+ <script>{{ . | safeJS }}</script>
+{{ end }}
diff --git a/themes/hugo-book/layouts/partials/docs/header.html b/themes/hugo-book/layouts/partials/docs/header.html
new file mode 100644
index 0000000..646b8ff
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/header.html
@@ -0,0 +1,13 @@
+<div class="flex align-center justify-between">
+ <label for="menu-control">
+ <img src="{{ "svg/menu.svg" | relURL }}" class="book-icon" alt="Menu" />
+ </label>
+
+ <h3>{{ partial "docs/title" . }}</h3>
+
+ <label for="toc-control">
+ {{ if default true (default .Site.Params.BookToC .Params.BookToC) }}
+ <img src="{{ "svg/toc.svg" | relURL }}" class="book-icon" alt="Table of Contents" />
+ {{ end }}
+ </label>
+</div>
diff --git a/themes/hugo-book/layouts/partials/docs/html-head-favicon.html b/themes/hugo-book/layouts/partials/docs/html-head-favicon.html
new file mode 100644
index 0000000..8278050
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/html-head-favicon.html
@@ -0,0 +1 @@
+<link rel="icon" href="{{ .Site.Params.BookFavicon | default "favicon.png" | relURL }}" > \ No newline at end of file
diff --git a/themes/hugo-book/layouts/partials/docs/html-head-title.html b/themes/hugo-book/layouts/partials/docs/html-head-title.html
new file mode 100644
index 0000000..49a109d
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/html-head-title.html
@@ -0,0 +1 @@
+{{ partial "docs/title" . }} | {{ .Site.Title -}}
diff --git a/themes/hugo-book/layouts/partials/docs/html-head.html b/themes/hugo-book/layouts/partials/docs/html-head.html
new file mode 100644
index 0000000..6a6d0ec
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/html-head.html
@@ -0,0 +1,56 @@
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="description" content="{{ default .Summary .Description }}">
+<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
+<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#343a40">
+<meta name="color-scheme" content="light dark">
+
+{{- with .Page.Params.BookHref -}}
+ <meta http-equiv="Refresh" content="0; url='{{ . }}'" />
+{{- end -}}
+
+{{- template "_internal/opengraph.html" . -}}
+
+<title>{{ partial "docs/html-head-title" . }}</title>
+{{ partial "docs/html-head-favicon" . }}
+
+{{- $manifest := resources.Get "manifest.json" | resources.ExecuteAsTemplate "manifest.json" . }}
+<link rel="manifest" href="{{ $manifest.RelPermalink }}">
+<link rel="canonical" href="{{ .Permalink }}">
+
+{{- range .Translations }}
+ <link rel="alternate" hreflang="{{ default .Site.LanguageCode .Language.Lang }}" href="{{ .Permalink }}" title="{{ partial "docs/title" . }}">
+{{- end -}}
+
+<!-- Theme stylesheet, you can customize scss by creating `assets/custom.scss` in your website -->
+{{- $styles := resources.Get "book.scss" | resources.ExecuteAsTemplate "book.scss" . | css.Sass | resources.Minify | resources.Fingerprint }}
+<link rel="stylesheet" href="{{ $styles.RelPermalink }}" {{ template "integrity" $styles }}>
+{{- if default true .Site.Params.BookSearch -}}
+ {{- $searchJSFile := printf "%s.search.js" .Language.Lang }}
+ {{- $searchJS := resources.Get "search.js" | resources.ExecuteAsTemplate $searchJSFile . | resources.Minify | resources.Fingerprint }}
+ <script defer src="{{ "fuse.min.js" | relURL }}"></script>
+ <script defer src="{{ $searchJS.RelPermalink }}" {{ template "integrity" $searchJS }}></script>
+{{ end -}}
+
+{{- if .Site.Params.BookServiceWorker -}}
+ {{- $swJS := resources.Get "sw-register.js" | resources.ExecuteAsTemplate "sw.js" . | resources.Minify | resources.Fingerprint }}
+ <script defer src="{{ $swJS.RelPermalink }}" {{ template "integrity" $swJS }}></script>
+{{ end -}}
+
+{{- template "_internal/google_analytics.html" . -}}
+
+<!-- RSS -->
+{{- with .OutputFormats.Get "rss" -}}
+ {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
+{{ end -}}
+
+{{ "<!--" | safeHTML }}
+Made with Book Theme
+https://github.com/alex-shpak/hugo-book
+{{ "-->" | safeHTML }}
+
+{{- define "integrity" -}}
+ {{- if (urls.Parse .Permalink).Host -}}
+ integrity="{{ .Data.Integrity }}" crossorigin="anonymous"
+ {{- end -}}
+{{- end -}}
diff --git a/themes/hugo-book/layouts/partials/docs/inject/body.html b/themes/hugo-book/layouts/partials/docs/inject/body.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/inject/body.html
diff --git a/themes/hugo-book/layouts/partials/docs/inject/content-after.html b/themes/hugo-book/layouts/partials/docs/inject/content-after.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/inject/content-after.html
diff --git a/themes/hugo-book/layouts/partials/docs/inject/content-before.html b/themes/hugo-book/layouts/partials/docs/inject/content-before.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/inject/content-before.html
diff --git a/themes/hugo-book/layouts/partials/docs/inject/footer.html b/themes/hugo-book/layouts/partials/docs/inject/footer.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/inject/footer.html
diff --git a/themes/hugo-book/layouts/partials/docs/inject/head.html b/themes/hugo-book/layouts/partials/docs/inject/head.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/inject/head.html
diff --git a/themes/hugo-book/layouts/partials/docs/inject/menu-after.html b/themes/hugo-book/layouts/partials/docs/inject/menu-after.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/inject/menu-after.html
diff --git a/themes/hugo-book/layouts/partials/docs/inject/menu-before.html b/themes/hugo-book/layouts/partials/docs/inject/menu-before.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/inject/menu-before.html
diff --git a/themes/hugo-book/layouts/partials/docs/inject/toc-after.html b/themes/hugo-book/layouts/partials/docs/inject/toc-after.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/inject/toc-after.html
diff --git a/themes/hugo-book/layouts/partials/docs/inject/toc-before.html b/themes/hugo-book/layouts/partials/docs/inject/toc-before.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/inject/toc-before.html
diff --git a/themes/hugo-book/layouts/partials/docs/languages.html b/themes/hugo-book/layouts/partials/docs/languages.html
new file mode 100644
index 0000000..51aabdd
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/languages.html
@@ -0,0 +1,33 @@
+<!-- Merge home and current page translations -->
+{{ $bookTranslatedOnly := default false .Site.Params.BookTranslatedOnly }}
+{{ $translations := dict }}
+{{ if (eq $bookTranslatedOnly false ) }}
+ {{ range .Site.Home.Translations }}
+ {{ $translations = merge $translations (dict .Language.Lang .) }}
+ {{ end }}
+{{ end }}
+{{ range .Translations }}
+ {{ $translations = merge $translations (dict .Language.Lang .) }}
+{{ end }}
+
+<ul class="book-languages">
+ <li>
+ <input type="checkbox" id="languages" class="toggle" />
+ <label for="languages" class="flex justify-between">
+ <a role="button" class="flex align-center">
+ <img src="{{ "svg/translate.svg" | relURL }}" class="book-icon" alt="Languages" />
+ {{ $.Site.Language.LanguageName }}
+ </a>
+ </label>
+
+ <ul>
+ {{ range .Site.Languages }}{{ with index $translations .Lang }}
+ <li>
+ <a href="{{ cond hugo.IsMultihost .Permalink .RelPermalink }}">
+ {{ .Language.LanguageName }}
+ </a>
+ </li>
+ {{ end }}{{ end }}
+ </ul>
+ </li>
+</ul>
diff --git a/themes/hugo-book/layouts/partials/docs/links/commit.html b/themes/hugo-book/layouts/partials/docs/links/commit.html
new file mode 100644
index 0000000..8ab9334
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/links/commit.html
@@ -0,0 +1,2 @@
+{{- $commitPath := default "commit" .Site.Params.BookCommitPath -}}
+{{- .Site.Params.BookRepo }}/{{ $commitPath }}/{{ .GitInfo.Hash -}} \ No newline at end of file
diff --git a/themes/hugo-book/layouts/partials/docs/links/edit.html b/themes/hugo-book/layouts/partials/docs/links/edit.html
new file mode 100644
index 0000000..920affa
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/links/edit.html
@@ -0,0 +1,2 @@
+{{- $bookFilePath := (strings.TrimPrefix hugo.WorkingDir .Page.File.Filename | path.Join) -}}
+{{- .Site.Params.BookRepo }}/{{ .Site.Params.BookEditPath }}{{ ($bookFilePath) -}} \ No newline at end of file
diff --git a/themes/hugo-book/layouts/partials/docs/menu-filetree.html b/themes/hugo-book/layouts/partials/docs/menu-filetree.html
new file mode 100644
index 0000000..1494588
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/menu-filetree.html
@@ -0,0 +1,49 @@
+{{ $bookSection := default "docs" .Site.Params.BookSection }}
+{{ if eq $bookSection "*" }}
+ {{ $bookSection = "/" }}{{/* Backward compatibility */}}
+{{ end }}
+
+{{ with .Site.GetPage $bookSection }}
+ {{ template "book-section-children" (dict "Section" . "CurrentPage" $) }}
+{{ end }}
+
+{{ define "book-section-children" }}{{/* (dict "Section" .Section "CurrentPage" .CurrentPage) */}}
+ <ul>
+ {{ range (where .Section.Pages "Params.bookHidden" "ne" true) }}
+ {{ if .IsSection }}
+ <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) }}
+ </li>
+ {{ end }}
+ {{ end }}
+ </ul>
+{{ end }}
+
+{{ define "book-page-link" }}{{/* (dict "Page" .Page "CurrentPage" .CurrentPage) */}}
+ {{ $current := eq .CurrentPage .Page }}
+ {{ $ancestor := .Page.IsAncestor .CurrentPage }}
+
+ {{ if .Page.Params.BookCollapseSection }}
+ <input type="checkbox" id="section-{{ md5 .Page }}" class="toggle" {{ if or $current $ancestor }}checked{{ end }} />
+ <label for="section-{{ md5 .Page }}" class="flex justify-between">
+ <a {{ if .Page.Content }}href="{{ .Page.RelPermalink }}"{{ else }}role="button"{{ end }} class="{{ if $current }}active{{ end }}">
+ {{- partial "docs/title" .Page -}}
+ </a>
+ </label>
+ {{ else if .Page.Params.BookHref }}
+ <a href="{{ .Page.Params.BookHref }}" class="{{ if $current }}active{{ end }}" target="_blank" rel="noopener">
+ {{- partial "docs/title" .Page -}}
+ </a>
+ {{ else if .Page.Content }}
+ <a href="{{ .Page.RelPermalink }}" class="{{ if $current }}active{{ end }}">
+ {{- partial "docs/title" .Page -}}
+ </a>
+ {{ else }}
+ <span>{{- partial "docs/title" .Page -}}</span>
+ {{ end }}
+{{ end }}
diff --git a/themes/hugo-book/layouts/partials/docs/menu-hugo.html b/themes/hugo-book/layouts/partials/docs/menu-hugo.html
new file mode 100644
index 0000000..5f01be0
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/menu-hugo.html
@@ -0,0 +1,28 @@
+<!--
+ This is template for hugo menus, accepts MenuEntity as context
+ https://gohugo.io/variables/menus/
+-->
+{{ if . }}
+ {{ template "book-menu-hugo" . }}
+{{ end }}
+
+{{ define "book-menu-hugo" }}
+<ul>
+ {{ range . }}
+ <li>
+ <a href="{{ .URL }}" {{ with .Params.class }}class="{{ . }}"{{ end }} {{ if not .Page }}target="_blank" rel="noopener"{{ end }}>
+ {{- .Pre -}}
+ {{ with .Page }}
+ {{ partial "docs/title" .Page }}
+ {{ else }}
+ {{ .Name }}
+ {{ end }}
+ {{- .Post -}}
+ </a>
+ {{- with .Children }}
+ {{ template "book-menu-hugo" . }}
+ {{- end }}
+ </li>
+ {{ end }}
+</ul>
+{{ end }}
diff --git a/themes/hugo-book/layouts/partials/docs/menu.html b/themes/hugo-book/layouts/partials/docs/menu.html
new file mode 100644
index 0000000..dbb2e49
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/menu.html
@@ -0,0 +1,21 @@
+<nav>
+{{ partial "docs/brand" . }}
+{{ partial "docs/search" . }}
+{{ if hugo.IsMultilingual }}
+ {{ partial "docs/languages" . }}
+{{ end }}
+
+{{ partial "docs/inject/menu-before" . }}
+{{ partial "docs/menu-hugo" .Site.Menus.before }}
+
+{{ partial "docs/menu-filetree" . }}
+
+{{ partial "docs/menu-hugo" .Site.Menus.after }}
+{{ partial "docs/inject/menu-after" . }}
+</nav>
+
+<!-- Restore menu position as soon as possible to avoid flickering -->
+{{ $script := resources.Get "menu-reset.js" | resources.Minify }}
+{{ with $script.Content }}
+ <script>{{ . | safeJS }}</script>
+{{ end }}
diff --git a/themes/hugo-book/layouts/partials/docs/post-meta.html b/themes/hugo-book/layouts/partials/docs/post-meta.html
new file mode 100644
index 0000000..457e2c0
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/post-meta.html
@@ -0,0 +1,16 @@
+{{ with .Date }}
+ <div class="flex align-center text-small book-post-date">
+ <img src="{{ "svg/calendar.svg" | relURL }}" class="book-icon " alt="" />
+ <span>{{ partial "docs/date" (dict "Date" . "Format" $.Site.Params.BookDateFormat) }}</span>
+ </div>
+{{ end }}
+
+{{ range $taxonomy, $_ := .Site.Taxonomies }}
+ {{ with $terms := $.GetTerms $taxonomy }}
+ <div class="text-small">
+ {{ range $n, $term := $terms }}{{ if $n }}, {{ end }}
+ <a href="{{ $term.RelPermalink }}">{{ $term.Title }}</a>
+ {{- end }}
+ </div>
+ {{ end }}
+{{ end }}
diff --git a/themes/hugo-book/layouts/partials/docs/search.html b/themes/hugo-book/layouts/partials/docs/search.html
new file mode 100644
index 0000000..937f595
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/search.html
@@ -0,0 +1,8 @@
+{{ if default true .Site.Params.BookSearch }}
+<div class="book-search hidden">
+ <input type="text" id="book-search-input" placeholder="{{ i18n "Search" }}" aria-label="{{ i18n "Search" }}" maxlength="64" data-hotkeys="s/" />
+ <div class="book-search-spinner hidden"></div>
+ <ul id="book-search-results"></ul>
+</div>
+<script>document.querySelector(".book-search").classList.remove("hidden")</script>
+{{ end }}
diff --git a/themes/hugo-book/layouts/partials/docs/taxonomy.html b/themes/hugo-book/layouts/partials/docs/taxonomy.html
new file mode 100644
index 0000000..63ef315
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/taxonomy.html
@@ -0,0 +1,19 @@
+<nav>
+ <ul>
+ {{ range $term, $_ := .Site.Taxonomies }}
+ {{ with $.Site.GetPage (printf "/%s" $term | urlize) }}
+ <li class="book-section-flat">
+ <strong>{{ .Title | title }}</strong>
+ <ul>
+ {{ range .Pages }}
+ <li class="flex justify-between">
+ <a href="{{ .RelPermalink }}">{{ .Title }}</a>
+ <span>{{ len .Pages }}</span>
+ </li>
+ {{ end }}
+ </ul>
+ </li>
+ {{ end }}
+ {{ end }}
+ </ul>
+</nav>
diff --git a/themes/hugo-book/layouts/partials/docs/title.html b/themes/hugo-book/layouts/partials/docs/title.html
new file mode 100644
index 0000000..83df5b6
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/title.html
@@ -0,0 +1,17 @@
+<!--
+ Partial to generate page name from Title or File name.
+ Accepts Page as context
+-->
+{{ $title := "" }}
+
+{{ if .LinkTitle }}
+ {{ $title = .LinkTitle }}
+{{ else if .Title }}
+ {{ $title = .Title }}
+{{ else if and .IsSection .File }}
+ {{ $title = path.Base .File.Dir | humanize | title }}
+{{ else if and .IsPage .File }}
+ {{ $title = .File.BaseFileName | humanize | title }}
+{{ end }}
+
+{{ return $title }}
diff --git a/themes/hugo-book/layouts/partials/docs/toc.html b/themes/hugo-book/layouts/partials/docs/toc.html
new file mode 100644
index 0000000..64697a4
--- /dev/null
+++ b/themes/hugo-book/layouts/partials/docs/toc.html
@@ -0,0 +1,3 @@
+{{ partial "docs/inject/toc-before" . }}
+{{ .TableOfContents }}
+{{ partial "docs/inject/toc-after" . }}
Directive (EU) 2019/790, Article 4(3); all rights regarding Text and Data Mining (TDM) are reserved.