Astro Theme Lotus
A complete documentation shell for Astro
Lotus is an installable documentation theme for Astro 7, Tailwind CSS 4, and MDX. It was built for projects that want a finished documentation experience without turning their entire Astro site into a fork of someone else’s starter.
The theme connects an Astro content collection to generated routes and supplies the surrounding shell: header, navigation, sidebar, table of contents, search, footer, theme controls, and responsive behavior.
The shell is the product
Find the right page
Responsive navigation, generated sidebars, table of contents, Pagefind, and DocSearch support help readers move through a growing documentation set.
Read technical content
MDX, Expressive Code, Iconify icons, and the shared Prosefly components cover the recurring needs of guides and references.
Adapt the identity
Light, dark, and system modes sit on configurable accent, gray, radius, and typography tokens.
The shell remains mostly static. JavaScript is added where the interface needs state—mobile navigation, search, theme switching, or interactive content components—rather than hydrating the whole page.
Content collections define the boundary
A Lotus project registers docsLoader() and docsSchema() in src/content.config.ts. Documents
then live in src/content/docs/, where frontmatter describes the page and Markdown or MDX contains
the body.
import { defineCollection } from 'astro:content'
import { docsLoader, docsSchema } from '@prosefly/astro-theme-lotus/content'
const docs = defineCollection({
loader: docsLoader(),
schema: docsSchema(),
})
export const collections = { docs }
This is an important constraint: Lotus generates an interface around the collection, but the theme does not become the source of truth for the content.
Configuration replaces template surgery
Project identity and navigation live in theme.config.json. Teams can define the site name, logo,
navigation groups, social links, search provider, localization, colors, and component overrides
without editing package internals.
- Start from the maintained Lotus starter or add the package to an existing Astro project.
- Register the integration and docs collection.
- Describe the shell in
theme.config.json. - Write documentation in Markdown and MDX.
Content stays portable
Replacing the theme should mean replacing the shell and configuration—not extracting years of writing from a proprietary store.
Explore the Lotus documentation, open the showcase, or browse the source.
Writing from Astro Theme Lotus
Decisions, implementation notes, and lessons from the work.