Grimorio is a clean, content-first blog theme for Astro. It ships bilingual out of the box, English at the root and Spanish under /es/, with a language switch that keeps you on the
same page, and you can change the default or run it in a single language from one config file.
It's built to get out of your way: write Markdown, fill in four frontmatter fields, and publish. No client-side framework runs the page. Vue powers only the few interactive islands (search, theme toggle), everything else ships as static HTML.
What's included:
- Light and dark themes that follow the system preference, with no flash on load
- Full-text search (Ctrl / ⌘ + K)
- Categories, tags, a monthly archive, and pagination
- Per-post Open Graph social cards generated at build time
- SEO handled: canonical URLs, hreflang, JSON-LD, sitemap with real lastmod dates, per-language RSS, robots.txt, and an llms.txt summary
- A Playwright test suite covering navigation, search, theming, i18n, and metadata
Fast by default: static output, inlined critical CSS, hover prefetching, and self-hosted fonts. A clean build scores 100 across the board in Lighthouse.






