Quick mode isolated install and Astro config
CLI (barodoc)
- Quick mode —
.barodoc/ now uses its own package.json and npm install (not a symlink to the monorepo root node_modules), with a dependency hash cache and project-local npm caches.
- Monorepo —
@barodoc/* workspace packages are installed via npm pack tarballs; staged manifests rewrite workspace:* to semver so installs succeed.
- Astro — quick mode continues to use a generated
astro.config.mjs (Vite options aligned with the docs app); scheduler remains a direct dependency for the React runtime chain.
Contributors
- Vitest coverage for quick-mode dependency resolution in
packages/barodoc/src/runtime/project.test.ts.
Reading mode, slide mode, and smoother doc navigation
Core (@barodoc/core)
- Content schema — Optional frontmatter
slides (boolean) for slide-capable pages.
- i18n — Strings for slide controls, copy link, keyboard hints, and the in-article view toolbar.
CLI (barodoc)
- Quick mode / create — Generated content config includes
slides. barodoc create ships docs/en/example-slides.md (minimal deck sample) and registers it in the default navigation.
Theme (@barodoc/theme-docs)
- Reading mode — Book icon in the article toolbar; hides banner, header chrome, sidebar, TOC, and post-article blocks; fluid max width for prose; circular prev/next from navigation order; keyboard shortcuts respect reading targets.
- Slide mode — Presentation icon when
slides: true; full-screen overlay with hover/focus toolbar and side arrows; slide enter animation; sync ?slide=; optional dots and first/last/copy link; Escape and arrows.
- Slides in content — Nav group label (category) hidden inside the slide stage only.
- View transitions —
ClientRouter (astro:transitions) on the base layout for softer same-origin navigations; inline script restores dark / bd-reading-mode from localStorage after each swap.
- Layouts —
DocViewControls rendered in-flow above the article; reading/slide targets wired from [...slug].astro.
Docs site
- Content config —
slides on docs and help collections.
- Guides — English and Korean slide demo pages (minimal template, columns example) and nav entry.
Reader-focused docs: accessibility, TOC, trust badges, and feedback
Core (@barodoc/core)
- Config — Optional
changelogUrl for doc footers; feedback.issueUrl for “Report an issue” (prefills title when supported).
- Content schema — Frontmatter:
since, deprecated, experimental, changelogUrl (Quick mode content.config template updated).
- i18n — New UI strings: skip to content, since/deprecated/experimental, changelog, copy section link, feedback thanks, report issue.
CLI (barodoc)
- Generated content collection schema includes the new doc frontmatter fields.
Theme (@barodoc/theme-docs)
- Accessibility — Skip link to
#main-content; main/content wrappers use id="main-content" on docs, pages, blog, landing.
- On this page — Headings
h2–h4; scroll-based TOC highlight; duplicate scroll listeners avoided with AbortController.
- Trust — Badges from frontmatter; footer Changelog link from site or page
changelogUrl.
- Feedback — Localized thanks text; optional Report an issue when
feedback.issueUrl is set.
- Headings —
# anchor plus copy section URL control next to h2–h4.
Docs site
changelogUrl in barodoc.config.json pointing at /changelog.
Wiki-style links, link graph, and broken-link checks
Core (@barodoc/core)
- i18n — Strings for doc link graph UI: connected pages, links in/out, broken links.
Theme (@barodoc/theme-docs)
- Wikilinks — Obsidian-style
[[...]] resolved at MDX compile time (remark); same behavior in dev and production.
- Link graph —
buildWikiGraph indexes wikilinks, internal Markdown links, and MDX anchor hrefs; writes graph.json (nodes, edges, optional broken).
/graph — Visualization page (Sigma.js, client-only) with optional ?focus= query.
- Doc layout — Linked pages (outgoing / incoming) and a hint when the page has unresolved internal links.
- Path resolution — Default-locale URLs without
/en/, legacy /ko/docs/... normalization, inline backticks excluded from scans; app routes outside content sections are not reported as broken.
Docs site
SaaS-style landing blocks and YAML-driven pages
Theme (@barodoc/theme-docs)
- Landing layout —
LandingLayout full-width shell (header, banner, no sidebar). Standalone pages entries use pageLayout: landing (use pageLayout, not layout — reserved in Astro 5 Markdown collections).
- Declarative
landingPage YAML — Optional blocks rendered in order: hero → logoStrip → stats → features → testimonials → pricing → faq → cta → footer.
- React blocks —
LandingHero, LandingLogoStrip, LandingStats, LandingFeatures, LandingTestimonials, LandingPricing, LandingFaq, LandingCta, LandingFooter (also importable from @barodoc/theme-docs for MDX).
- Types —
export "@barodoc/theme-docs/landing" for LandingFrontmatter and related types.
- Home — Default
index.astro composes shared landing components.
Docs site
- Guides: Landing pages (SaaS-style) (EN), KO summary; standalone pages guide links to landing.
- Demo:
/yaml-landing-demo — full SaaS-style sample from YAML; header tab Landing demo.
CLI, theme, and plugin docs update
CLI (barodoc)
barodoc check --production — New flag to check production readiness: warns when site is missing, when deploying to GitHub Pages project site without base, and when favicon is missing.
barodoc create --with-github-pages — Creates .github/workflows/deploy.yml for Quick mode (Node 20, pnpm add barodoc, barodoc build . -o dist, deploy-pages). New projects also get a README with recommended config (site, base, editLink, lastUpdated, plugins).
Theme (@barodoc/theme-docs)
- Reading time — Frontmatter
readingTime: false hides the reading time block on that page.
- Full-width asset layout — PDF, CSV, HTML, pptx, ipynb, rst, epub, and other asset viewers now use the full content area next to the sidebar instead of the 768px column.
DocsLayout accepts an optional fullWidth prop.
Plugins
- @barodoc/plugin-openapi — README added. Docs: Limitations (version dropdown, playground CORS) and Roadmap.
- @barodoc/plugin-llms-txt — README added. Docs: output path (site root), robots.txt, MCP/AI tools usage.
Docs site
- New guides: callouts, versioning, component gallery; configuration: Reading time, On this page (ToC), editLink = Suggest edit; deployment:
create --with-github-pages; OpenAPI/llms-txt limitations and roadmap; feedback webhook spec in docs/plans/.
Changelog sort fix (newest version on top)
Fixes
- Changelog page — Sort by version descending first (newest at top), then by date. Corrected
compareVersion usage so newer versions (e.g. 10.0.3) no longer appear below older ones.
Changelog sort and shared version utils
Fixes
- Changelog page — Entries are now sorted by date (newest first), then by version when dates are equal, so the latest release (e.g. 10.0.2) always appears at the top.
Improvements
- Shared version helpers —
parseVersion and compareVersion moved to lib/version.ts for reuse; changelog page imports from there.
Docs updates and Deploy Docs fix
Fixes
- MobileNav.astro — Flatten nested nav entries when building mobile nav groups so
getPageTitle never receives an object. Fixes Deploy Docs workflow failing with page.split is not a function when navigation.pages contains { label, pages } objects.
Documentation
- Changelog v9.1.0 and v10.0.0 added to the docs site; removed Mintlify-style wording from docs and code comments.
- DESIGN-PLAN.md: layout/sidebar specs; DEVELOPMENT.md: docs site deployment (GitHub Pages, changelog content).
- About, roadmap, quickstart, content-structure, introduction (en/ko) updated for sidebar hierarchy.
- Changeset guidelines: prefer patch, add docs changelog when adding a changeset (
.changeset/README.md, DEVELOPMENT.md).
Sidebar hierarchy and full-width docs layout
New Features
- Sidebar hierarchy —
navigation[].pages in barodoc.config.json now supports nested entries. Use { "label": "Setup", "pages": ["guides/installation", "guides/configuration"] } for expandable sidebar groups. Use label:ko (or label:ja, etc.) for localized labels.
- Full-width docs layout — Docs layout uses the full viewport: sidebar and main content area span edge-to-edge; article content remains centered with a readable max-width.
Improvements
- Sidebar UX — Item-level collapse for entries with children (chevron on the right); group titles are always visible. Active item uses a rounded background highlight. Reduced indent for nested items.
- Header — Header and nav bar span full width to match the new layout.
- Mobile nav — Hamburger menu supports nested navigation items with the same hierarchy as the sidebar.
- Prev/next and category — Correctly computed when using nested nav (flattened slug list).
- Plugins —
@barodoc/plugin-og-image and @barodoc/plugin-llms-txt now flatten nested pages when scanning. CLI check and manifest commands handle the new config shape.
Documentation
- Configuration guide updated with flat list vs sidebar hierarchy examples (EN/KO).
- README and AGENTS.md updated with
navigation.pages type and hierarchy example.
Sidebar hierarchy and full-width docs layout
New Features
- Sidebar hierarchy —
navigation[].pages in barodoc.config.json now supports nested entries. Use { "label": "Setup", "pages": ["guides/installation", "guides/configuration"] } for expandable sidebar groups. Use label:ko (or label:ja, etc.) for localized labels.
- Full-width docs layout — Docs layout uses the full viewport: sidebar and main content area span edge-to-edge; article content remains centered with a readable max-width.
Improvements
- Sidebar UX — Item-level collapse for entries with children (chevron on the right); group titles are always visible. Active item uses a rounded background highlight. Reduced indent for nested items.
- Header — Header and nav bar span full width to match the new layout.
- Mobile nav — Hamburger menu supports nested navigation items with the same hierarchy as the sidebar.
- Prev/next and category — Correctly computed when using nested nav (flattened slug list).
- Plugins —
@barodoc/plugin-og-image and @barodoc/plugin-llms-txt now flatten nested pages when scanning. CLI check and manifest commands handle the new config shape.
Documentation
- Configuration guide updated with flat list vs sidebar hierarchy examples (EN/KO).
- README and AGENTS.md updated with
navigation.pages type and hierarchy example.
Mobile nav, navigation speed, and changelog
Improvements
- Mobile hamburger menu — Hamburger menu now works on all pages (home, blog, changelog, standalone pages).
MobileNavSheet is rendered from the shared header so the toggle event is always handled.
- Faster page transitions — Removed Astro View Transitions (
ClientRouter) from the base layout so link navigation uses normal browser behavior and feels faster.
Changelog
- Changelog entries added for v8.0.0 and v8.2.0. The docs site now documents 8.x releases.
Major version 8 — Blog, routing, and theme updates
New Features
- Blog custom URLs — Use
urlSlug in blog post frontmatter for custom URLs (e.g. urlSlug: "guide-writing" → /blog/guide-writing). Astro reserves the slug field, so we use urlSlug in the blog collection schema.
- Blog and changelog in docs project — When using the full Astro setup (e.g.
docs/), you can add src/pages/blog/index.astro and src/pages/blog/[...slug].astro so blog posts are served from your project’s content collection. The theme still provides the layout and UI.
Improvements
- Faster page navigation — View Transitions (ClientRouter) are disabled by default so navigation uses the browser’s default behavior and feels snappier.
- Mobile hamburger menu — The mobile nav sheet is now included in the header on all pages (home, blog, changelog, docs), so the menu button works everywhere, not only on docs pages.
- Content structure docs — Documentation updated for blog
urlSlug and directory layout examples.
Bug Fixes
- Fixed blog post pages returning 404 when using theme-injected routes; docs project now uses local blog pages so
getCollection("blog") runs in the correct context.
- Fixed
/blog returning 404 when only blog/[...slug].astro existed; added blog/index.astro so the index route is handled correctly.
Unified Component Imports & CodeGroup Fix
New Features
- Unified component imports — All MDX components (
Callout, Card, CardGroup, CodeItem, ApiParams, ApiParam, ApiResponse) can now be imported directly from @barodoc/theme-docs barrel export instead of deep paths.
- Separated theme entry point — New
@barodoc/theme-docs/theme entry point isolates server-side Astro integration from client-safe component exports, preventing Tailwind native binary from leaking into client bundles.
Improvements
- Page contributors — Documentation pages now display the most recent contributor avatar with a
+N badge when multiple contributors exist.
- Changelog tab — Added dedicated Changelog section accessible from the header navigation.
Bug Fixes
- CodeGroup tab titles — Fixed issue where CodeGroup component only showed “Tab 1” instead of the actual tab titles (JavaScript, Python, npm, etc.). The component now correctly uses Astro’s native
<script> tag for client-side DOM interactivity.
- Client build stability — Resolved Tailwind native binary (
@tailwindcss/oxide) being pulled into client bundles by restructuring package exports.
Multi-spec OpenAPI, Author Avatars & Header Tabs
New Features
- Multiple OpenAPI specs —
specFile now accepts an array of spec entries, each with its own basePath, baseUrl, and groupBy. Perfect for projects with separate public, admin, and webhook APIs.
- Author avatars in blog — Blog posts now support an
avatar field in frontmatter. Avatars appear on both the blog index and individual post pages.
- Header tabs navigation — New
tabs config option adds top-level navigation links (Docs, Blog, API, Changelog) in the header, visible on both desktop and mobile.
Improvements
- Content structure guide — Comprehensive documentation covering how Docs, Blog, API Reference, and Changelog content types work together.
- OpenAPI plugin docs — Expanded with quick start guide, multi-spec examples, and full options reference.
- Configuration guide — Added
tabs configuration documentation.
Bug Fixes
- Fixed code copy button styling broken on blog pages (missing
CodeCopy component in BlogLayout).
- Fixed Callout component import path in MDX files.
Blog Support & New Logo
New Features
- Blog content type — Full blog support with listing page, individual post pages, tags, reading time, and author display.
- New logo — Modern gradient SVG logo replacing the old monochrome design.
- Migration guide — Step-by-step guides for migrating from Docusaurus, GitBook, and Mintlify.
- Troubleshooting guide — Common issues and solutions for Barodoc projects.
Improvements
- CI pipeline — Type check errors now fail the build (removed
|| true). Added test runner step.
- Unit tests — Initial test suite covering i18n utilities, theme color generation, and markdown processing.
OpenAPI Playground & Plugin System
New Features
- OpenAPI plugin — Auto-generate API documentation from OpenAPI/Swagger specs with full parameter tables, response schemas, and cURL examples.
- API Playground — Interactive endpoint testing with auth support (Bearer, API Key, Basic), request history, and code snippet generation.
- Plugin system — Extensible architecture with hooks for
config:loaded, content:transform, build:start, and build:done.
- Search plugin — Full-text search powered by Pagefind.
- Sitemap plugin — Auto-generated sitemap.xml for SEO.
Improvements
- Added
editLink and lastUpdated support for docs pages.
- Improved dark mode consistency across all components.
i18n & Component Library
New Features
- Internationalization (i18n) — Multi-language support with locale-aware routing, navigation labels, and language switcher.
- MDX components — Callout, Card, Tabs, Accordion, Steps, CodeGroup, Columns, Badge, Tooltip, Expandable, and more.
- Mermaid diagrams — Native support for Mermaid diagram rendering in markdown.
- Image zoom — Click-to-zoom for images in docs.
Improvements
- Responsive sidebar with mobile navigation drawer.
- Breadcrumb navigation for nested docs.
- Table of contents (TOC) on each page.
Quick Mode & CLI
New Features
- Quick mode — Zero-config documentation from just markdown files. No
package.json or node_modules needed.
- CLI commands —
barodoc serve, barodoc build, barodoc preview for quick mode.
- Project scaffolding —
barodoc create / pnpm create barodoc to generate new projects.
- Auto frontmatter — Title extracted from first
# Heading, description from first paragraph.
Improvements
- Configurable theme colors via
barodoc.config.json.
- GitHub link in topbar.
Initial Release
New Features
- Core framework — Astro-based documentation generator with
@barodoc/core integration and @barodoc/theme-docs theme.
- Markdown & MDX — Full markdown support with MDX for interactive components.
- Navigation — Configurable sidebar with grouped pages.
- Dark mode — System-aware theme with manual toggle.
- Code highlighting — Syntax highlighting with line numbers and copy button.
- Responsive design — Mobile-first layout with desktop sidebar.