
Company News
/Security News
Socket Selected for OpenAI's Cybersecurity Grant Program
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.
vue-docs-ui
Advanced tools
A modern documentation UI component library built with Vue 3. Create beautiful documentation websites with YAML configuration and Markdown rendering - ready to use out of the box.
A modern, feature-rich documentation UI component library built with Vue 3. Create beautiful documentation websites with YAML configuration and Markdown rendering - ready to use out of the box.
# Create a new documentation project with one command
npm create vue-docs-ui my-docs
cd my-docs
npm install
npm run dev
npm install vue-docs-ui
# or
yarn add vue-docs-ui
# or
pnpm add vue-docs-ui
// main.ts
import createDocsApp from 'vue-docs-ui'
import 'vue-docs-ui/dist/style.css'
createDocsApp()
Create public/config/site.yaml:
# Basic site configuration
site:
title: "My Documentation"
description: "Built with Vue Docs UI"
logo: "📚" # Supports emoji, images, or URLs
author: "Your Name"
# Navigation
navbar:
items:
- title: "Home"
link: "/"
- title: "Guide"
link: "/guide"
- title: "GitHub"
link: "https://github.com/your-repo"
external: true
# Sidebar
sidebar:
sections:
- title: "Getting Started"
path: "/guide"
children:
- title: "Quick Start"
path: "/guide/quick-start"
- title: "Configuration"
path: "/guide/configuration"
# Theme (NEW: Multi-theme support!)
theme:
# Theme selection: default | vue | github | purple | orange | emerald
theme: "vue"
# Default mode: light | dark | auto
defaultMode: "auto"
# Allow users to toggle theme
allowToggle: true
# Show theme switcher component
showThemeSwitcher: true
# Table of Contents
toc:
maxLevel: 2
enabled: true
title: "Contents"
Create your markdown files in public/docs/:
public/
├── config/
│ └── site.yaml
└── docs/
├── guide/
│ ├── quick-start.md
│ └── configuration.md
└── advanced/
└── customization.md
That's it! 🎉 Run npm run dev and your documentation site is ready.
Vue Docs UI supports multiple logo formats:
site:
# Emoji (simplest)
logo: "🤖"
# Local image
logo: "/images/logo.png"
# Online image
logo: "https://example.com/logo.svg"
# Relative path
logo: "./assets/logo.svg"
Logo Requirements:
Vue Docs UI now supports 6 beautiful preset themes with complete configuration control:
| Theme | Description | Best for |
|---|---|---|
default | Modern blue theme | General documentation |
vue | Vue.js official green theme | Vue projects |
github | GitHub-style monochrome | Open source projects |
purple | Elegant purple theme | Design systems |
orange | Warm orange theme | Marketing sites |
emerald | Fresh green theme | Eco-friendly projects |
theme:
# Select theme: default | vue | github | purple | orange | emerald
theme: "vue"
# Default mode: light | dark | auto
defaultMode: "auto"
# Allow users to toggle theme/mode
allowToggle: true
# Show theme switcher component
showThemeSwitcher: true
"light": Force light mode"dark": Force dark mode"auto": Auto-detect system preference (recommended)allowToggle: true: Users can switch themes and modesallowToggle: false: Lock theme configurationshowThemeSwitcher: true: Show theme picker in headershowThemeSwitcher: false: Hide theme pickerFixed Theme Mode:
theme:
theme: "github"
defaultMode: "light"
allowToggle: false
showThemeSwitcher: false
Full User Control:
theme:
theme: "default"
defaultMode: "auto"
allowToggle: true
showThemeSwitcher: true
Brand Specific:
theme:
theme: "vue" # Vue theme for Vue projects
defaultMode: "auto"
allowToggle: true
showThemeSwitcher: true
import createDocsApp from 'vue-docs-ui'
import 'vue-docs-ui/dist/style.css'
import MyCustomHome from './MyCustomHome.vue'
import MyCustomArticle from './MyCustomArticle.vue'
createDocsApp({
configPath: '/config/site.yaml',
el: '#app',
customComponents: {
home: MyCustomHome,
article: MyCustomArticle
}
})
import { createApp } from 'vue'
import { DocsLayout, loadConfig } from 'vue-docs-ui'
import 'vue-docs-ui/dist/style.css'
const config = await loadConfig('/config/site.yaml')
const app = createApp(DocsLayout, { config })
app.mount('#app')
import {
DocsLayout,
HeaderNav,
SidebarNav,
TableOfContents,
MarkdownRenderer,
DefaultHome,
DefaultArticle,
createDocsApp,
loadConfig
} from 'vue-docs-ui'
Vue Docs UI is fully responsive:
my-docs-project/
├── public/
│ ├── config/
│ │ └── site.yaml # Site configuration
│ └── docs/ # Markdown content
│ ├── guide/
│ │ ├── quick-start.md
│ │ └── configuration.md
│ └── advanced/
│ └── customization.md
├── src/
│ └── main.ts # Just 3 lines of code
├── index.html
├── package.json
└── vite.config.js
# VitePress config.js equivalent in YAML
site:
title: "My Docs"
description: "Documentation site"
navbar:
items:
- title: "Guide"
link: "/guide/"
sidebar:
sections:
- title: "Getting Started"
children:
- title: "Introduction"
path: "/guide/introduction"
Vue Docs UI provides a simpler, Vue-focused alternative with zero configuration complexity.
| Feature | Vue Docs UI | VitePress | Docusaurus |
|---|---|---|---|
| Setup Complexity | ⭐ 3 lines | ⭐⭐ Config needed | ⭐⭐⭐ Complex setup |
| Vue 3 Support | ✅ Native | ✅ Yes | ❌ React only |
| Zero Config | ✅ Out of box | ⭐⭐ Needs config | ⭐⭐ Needs config |
| TypeScript | ✅ Full support | ✅ Yes | ✅ Yes |
| Customization | ⭐⭐⭐ Highly flexible | ⭐⭐ Medium | ⭐⭐⭐ Highly flexible |
| Performance | ⭐⭐⭐ Excellent | ⭐⭐⭐ Excellent | ⭐⭐ Good |
# Clone the repository
git clone https://github.com/vue-docs-ui/vue-docs-ui.git
cd vue-docs-ui
# Install dependencies
npm install
# Start development server
npm run dev
# Build library
npm run build:lib
# Run example
cd example && npm run dev
npm run build:lib # Build library for production
npm run build # Build example site
npm run type-check # TypeScript type checking
npm run preview # Preview built site
This package is ready for NPM publication:
# Dry run (test without publishing)
npm run publish:dry
# Version bump
npm run version:patch # 1.0.0 → 1.0.1
npm run version:minor # 1.0.0 → 1.1.0
npm run version:major # 1.0.0 → 2.0.0
# Publish to NPM
npm publish
The package includes:
MIT License - see LICENSE file for details.
We welcome contributions! Please see our Contributing Guide for details.
📖 Documentation in multiple languages:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)
Made with ❤️ by the Vue Docs UI Team
FAQs
A modern documentation UI component library built with Vue 3. Create beautiful documentation websites with YAML configuration and Markdown rendering - ready to use out of the box.
We found that vue-docs-ui demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.