docus

Write beautiful documentations with Nuxt and Markdown.

1704
163
Vue

docus

Create beautiful docs with Markdown & Vue components

npm version
npm downloads
License

πŸš€ Quick Start

Create a new documentation project in seconds:

# Create a new project
npx create-docus my-docs

# Or create with i18n template for multi-language docs
npx create-docus my-docs -t i18n

# Navigate to your project
cd my-docs

# Start development server
npm run dev

That’s it! Your documentation site will be running at http://localhost:3000

🎯 What it creates

The CLI scaffolds a complete documentation project with:

  • ✨ Beautiful Design - Clean, modern documentation theme
  • πŸ“± Responsive - Mobile-first responsive design
  • πŸŒ™ Dark Mode - Built-in dark/light mode support
  • 🌍 Internationalization - Native i18n support for multi-language docs
  • πŸ” Search - Full-text search functionality
  • πŸ“ Markdown Enhanced - Extended markdown with custom components
  • 🎨 Customizable - Easy theming and brand customization
  • ⚑ Fast - Optimized for performance with Nuxt 4
  • πŸ”§ TypeScript - Full TypeScript support

Learn more on the Docus documentation.

πŸ“ Project Structure

Generated project

my-docs/
β”œβ”€β”€ content/              # Your markdown content
β”‚   β”œβ”€β”€ index.md         # Homepage
β”‚   └── docs/            # Documentation pages
β”œβ”€β”€ public/              # Static assets
└── package.json         # Dependencies and scripts

Optional files and folders

Docus uses a layer system, you can go further and use any feature or file of a classical Nuxt project:

my-docs/
β”œβ”€β”€ app.config.ts        # App configuration
β”œβ”€β”€ nuxt.config.ts       # Nuxt configuration (add extra modules, components, etc.)
β”œβ”€β”€ app/                 # App directory
β”‚   β”œβ”€β”€ components/      # Components (add your own components)
β”‚   β”œβ”€β”€ layouts/         # Layouts (add your own layouts)
β”‚   └── pages/           # Pages (add your own pages)
└── server/              # Server-side code (add your own server-side code)

/content folder structure

Single language structure:

content/
β”œβ”€β”€ index.md
β”œβ”€β”€ getting-started.md
└── guide/
    β”œβ”€β”€ introduction.md
    └── configuration.md

Multi-language structure (with i18n):

content/
β”œβ”€β”€ en/
β”‚   β”œβ”€β”€ index.md
β”‚   └── guide/
β”‚       └── introduction.md
└── fr/
    β”œβ”€β”€ index.md
    └── guide/
        └── introduction.md

⚑ Built with

Your project comes pre-configured with the best of the Nuxt ecosystem:

πŸ“– Documentation

For detailed documentation on customizing your Docus project, visit the Docus Documentation

πŸ› οΈ Development

This repository contains the CLI tool source code.

Local Development

To contribute to the CLI tool:

# Clone this repository
git clone https://github.com/nuxtlabs/docus

# Install dependencies
pnpm install

# Run the dev server to run the docus docs
pnpm run dev

Package Structure

This is a monorepo containing:

  • /cli - CLI tool (create-docus)
  • /layer - Docus Nuxt layer (docus)
  • /docs - Official documentation
  • /.starters - Starters project

πŸ“„ License

Published under the MIT license.


Docus has been entirely rewritten from scratch and is inspired from undocs made by @pi0 πŸ’š