@hz-9/docs-build
v0.9.1
Published
A tool for generating vuepress-theme-hope documentation site from markdown files.
Maintainers
Readme
@hz-9/docs-build
A tool for generating vuepress-theme-hope documentation site from markdown files.
Introduction
@hz-9/docs-build scans markdown files based on a configuration file (docs-build.config.json) and generates a complete vuepress-theme-hope documentation site. It handles:
- File copying — automatically organizes markdown files into multi-language directory structure
- Navigation bar & sidebar generation — generates VuePress-compatible navbar/sidebar configuration
- Template rendering — produces ready-to-use VuePress config files (config.ts, navbar.ts, sidebar.ts, theme.ts)
Installation
npm install --global @hz-9/docs-buildUsage
Configuration
Create a docs-build.config.json in your project root:
{
"baseSourceDir": "docs",
"site": {
"base": "/",
"lang": "en-US",
"title": "My Project",
"description": "Project description"
},
"locales": {
"languages": ["en-US", "zh-CN"]
},
"output": "docs/.vuepress",
"navigation": {
"navbar": [
{
"text": { "en-US": "Guide", "zh-CN": "指南" },
"link": "guide/README.md",
"icon": "book"
}
],
"sidebar": {
"/guide/": [
{
"text": { "en-US": "Getting Started", "zh-CN": "快速开始" },
"link": "guide/README.md"
}
]
}
}
}Run
docs-buildCLI Parameters
| Parameter | Description |
|---|---|
| -c, --config <path> | Path to docs-build.config.json (default: ./docs-build.config.json) |
| -o, --output <path> | Override output path from config |
Programmatic Usage
import { Commander, CommanderOptions, DocsBuild, DocsOptions } from '@hz-9/docs-build'
// Load and validate config
const options = DocsOptions.load('./docs-build.config.json')
// Run build
const result = await DocsBuild.resolve(options)
console.log(`Config generated at: ${result.configPath}`)