Skip to content

Releases: nuxt-content/docus

v4.0.4

07 Aug 15:02

Choose a tag to compare

🐛 Bug Fixes

  • css: ensure tailwind whitelisting without overriding (5b3f6d2)

If you were previously overriding your theme like this:

@import "tailwindcss";
@import "@nuxt/ui-pro";

@source "../../../content/**/*";
@source "../../../node_modules/docus/app/**/*";

/* Overrides here */
@theme static {
  --font-sans: 'Public Sans', sans-serif;
}

You no longer need to source your content folder and the Docus layer app folder. This is handled under the hood, just adding overrides is enough:

@import "tailwindcss";
@import "@nuxt/ui-pro";

@theme static {
  --font-sans: 'Public Sans', sans-serif;
}

More info about theming on https://www.docus.dev/en/concepts/theme

Full Changelog: v4.0.3...v4.0.4

v4.0.3

06 Aug 09:44

Choose a tag to compare

🐛 Bug Fixes

  • i18n: add docus locales for new countries (638589c)
  • i18n: update to v10 by handling redirect on root (5444fe9)
  • prerendering: remove root route (c4fb378)
  • prerendering: use i18n:registerModule hook (6fc0277)
  • prerender: wrong links (fd30ac0) and (090b86f)
  • routing: handle unique root level content (d97a793)
  • starters: fr landing page (1bba5a0)
  • template: ensure composable is available (a68e88c)

❤️ New Contributors

Full Changelog: v4.0.2...v4.0.3

v4.0.2

25 Jul 17:09

Choose a tag to compare

🐛 Bug Fixes

  • git: hide fatal error when fetching branch (cbdd880)
  • deps: rollback to i18n v9 for redirection issue (2ef0181)

Full Changelog: v4.0.0...v4.0.2

v4.0.0

25 Jul 15:07

Choose a tag to compare

🎉 Docus v4

Even though Docus v3 was a recent release, moving to the native Nuxt CLI in v4 allows us to benefit from its performance improvements and ongoing enhancements. The only breaking changes are related to how you run and build your documentation projects.

⚡Native Nuxt CLI Integration

Docus v4 transitions from a custom CLI tool to a Nuxt layer-based approach that leverages the official Nuxt CLI (nuxi).

  • Monorepo structure: The main Docus repository is now a monorepo containing two packages:
    • docus: The Nuxt layer you add to your project for docs features and UI.
    • create-docus: The CLI tool to create new Docus projects (replaces the previous CLI).
  • Nuxt 4 compatibility: Support for Nuxt 4.
  • Flexible templates: Choose between default and i18n starter templates with the -t flag when creating a new project (more details below about i18n).

Usage

# ✅ New way (v4)
npx create-docus my-docs
cd my-docs
npm run dev

# ❌ Old way (v3)
npx docus init my-docs

Generated project (no changes)

my-docs/
├── content/              # Your markdown content
│   ├── index.md         # Homepage
│   └── docs/            # Documentation pages
├── public/              # Static assets
└── package.json         # Dependencies and scripts

You can still 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)

🌍 I18N Integration

Docus v4 introduces native internationalization support based on the @nuxtjs/i18n module

  • Built-in i18n module: Native integration with @nuxtjs/i18n
  • Dynamic locale routing: Automatic URL prefixing with language codes (/en/docs, /fr/docs)
  • Content collections per locale: Separate content management for each language
  • Language switcher: Built-in component for switching between locales

Content Organization

With i18n:

content/
├── en/
│   ├── index.md
│   └── docs/
│       └── getting-started.md
├── fr/
│   ├── index.md
│   └── docs/
│       └── getting-started.md

Without i18n:

content/
├── index.md
└── docs/
    └── getting-started.md

Configuration

Tip

The only thing you need to do to enable i18n is to add it in your nuxt.config.ts and define the locales in the i18n configuration.

Docus will automatically generate the content collections based on the locales defined in the i18n configuration and will use your content architecture to generate the routing.

export default defineNuxtConfig({
  modules: ['@nuxtjs/i18n'],
  i18n: {
    defaultLocale: 'en',
    locales: [
      { code: 'en', name: 'English' },
      { code: 'fr', name: 'Français' }
    ],
  }
})

⚠️ Breaking Changes

CLI Command Changes

v3 v4
npx docus init my-docs npx create-docus my-docs
npx docus dev nuxt dev --extend docus
npx docus build nuxt build --extend docus

Note

It's even recommanded to directly extend the Docus layer in your nuxt.config.ts with extends: ['docus'] instead of using the CLI commands but both will work.

Full Changelog: v3.0.5...v4.0.0

v3.0.5

01 Jul 08:27

Choose a tag to compare

🚀 Features

  • app: add bash & diff highlight langs (55e0fa0)
  • app: handle github.rootDir app config (0698787)

🐛 Bug Fixes

  • app: add highlight on content toc (a511b50)
  • app: allow content navigation variant override (ccc1340)
  • app: display page links in header (9acc755)
  • app: import from @nuxt/kit (d8dbee4)
  • app: improve app config type (246c16a)
  • app: use useClipboard to copy page (a8cd48b)

❤️ Contributors

Full Changelog: v3.0.4...v3.0.5

v3.0.4

24 Jun 08:36

Choose a tag to compare

3.0.4 (2025-06-24)

Bug Fixes

  • prerender: redirect issue with static deployment (5f8fbb3)

Improvements

  • components: improve DocsPageHeaderLinks (#1091) (cf683d)

❤️ Contributors

@larbish
@HugoRCD

v3.0.3

20 Jun 14:45

Choose a tag to compare

3.0.3 (2025-06-20)

Features

  • nav: handle nav for docs folder (65a477a)

Bug Fixes

  • landing: conditionally add prose (1931668)
  • landing: put back prose (73edf2a)
  • prerender: add mardown raw content (e35b7aa)

v3.0.2

17 Jun 18:29

Choose a tag to compare

3.0.2 (2025-06-17)

Features

  • llms: enable full by default (677078f)

Bug Fixes

v3.0.1

17 Jun 10:06

Choose a tag to compare

3.0.1 (2025-06-17)

🩹 Bug fixes

  • configs: handle llms and site default configs in a module (c642df9)
  • seo: improve async data key (2de5ffe)
  • llms: missing deps to enable full (6d354ce)
  • setup: define default app config in module (b250a1b)

❤️ Contributors

@larbish
@atinux

v3.0.0

13 Jun 15:39

Choose a tag to compare

3.0.0 (2025-06-13)

We’ve completely rewritten the Docus theme. Reviving it with a fresh and modern foundation powered by the Nuxt ecosystem and designed by Nuxt UI to offer the best documentation experience.

The goal was simple: take the best parts of the Nuxt ecosystem and deliver a documentation theme that’s powerful, elegant and easy to maintain.

What’s New in Docus v3?

📦 A real Nuxt app with just one dependency

Docus is built on top of Nuxt 3 (version 4 compatibility mode is enabled so we're already ready for Nuxt 4). That means your documentation is a full Nuxt application with access to the entire Nuxt features: components, modules, plugins, runtime config, and more.

But, the best part is... You only need the docus package. It bundles all the necessary officials Nuxt modules, so you can start writing documentation in seconds. All you need in your app is a package.json file and a content/ folder with your Markdown in it. Then you’re good to go.

✨ Designed by Nuxt UI Pro

Docus v2 is powered by Nuxt UI Pro, giving you a beautiful, responsive, and accessible theme out of the box. With Tailwind CSS v4, CSS variables, and the Tailwind Variants API, your docs look great by default but stays fully customizable.

You can tweak colors, update typography or adjust component styles globally or per component with simple updates in your app.config.ts.

Note

A UI Pro license is currently required, but we’re working to make it free for everyone soon

✍️ Markdown with superpowers (MDC syntax by Nuxt Content)

Writing docs has never been more simple. You're one Markdown folder away from it. Furthermore with Nuxt Content and the MDC syntax, you can embed interactive Vue components in Markdown and use any Nuxt UI components or your own custom ones.

🖥️ Nuxt Studio ready

Docus works perfectly with Nuxt Studio, allowing you to manage and edit your docs entirely from the browser. No terminal, no local setup. It’s the ideal way to collaborate with non-technical contributors or manage docs centrally for your team.

🔍 SEO out of the box

Technical SEO is tricky and boring. Docus offers a solid, opt-in default setup that works out of the box while giving you full control to customize your SEO metadata, from pages metas to social sharing images.

🔧 Full customization via component overrides

Need to replace parts of the layout or UI? Docus uses Nuxt Layers to let you override core components we've defined. Just create a new component in your project’s components/ directory using the same name, and Docus will automatically use it.

🤖 LLMs integration by default

Docus integrates nuxt-llms by default to prepare your content for Large Language Models (LLMs). All your documentation pages are injected and /llms.txt file is automatically generated and pre-rendered.

🧠 Smart defaults for a ready docs

Docus includes thoughtful defaults that save you time:

  • ✅ Auto-generated sidebar navigation from your folder structure
  • 🔍 Full-text search using Fuse.js
  • ✨ Optimized typography and layout
  • 🌙 Dark mode support out of the box
  • 🖼️ Nuxt Image integration for responsive, optimized images

🔁 Easy migration

Moving from any Markdown-based is straightforward: drop your .md files into your content/ folder and you’re live.

What’s Next?

🔧 Try Docus Today

npx docus init docs

That's it 🚀 You're ready to edit your content/ folder and start writing your doc.

🤝 Contribute

We’ve moved the repository to the NuxtLabs GitHub organization and cleaned up the issue tracker to start fresh.

Whether you’re fixing bugs, suggesting features, or writing docs, we’d love your help. Feedback, contributions, and discussions about the future of Docus are all welcome!