Ruby projects should not need a JavaScript app just to get beautiful documentation.
jekyll-vitepress-theme brings the VitePress documentation experience to Jekyll: familiar navigation, sidebars, outlines, search, dark mode, code blocks, callouts, and doc footers, packaged as a Ruby gem.
The unusual part is navigation. Jekyll VitePress uses Turbo Frames like a Rails app, swapping only the content frame while the nav, sidebar, and shell stay in place. Page changes feel as fast as VitePress, while the output remains plain Jekyll: Markdown, Liquid, YAML, Ruby, and static files.
- As fast as VitePress: Turbo Frames swap only the docs content while the nav, sidebar, and shell stay mounted.
- Jekyll-native setup: keep your existing pages, add the gem, configure the handful of Jekyll settings your site needs, and start publishing.
- Familiar VitePress UX: top nav, sidebar, right outline, search, dark mode, code blocks, callouts, and doc footers come ready to use.
- More than VitePress: add GitHub Star and Sponsor buttons, a version selector, generated local search, and Copy Page/View as Markdown for LLM workflows.
- Static Ruby output: build with Jekyll and deploy the generated HTML to GitHub Pages, any CDN, or any static host.
Add the gem:
gem "jekyll-vitepress-theme"Enable the theme and plugin:
theme: jekyll-vitepress-theme
plugins:
- jekyll-vitepress-themeAdd basic theme config:
jekyll_vitepress:
branding:
site_title: My Docs
syntax:
light_theme: github
dark_theme: github.darkDefine navigation and sidebar data:
# _data/navigation.yml
- title: Guide
url: /getting-started/
collections: [guides]# _data/sidebar.yml
- title: Guide
collection: guidesRun Jekyll:
bundle install
bundle exec jekyll serve --livereload| Home | Docs |
|---|---|
![]() |
![]() |
Read the full documentation at jekyll-vitepress.dev.
Start here:
bundle install
npm install
bundle exec jekyll serve --livereloadRun the local verification suite:
bundle exec rake verifyMIT

