Skip to content
This repository was archived by the owner on Jun 24, 2026. It is now read-only.

Repository files navigation

Explainer

A documentation framework built on Astro 5 and React 19. Write your docs in MDX, get a fast static site with built-in search, blog, SEO, and dark mode.

Features

CategoryFeatureDescription
DocumentationMulti-section docsNested sidebar with collapsible sections and doc switcher
DocumentationCustom MDX directives::component{attr="value"} syntax for rich content
Documentation8+ MDX componentsCallout, Card, Code Group, Code Preview, Step, and more
DocumentationMermaid diagramsRendered at build time via rehype-mermaid
BlogFull blog systemTags, drafts, author profiles, publication dates
BlogRSS feedAuto-generated at /rss.xml
NavigationIntegrated searchCommand palette (Cmd+K) with fuzzy filtering
NavigationInstant transitionsAstro View Transitions with persistent sidebar
NavigationBreadcrumbsAuto-generated page hierarchy
CodeSyntax highlightingShiki dual-theme (light/dark) with 60+ language icons
CodeCode transformersDiff, line highlight, focus, word highlight, error levels
ThemingDark modeLight, dark, and system preference with localStorage
ThemingTailwind CSS v4OKLCH color system with shadcn/ui components
SEOMeta tagsOpen Graph, Twitter Cards, canonical URLs
SEOSitemapAuto-generated via @astrojs/sitemap
SEOOG imagesAuto-generated at build time (Satori + Resvg)
AccessibilityStandardsSkip link, prefers-reduced-motion, keyboard navigation
AccessibilityCustom 404Branded error page with navigation links
DXLinting & formattingBiome with strict TypeScript
DXCI/CDGitHub Actions — lint, build, deploy to Cloudflare Pages
DXDockerMulti-stage build with Nginx

Tech Stack

Astro 5 / React 19 / MDX / TypeScript / Tailwind CSS v4 / shadcn/ui + Radix UI / Shiki / Biome / Cloudflare Pages

Getting Started

pnpm install
pnpm dev

Open http://localhost:4321.

CommandAction
pnpm devStart dev server
pnpm buildBuild for production (./dist/)
pnpm previewPreview production build
pnpm lintCheck code with Biome
pnpm lint:fixFix linting issues
pnpm formatFormat code with Biome

Configuration

All settings are centralized in explainer.config.ts via defineExplainerConfig():

  • Project — name, repository URL
  • SEO — title, description, default thumbnail
  • Socials — GitHub, Twitter, LinkedIn links
  • Blog — default thumbnail, author profiles
  • Navbar — custom navigation links
  • Content — MDX component mappings, 60+ language icon mappings

Deployment

Cloudflare Pages — Automatic via GitHub Actions on push to main (lint + build + deploy).

Dockerdocker build -t explainer . && docker run -p 8080:8080 explainer (Node 20 Alpine + Nginx 1.28 Alpine).

License

See LICENSE for details.

About

Explainer is a boilerplate for creating complete documentation for any project.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages