diff --git a/layouts/book/all.html b/layouts/book/all.html
new file mode 100644
index 0000000..2e81a33
--- /dev/null
+++ b/layouts/book/all.html
@@ -0,0 +1,35 @@
+{{ define "main" }}
+
+
+
+{{ partial "brand.html" . }}
+{{ partial "content.header.html" . }}
+
+
+{{ with .Content }}
+
+{{ end }}
+
+
+{{ $indexScratch := .Scratch }}
+{{ range .Sections }}
+{{ $indexScratch.Add "sections" (slice . ) }}
+{{ end }}
+
+{{- range ($indexScratch.Get "sections").ByTitle -}}
+{{ .Title }}
+
+ {{- range .Pages.ByTitle -}}
+ - {{ .Title }}
+ {{- end -}}
+
+{{- end -}}
+
+
+{{ partial "footer.html" . }}
+
+
+
+{{ end }}
diff --git a/layouts/book/chapters.html b/layouts/book/chapters.html
new file mode 100644
index 0000000..7a74400
--- /dev/null
+++ b/layouts/book/chapters.html
@@ -0,0 +1,25 @@
+{{ define "main" }}
+
+
+
+
+{{ partial "brand.html" . }}
+
+{{ partial "content.header.html" . }}
+
+
+
+{{ range .Pages.ByTitle }}
+{{ if .IsPage }}
+- {{.Title}}
+{{ end }}
+{{ end }}
+
+
+
+{{ partial "footer.html" . }}
+
+
+
+
+{{ end }}
diff --git a/layouts/book/volumes.html b/layouts/book/volumes.html
new file mode 100644
index 0000000..a401f27
--- /dev/null
+++ b/layouts/book/volumes.html
@@ -0,0 +1,25 @@
+{{ define "main" }}
+
+
+
+
+{{ partial "brand.html" . }}
+
+{{ partial "content.header.html" . }}
+
+
+
+{{ range .Pages.ByTitle }}
+{{ if .IsSection }}
+- {{.Title}}
+{{ end }}
+{{ end }}
+
+
+
+{{ partial "footer.html" . }}
+
+
+
+
+{{ end }}