开始使用
项目结构
了解 Docus v4 的项目结构。
全局结构
Docus 是一个 Nuxt 层,它通过文档功能扩展了您的标准 Nuxt 应用程序。这为您提供了完整 Nuxt 项目的灵活性。
当您使用 npx create-docus my-docs 创建一个新的 Docus 项目时,您会得到:
my-docs/
├── content/ # 您的 Markdown 内容
│ ├── index.md # 主页
│ └── docs/ # 文档页面
├── public/ # 静态资源
└── package.json # 依赖项和脚本
您仍然可以使用经典 Nuxt 项目的任何功能或文件:
my-docs/
├── nuxt.config.ts # Nuxt 配置(添加额外的模块、组件等)
├── app/ # 应用目录
├── app.config.ts # 应用配置
│ ├── components/ # 组件(添加您自己的组件)
│ ├── layouts/ # 布局(添加您自己的布局)
│ └── pages/ # 页面(添加您自己的页面)
└── server/ # 服务器端代码(添加您自己的服务器端代码)
content/ 目录
这是您在 Markdown 中编写页面的地方。Docus 会根据您的文件结构自动生成路由。
单语言结构:
content/
├── index.md # 着陆页 (/)
├── getting-started.md # 文档页面 (/getting-started)
└── guide/
├── introduction.md # 文档页面 (/guide/introduction)
└── configuration.md # 文档页面 (/guide/configuration)
多语言结构(使用 i18n):
content/
├── en/
│ ├── index.md # 英文着陆页 (/en)
│ └── guide/
│ └── introduction.md # 文档页面 (/en/guide/introduction)
└── fr/
├── index.md # 法文着陆页 (/fr)
└── guide/
└── introduction.md # 文档页面 (/fr/guide/introduction)
public/ 目录
public/ 目录中包含的文件在根目录下提供服务,不会被构建过程修改。这是您可以放置图像、图标和其他静态资源的地方。
package.json
此文件包含应用程序的所有依赖项和脚本。Docus 应用程序的 package.json 非常简洁,如下所示:
package.json
{
"name": "my-docs",
"scripts": {
"build": "nuxt build --extends docus",
"dev": "nuxt dev --extends docus"
},
"dependencies": {
"docus": "latest",
"better-sqlite3": "^12.2.0",
"nuxt": "^4.0.0"
}
}
nuxt.config.ts
此文件对于启动 Docus 应用程序不是必需的。
您可以向 Nuxt 配置文件添加额外的模块:
nuxt.config.ts
export default defineNuxtConfig({
extends: ["@nuxtjs/plausible"],
});
app.config.ts
此文件对于启动 Docus 应用程序不是必需的。
如果您想覆盖应用配置,需要设置
nuxt.config.ts。这是您可以配置 Docus 以适应您的品牌、处理 SEO、设置区域设置以及调整链接和社交媒体的地方。有关详细信息,请参阅配置文档。
app.config.ts
export default defineAppConfig({
docus: {
locale: "en", // 设置您的单语言区域设置
},
seo: {
title: "My Docs",
description: "My awesome documentation",
},
// ... 其他配置
});
完整的 Nuxt 项目功能
由于 Docus 是一个 Nuxt 层,您可以使用标准 Nuxt 项目的任何功能:
如果您想使用 Nuxt 文件覆盖应用,需要设置
nuxt.config.ts。如果未创建 Nuxt 配置,更改将不会应用。my-docs/
├── app/ # 应用目录(可选)
├── app.config.ts # 应用配置
│ ├── components/ # 自定义 Vue 组件
│ ├── layouts/ # 自定义布局
│ ├── pages/ # 自定义 Vue 页面(在内容之外)
│ ├── composables/ # Vue 组合式函数
│ └── middleware/ # 路由中间件
├── server/ # 服务器端代码
│ └── api/ # API 路由
├── plugins/ # Nuxt 插件
├── middleware/ # 全局中间件
└── modules/ # 自定义 Nuxt 模块