From a66f33962c384ee319d18a78c56781d21ddf8dd5 Mon Sep 17 00:00:00 2001
From: Will Faught
Date: Wed, 15 Mar 2023 18:08:23 -0700
Subject: [PATCH] Add series
---
README.md | 5 +++++
exampleSite/config.yaml | 14 +++++++++++---
exampleSite/content/customization/_index.md | 5 +++++
exampleSite/content/customization/show.md | 6 +++++-
exampleSite/content/customization/style.md | 13 +++++++++++--
exampleSite/content/series/demo/_index.md | 4 ++++
.../layouts/partials/paige/style-first.css | 2 ++
layouts/partials/paige/metadata.html | 17 ++++++++++++++++-
layouts/partials/paige/page.html | 15 +++++++++++++++
9 files changed, 74 insertions(+), 7 deletions(-)
create mode 100644 exampleSite/content/series/demo/_index.md
diff --git a/README.md b/README.md
index d9fa8451..7211ac7f 100644
--- a/README.md
+++ b/README.md
@@ -40,6 +40,7 @@ It's a versatile canvas that serves most web needs.
- Safari and Firefox Reader View support
- Search
- Sections
+- Series
- Single column
- Social links
- Table of contents
@@ -816,6 +817,8 @@ Use these CSS selectors to extend the default styling:
The pagination links in the list and term layouts.
#paige-root
The outermost element in the body.
+ #paige-series
+ The page series.
If you hide `#paige-credit`, please credit this project in a post to help others find it.
@@ -830,11 +833,13 @@ try the following in your `layouts/partials/paige/style-first.css`:
#paige-authors,
#paige-credit,
#paige-reading-time,
+#paige-series,
#paige-terms,
#paige-toc,
#paige-pages .paige-authors,
#paige-pages .paige-date,
#paige-pages .paige-reading-time,
+#paige-pages .paige-series,
#paige-pages .paige-summary,
#paige-pages .paige-terms {
display: none;
diff --git a/exampleSite/config.yaml b/exampleSite/config.yaml
index e976621d..277aeeb7 100644
--- a/exampleSite/config.yaml
+++ b/exampleSite/config.yaml
@@ -26,18 +26,22 @@ languages:
name: "Customization"
url: "/customization/"
weight: 50
+ - identifier: "series"
+ name: "Series"
+ url: "/series/"
+ weight: 60
- identifier: "categories"
name: "Categories"
url: "/categories/"
- weight: 60
+ weight: 70
- identifier: "tags"
name: "Tags"
url: "/tags/"
- weight: 70
+ weight: 80
- identifier: "search"
name: "Search"
url: "/search/"
- weight: 80
+ weight: 90
weight: 10
markup:
goldmark:
@@ -62,6 +66,10 @@ params:
paige:
git:
commit_url_prefix: "https://github.com/willfaught/paige/commit/"
+taxonomies:
+ category: "categories"
+ series: "series"
+ tag: "tags"
theme: "paige"
timezone: "America/Los_Angeles"
titlecasestyle: "Go"
diff --git a/exampleSite/content/customization/_index.md b/exampleSite/content/customization/_index.md
index 46eece91..d777a8fd 100644
--- a/exampleSite/content/customization/_index.md
+++ b/exampleSite/content/customization/_index.md
@@ -9,16 +9,19 @@ paige:
#paige-credit,
#paige-date,
#paige-reading-time,
+ #paige-series,
#paige-terms,
#paige-toc,
#paige-pages .paige-authors,
#paige-pages .paige-date,
#paige-pages .paige-date-header,
#paige-pages .paige-reading-time,
+ #paige-pages .paige-series,
#paige-pages .paige-summary,
#paige-pages .paige-terms {
display: block;
}
+series: ["demo"]
tags: ["sections"]
title: "Customization"
---
@@ -38,12 +41,14 @@ paige:
#paige-credit,
#paige-date,
#paige-reading-time,
+ #paige-series,
#paige-terms,
#paige-toc,
#paige-pages .paige-authors,
#paige-pages .paige-date,
#paige-pages .paige-date-header,
#paige-pages .paige-reading-time,
+ #paige-pages .paige-series,
#paige-pages .paige-summary,
#paige-pages .paige-terms {
display: block;
diff --git a/exampleSite/content/customization/show.md b/exampleSite/content/customization/show.md
index 1c03dcbd..71a723df 100644
--- a/exampleSite/content/customization/show.md
+++ b/exampleSite/content/customization/show.md
@@ -9,19 +9,21 @@ paige:
#paige-credit,
#paige-date,
#paige-reading-time,
+ #paige-series,
#paige-terms,
#paige-toc,
#paige-pages .paige-authors,
#paige-pages .paige-date,
#paige-pages .paige-date-header,
#paige-pages .paige-reading-time,
+ #paige-pages .paige-series,
#paige-pages .paige-summary,
#paige-pages .paige-terms {
display: block;
}
+series: ["demo"]
tags: ["show", "singles"]
title: "Show Data"
-weight: 10
---
This site hides some single page data by default. This page shows it all.
@@ -39,12 +41,14 @@ paige:
#paige-credit,
#paige-date,
#paige-reading-time,
+ #paige-series,
#paige-terms,
#paige-toc,
#paige-pages .paige-authors,
#paige-pages .paige-date,
#paige-pages .paige-date-header,
#paige-pages .paige-reading-time,
+ #paige-pages .paige-series,
#paige-pages .paige-summary,
#paige-pages .paige-terms {
display: block;
diff --git a/exampleSite/content/customization/style.md b/exampleSite/content/customization/style.md
index 879a3d72..10959d5d 100644
--- a/exampleSite/content/customization/style.md
+++ b/exampleSite/content/customization/style.md
@@ -9,12 +9,14 @@ paige:
#paige-credit,
#paige-date,
#paige-reading-time,
+ #paige-series,
#paige-terms,
#paige-toc,
#paige-pages .paige-authors,
#paige-pages .paige-date,
#paige-pages .paige-date-header,
#paige-pages .paige-reading-time,
+ #paige-pages .paige-series,
#paige-pages .paige-summary,
#paige-pages .paige-terms {
display: block;
@@ -24,16 +26,19 @@ paige:
#paige-date { font-style: italic; }
#paige-description { font-style: italic; }
#paige-reading-time { font-style: italic; }
+ #paige-series { font-style: italic; }
#paige-terms { font-style: italic; }
#paige-title { font-style: italic; }
#paige-toc { font-style: italic; }
#paige-copyright { font-style: italic; }
#paige-credit { font-style: italic; }
#paige-pages .paige-authors { font-style: italic; }
- #paige-pages .paige-date-header { font-style: italic; }
#paige-pages .paige-date { font-style: italic; }
+ #paige-pages .paige-date-header { font-style: italic; }
+ #paige-pages .paige-series { font-style: italic; }
#paige-pages .paige-summary { font-style: italic; }
#paige-pages .paige-term { font-style: italic; }
+series: ["demo"]
tags: ["singles", "style"]
title: "Style Data"
weight: 20
@@ -54,12 +59,14 @@ paige:
#paige-credit,
#paige-date,
#paige-reading-time,
+ #paige-series,
#paige-terms,
#paige-toc,
#paige-pages .paige-authors,
#paige-pages .paige-date,
#paige-pages .paige-date-header,
#paige-pages .paige-reading-time,
+ #paige-pages .paige-series,
#paige-pages .paige-summary,
#paige-pages .paige-terms {
display: block;
@@ -69,14 +76,16 @@ paige:
#paige-date { font-style: italic; }
#paige-description { font-style: italic; }
#paige-reading-time { font-style: italic; }
+ #paige-series { font-style: italic; }
#paige-terms { font-style: italic; }
#paige-title { font-style: italic; }
#paige-toc { font-style: italic; }
#paige-copyright { font-style: italic; }
#paige-credit { font-style: italic; }
#paige-pages .paige-authors { font-style: italic; }
- #paige-pages .paige-date-header { font-style: italic; }
#paige-pages .paige-date { font-style: italic; }
+ #paige-pages .paige-date-header { font-style: italic; }
+ #paige-pages .paige-series { font-style: italic; }
#paige-pages .paige-summary { font-style: italic; }
#paige-pages .paige-term { font-style: italic; }
```
diff --git a/exampleSite/content/series/demo/_index.md b/exampleSite/content/series/demo/_index.md
new file mode 100644
index 00000000..8e5ab802
--- /dev/null
+++ b/exampleSite/content/series/demo/_index.md
@@ -0,0 +1,4 @@
+---
+description: "Demonstration of a series."
+title: "Demo Series"
+---
diff --git a/exampleSite/layouts/partials/paige/style-first.css b/exampleSite/layouts/partials/paige/style-first.css
index a007ef43..1a55c5f5 100644
--- a/exampleSite/layouts/partials/paige/style-first.css
+++ b/exampleSite/layouts/partials/paige/style-first.css
@@ -2,12 +2,14 @@
#paige-credit,
#paige-date,
#paige-reading-time,
+#paige-series,
#paige-terms,
#paige-toc,
#paige-pages .paige-authors,
#paige-pages .paige-date,
#paige-pages .paige-date-header,
#paige-pages .paige-reading-time,
+#paige-pages .paige-series,
#paige-pages .paige-summary,
#paige-pages .paige-terms {
display: none;
diff --git a/layouts/partials/paige/metadata.html b/layouts/partials/paige/metadata.html
index e23be3ee..ed82f223 100644
--- a/layouts/partials/paige/metadata.html
+++ b/layouts/partials/paige/metadata.html
@@ -18,6 +18,7 @@
{{ $id := not $fullpages }}
{{ $nogap := "mb-0" }}
{{ $readingtime := $page.ReadingTime }}
+{{ $series := $page.Params.series }}
{{ $tags := $page.Params.tags | default slice | uniq }}
{{ $title := $page.Title | markdownify }}
{{ $titlelink := $page.Params.link }}
@@ -54,8 +55,22 @@
{{ end }}
- {{ if or $authors $date $readingtime }}
+ {{ if or $authors $date $readingtime $series }}
+ {{ with $series }}
+
+ {{ range $i, $name := . -}}
+ {{- if gt $i 0 }}, {{ end -}}
+
+ {{- with site.GetPage (print "series/" $name) -}}
+ {{ .Title | default $name }}
+ {{- else -}}
+ {{- $name -}}
+ {{- end -}}
+ {{- end }}
+
+ {{ end }}
+
{{ with $authors }}
{{ . }}
{{ end }}
diff --git a/layouts/partials/paige/page.html b/layouts/partials/paige/page.html
index bd49d3fd..dcdab4f3 100644
--- a/layouts/partials/paige/page.html
+++ b/layouts/partials/paige/page.html
@@ -11,6 +11,7 @@
{{ $modified := and .PublishDate .Lastmod (lt .PublishDate .Lastmod) }}
{{ $pinned := .Params.paige.pin }}
{{ $readingtime := .ReadingTime }}
+{{ $series := .Params.series }}
{{ $summary := .Summary | htmlUnescape | plainify }}
{{ $tags := .Params.tags | default slice | uniq }}
{{ $title := .Title | markdownify }}
@@ -74,6 +75,20 @@
{{ end }}
+ {{ with $series }}
+
+ {{ range $i, $name := . -}}
+ {{- if gt $i 0 }}, {{ end -}}
+
+ {{- with site.GetPage (print "series/" $name) -}}
+ {{ .Title | default $name }}
+ {{- else -}}
+ {{- $name -}}
+ {{- end -}}
+ {{- end }}
+
+ {{ end }}
+
{{ with $authors }}
{{ . }}
{{ end }}