Repository navigation
Add blog post series (roadmap lean-rollout steps 1+2) - #27
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
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.