VitePress Parity
This theme targets high visual and interaction parity with VitePress while keeping configuration and authoring idiomatic to Jekyll.
TIP
This page covers behavior that mirrors VitePress. Features added on top of baseline VitePress are documented on Extensions to VitePress.
Mirrored Features
The theme intentionally mirrors these VitePress documentation features:
- Top nav, mobile nav, and social links: persistent header navigation with responsive mobile behavior.
- Left sidebar and right outline: docs shell layout with collection-driven sidebar navigation and page-local outline.
- Fast doc-to-doc navigation: Turbo Frames keep the surrounding docs shell mounted between page changes.
- Home layout: VitePress-style hero, actions, image, and feature cards from frontmatter.
- Doc footer behavior: previous/next pager, edit link, and last-updated metadata.
- Appearance switcher:
auto,dark, andlightmodes with persisted preference. - Search trigger UX: keyboard search with
/,Ctrl+K, andCmd+K. - Code block UX: copy buttons, language labels, file title bars, file icons, and syntax palettes.
- Markdown enhancements: heading anchors, external link indicators, and table styling.
- Custom containers:
info,note,tip,important,warning,danger,caution, anddetailsblocks. - Automatic page title injection: doc pages render the frontmatter
titleas the page heading.
Jekyll-First Differences
These differences are intentional. The functionality is equivalent where possible, but the implementation uses Jekyll conventions:
- Configuration: theme options live in
_config.ymlunderjekyll_vitepress, not in.vitepress/config.js. - Navigation data: nav, sidebar, social, and version data live in
_data/*.yml, not JavaScript config. - Syntax highlighting: highlighting uses Rouge themes instead of Shiki.
- Last updated: timestamps are populated by Jekyll plugin hooks instead of Git history.
- Extension hooks: customization uses layout/include overrides and custom scripts instead of Vue slots.
- Turbo navigation: fast page changes use Turbo Frames around the docs content instead of a client-side router.
Practical Guidance
If you want output that looks as close to VitePress as possible, keep the optional extras disabled and rely on the default structure, styling, and frontmatter patterns.
If you want productized docs behavior beyond VitePress parity, enable the extras documented on Extensions to VitePress.