Docs

Content pipeline

How markdown becomes pages, feeds, and search data.

Pipeline map

Content flow

Interactive view of the markdown-to-deploy pipeline, including parallel lanes.

Active stepSource
Step 1 / 5
Click a node to focus a step and see its lane highlighted.
Content in, experiences out
Markdown and structured data move through a predictable pipeline: parse, enrich, render, and publish. The flow diagram below mirrors this sequence in motion.
Markdown Frontmatter Feeds Search

Pipeline steps

  • 01. Ingest
    Load markdown, data files, and navigation metadata.
  • 02. Parse + enrich
    Frontmatter is normalized and summaries are computed.
  • 03. Render
    Markdown becomes HTML, with headings and syntax styling.
  • 04. Publish
    Pages, feeds, and search surfaces are emitted at build time.
posts/
docs/
data/
Markdown render
Feeds + sitemap
Search index

Blog posts

  • Blog content lives in posts/ as markdown with frontmatter.
  • lib/posts.ts loads, parses, and converts markdown into HTML.
  • Metadata drives tags, categories, series, and listing pages.
  • Reading time is derived from word counts during rendering.

Documentation

  • Documentation lives in docs/ as markdown with frontmatter.
  • lib/docs.ts loads documentation content and renders it for /docs routes.
  • The docs index pulls in docs/index.md as the landing page.

Feeds and metadata

  • utils/generateRSSFeed.ts builds RSS, Atom, and JSON feeds into public/.
  • pages/sitemap.xml.tsx composes sitemap entries for posts, tags, categories, series, and docs.
  • The search page uses navigation metadata and blog post summaries to provide site-wide search.
What is cached and why

Markdown output and summaries are generated at build time. Telemetry APIs rely on lib/cacheStore.ts for live data caching, inflight dedupe, and rate limit protection.

Source Primary outputs Notes
posts/ Blog pages, tags, series Markdown + frontmatter drive routing.
docs/ Docs pages Rendered into /docs.
data/ Projects, tools, nav Typed data for curated sections.