diff --git a/layouts/_default/category.html b/layouts/_default/category.html
new file mode 100644
index 0000000..cc1ff6b
--- /dev/null
+++ b/layouts/_default/category.html
@@ -0,0 +1,37 @@
+{{ define "header" }}
+ {{ partial "header.html" . }}
+{{ end }}
+
+{{ define "main" }}
+
+
+{{- $pagesByTag := dict -}}
+{{- range $page := .Pages }}
+ {{- range $tag := .GetTerms "tags" -}}
+ {{- $tagName := $tag.Name -}}
+ {{- if not (in $pagesByTag $tagName) -}}
+ {{- $pagesByTag = merge $pagesByTag (dict $tagName (slice $page)) -}}
+ {{- else -}}
+ {{- $pagesForTag := index $pagesByTag $tagName -}}
+ {{- $pagesForTag = $pagesForTag | append $page -}}
+ {{- $pagesByTag = merge $pagesByTag (dict $tagName $pagesForTag) -}}
+ {{- end -}}
+ {{- end -}}
+{{- end -}}
+
+{{ range $tag, $pages := $pagesByTag }}
+
{{ $tag }}
+
+{{ end }}
+
+{{ end }}
+
+{{ define "footer" }}
+ {{ partial "footer.html" . }}
+{{ end }}
diff --git a/layouts/_default/term.html b/layouts/_default/term.html
index 87c2966..5ae43d7 100644
--- a/layouts/_default/term.html
+++ b/layouts/_default/term.html
@@ -4,24 +4,14 @@
{{ define "main" }}
- Term: {{ .Page.Title }}
+ {{ .Title }}
-Pages
- {{- range .Pages -}}
+{{- range .Pages -}}
- {{ .Title }}
- {{- end -}}
+{{- end -}}
-
-Terms
-{{ jsonify (dict "indent" " ") .Data.Terms }}
-
- {{- range $term, $page := .Data.Terms.Alphabetical -}}
- - {{ $term }} -- {{ $page }}
- {{- end -}}
-
-
{{ end }}
{{ define "footer" }}
diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html
index e6a8027..4464b52 100644
--- a/layouts/_default/terms.html
+++ b/layouts/_default/terms.html
@@ -4,23 +4,19 @@
{{ define "main" }}
- Terms: {{ .Page.Title }}
+ {{ .Title }}
-Pages
+{{ .Content }}
+
+{{- range .Data.Terms.Alphabetical -}}
+{{ .Name | title }}
- {{- range .Data.Pages -}}
+ {{- range .WeightedPages -}}
- {{ .Title }}
{{- end -}}
-
-Terms
-
- {{- range $term, $page := .Data.Terms.Alphabetical -}}
- - {{ $term }} -- {{ $page }}
- {{- end -}}
-
-
+{{- end -}}
{{ end }}
{{ define "footer" }}