VuePress 1.x Static Site Generator

1.9.10 · maintenance · verified Sun Apr 19

VuePress 1.x is a Vue-powered static site generator designed primarily for technical documentation. It enables authors to write content in Markdown and embed Vue components directly within it, offering a flexible and interactive documentation experience. The current stable version is 1.9.10, released in August 2023. Key differentiators include its Vue component-based layout system, a powerful plugin API for extending functionality, and a theming system. Since version 1.9.0, it features full TypeScript support for configuration files, and since 1.9.2, for plugins and themes, enhancing developer experience with type inference. While 1.x receives occasional bug fixes, it is officially in maintenance mode, with the core team's focus shifted to VuePress 2.x (which uses Vue 3 and ESM) and the even lighter-weight VitePress.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates setting up a basic VuePress 1.x project, including package.json scripts, a TypeScript-based configuration file (`config.ts`) with navigation and sidebar, and a sample Markdown page using a built-in component.

{
  "name": "my-docs",
  "version": "1.0.0",
  "description": "My awesome VuePress documentation",
  "main": "index.js",
  "scripts": {
    "docs:dev": "vuepress dev docs",
    "docs:build": "vuepress build docs"
  },
  "keywords": [],
  "author": "",
  "license": "MIT",
  "devDependencies": {
    "vuepress": "^1.9.10",
    "@vuepress/theme-default": "^1.9.10"
  }
}

// docs/.vuepress/config.ts
import { defineConfig } from 'vuepress/config';

export default defineConfig({
  title: 'Hello VuePress 1.x',
  description: 'Just playing around',
  themeConfig: {
    nav: [
      { text: 'Home', link: '/' },
      { text: 'Guide', link: '/guide/' },
      { text: 'External', link: 'https://vuejs.org' }
    ],
    sidebar: [
      '/',
      '/guide/'
    ]
  }
});

// docs/README.md
---
layout: home
---

# Hello VuePress!

This is my first VuePress 1.x site.

<ClientOnly>
  <p>This paragraph only renders on the client side.</p>
</ClientOnly>

view raw JSON →