Skip to content

Add blog post series (roadmap lean-rollout steps 1+2) - #27

Merged
noha merged 1 commit into
masterfrom
feature/blog-series
Jul 23, 2026
Merged

noha merged 1 commit into
masterfrom
feature/blog-series

Conversation

@noha

@noha noha commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Implements the "Serien (series)" section of Foliage Roadmap.md: posts can declare series: in frontmatter to belong to an ordered, finite sequence with its own overview page and inline navigation - distinct from a tag, which is unordered membership only.

New:

  • FOBlogPost>>series/hasSeries reads the frontmatter key.
  • FOSeries: slug + posts (a series' own reading-order post list), title derived from the slug (e.g. 'soil' -> 'Soil', 'byob-database' -> 'Byob Database') - a zero-config stand-in for a real title registry, deferred per the roadmap's lean-rollout ordering until actually needed.
  • FOBlog>>series/seriesSlugs/postsInSeries:/seriesPostAfter:/ seriesPostBefore: - same grouping/sorting mechanics as the existing publishedPosts/postAfter:/postBefore:, filtered to a series and sorted ascending (reading order), not the blog's own newest-first browsing order.
  • FOSeriesOverviewBuilder: same bodyHtml/abstract-concatenation approach as FOBlogOverviewBuilder, no pagination (series are expected to be short).
  • FOBlogPostRenderContext: hasSeries/seriesTitle/seriesPartNumber/ seriesPartCount/seriesOverviewPath/seriesPreviousPost/seriesNextPost, for a template's inline "part N of M" nav.
  • FOPublisher>>publish now also builds one page per series under blog/series/.html, alongside the existing overview pages and feed.

Deliberately not included (per the roadmap's own lean-rollout ordering, "step 3, if needed"): seriesPart frontmatter override for reading order, a slug->title registry, RSS per series.

Verified against real content: tagged the two real Soil posts with series: soil in a scratch copy and ran the full publish pipeline - blog/series/soil.html lists both abstracts in reading order (part 1 before part 2), and each post's rendered page (via the noha.github.io template's own new inline-nav section, done as a companion change in that repo) shows correct part-number/prev/next/overview-link output.

Implements the "Serien (series)" section of Foliage Roadmap.md: posts can
declare series: <slug> in frontmatter to belong to an ordered, finite
sequence with its own overview page and inline navigation - distinct from
a tag, which is unordered membership only.

New:
- FOBlogPost>>series/hasSeries reads the frontmatter key.
- FOSeries: slug + posts (a series' own reading-order post list), title
  derived from the slug (e.g. 'soil' -> 'Soil', 'byob-database' ->
  'Byob Database') - a zero-config stand-in for a real title registry,
  deferred per the roadmap's lean-rollout ordering until actually needed.
- FOBlog>>series/seriesSlugs/postsInSeries:/seriesPostAfter:/
  seriesPostBefore: - same grouping/sorting mechanics as the existing
  publishedPosts/postAfter:/postBefore:, filtered to a series and sorted
  ascending (reading order), not the blog's own newest-first browsing
  order.
- FOSeriesOverviewBuilder: same bodyHtml/abstract-concatenation approach
  as FOBlogOverviewBuilder, no pagination (series are expected to be
  short).
- FOBlogPostRenderContext: hasSeries/seriesTitle/seriesPartNumber/
  seriesPartCount/seriesOverviewPath/seriesPreviousPost/seriesNextPost,
  for a template's inline "part N of M" nav.
- FOPublisher>>publish now also builds one page per series under
  blog/series/<slug>.html, alongside the existing overview pages and feed.

Deliberately not included (per the roadmap's own lean-rollout ordering,
"step 3, if needed"): seriesPart frontmatter override for reading order,
a slug->title registry, RSS per series.

Verified against real content: tagged the two real Soil posts with
series: soil in a scratch copy and ran the full publish pipeline -
blog/series/soil.html lists both abstracts in reading order (part 1
before part 2), and each post's rendered page (via the noha.github.io
template's own new inline-nav section, done as a companion change in that
repo) shows correct part-number/prev/next/overview-link output.
@noha
noha merged commit 986ddff into master Jul 23, 2026
4 checks passed
@noha
noha deleted the feature/blog-series branch July 23, 2026 11:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant