Skip to content

Blog Introduction

A complete blog with listing, post detail, tags, categories, and RSS — all from Markdown files.

Blog List

Blog List

The blog index, pagination, and listing layout.

Blog Post Collections

Blog Post Collections

Frontmatter, structure, and post detail pages.

Tags

Tags

Auto-generated tag archives from post frontmatter.

Categories

Categories

Auto-generated category archives for posts.

This blog is not the default Starlight documentation layout. It is a custom-built blog system designed specifically for Astro Docus — a complete extension that transforms a documentation site into a multi-purpose platform.

The core idea is simple: a documentation site should not be limited to only documentation. Modern projects need:

  • Documentation — guides, references, API notes
  • Blog — announcements, tutorials, changelogs
  • Landing pages — marketing, onboarding, feature overviews
  • Pricing pages — plans, tiers, purchase options

Astro Docus gives you all of these in one project, with one build, and one deployment.


Standard Starlight sites are built for documentation only. Adding a blog usually means:

  • Installing a third-party plugin
  • Learning a new configuration surface
  • Mixing two different content systems
  • Dealing with plugin-specific frontmatter rules

This blog avoids all of that.

It lives inside the same docs collection as your documentation. Every blog post is a Markdown or MDX file. It uses the same content system, the same build pipeline, and the same deployment target.

No separate blog plugin. No separate content folder. No conflicting configuration.


The custom blog system ships with a complete feature set for real-world use:

FeaturePurpose
Post listingPaginated blog index at /blog/
Post detailIndividual post pages
TagsTag archives at /tags/[tag]/
CategoriesCategory archives at /categories/[category]/
RSS feedFeed at /rss.xml
PaginationBlog list, tag pages, category pages
SEOMeta tags, Open Graph, canonical URLs
Markdown & MDXWrite posts in either format

All of these are rendered at build time as static HTML. No runtime, no server, no database.


Blog posts live inside the same content collection as documentation:

src/content/docs/
├── blog/
│ ├── post-one.md
│ ├── post-two.mdx
│ └── ...
├── getstart/
├── cms/
└── ...

Every file with a date field in its frontmatter is treated as a blog post. Files without a date field are treated as documentation pages.

This means:

  • One content system — no second collection to maintain
  • One schema — extended to support blog fields like date, tags, and categories
  • One build — documentation and blog generate together

The schema validation is handled by extending Starlight’s docsSchema() with blog-specific fields. If a file has a date, it is validated as a blog post. If it does not, it is validated as a documentation page .


Astro Docus is designed for multi-purpose documentation sites. The blog is one piece of that puzzle.

SectionPowered byURL
DocumentationStarlight + MDX/getstart/, /cms/, etc.
BlogCustom blog system/blog/
LandingJSON + widgets/
PricingJSON + MDX/pricing/
Static pagesMarkdown + layouts/about/, /contact/, etc.

Everything shares the same navbar, the same footer, and the same design tokens. The blog does not feel like an add-on — it feels like part of the site.


Use the blog when you need to publish:

  • Product updates — new features, version releases
  • Tutorials — step-by-step guides that do not belong in the reference docs
  • Announcements — events, partnerships, milestones
  • Thought pieces — architecture decisions, lessons learned
  • Changelogs — structured release notes

The blog is optional. If you only need documentation, you can ignore the blog entirely. Nothing breaks.

But if you want a complete documentation platform — docs + blog + landing + pricing — the blog is already wired in.


The blog system has several sub-topics. They will be documented one by one:

  1. Blog Structure — where posts live, how folders are organized
  2. Blog Frontmatter — title, date, tags, categories, description
  3. Blog Listing — how the /blog/ page is built
  4. Blog Post Detail — how individual posts render
  5. Tags — tag archives and tag navigation
  6. Categories — category archives
  7. RSS Feed — how the feed is generated
  8. Pagination — how pages are split
  9. Blog Configuration — customizing the blog navbar and metadata

Each topic gets its own page under docs/blog/.


Astro Docus = Documentation + Blog + Landing + Pricing
Blog:
├── Lives inside src/content/docs/blog/
├── Uses the same docs collection
├── Extended schema with date, tags, categories
├── Renders at /blog/, /tags/, /categories/
├── Generates RSS at /rss.xml
├── Static output — no runtime
└── Optional — safe to ignore if not needed

The blog is not a plugin. It is not a separate app. It is a first-class part of Astro Docus, designed to make your documentation site complete.