跳到正文

站点配置参考

Docfuse 从项目根目录加载一个 docfuse.config.ts.mts.cts.js.mjs.cjs。多个同名变体会被视为歧义,未知字段和非法值会直接报错。

ts
import { defineConfig } from 'docfuse'export default defineConfig({  title: 'Acme Docs',  description: 'Acme 平台开发文档',  siteUrl: 'https://docs.acme.com',  basePath: '/',  requiredVersion: '^0.1.0'})

defineConfig() 不会改写配置,只为整个对象及其嵌套字段提供类型检查和编辑器补全。直接导出对象仍然受构建期 Schema 校验。

站点与目录

表格
titleDocfuse站点名称和默认页签标题
descriptionTechnical documentation页面未写 description 时的站点描述
siteUrl未设置canonical、hreflang 和 sitemap 使用的 HTTP(S) origin,不包路径、查询和哈希
basePath/子路径部署前缀,必须以 / 开头和结尾
editUrl未设置“编辑此页”的 HTTP(S) URL 前缀,不允许查询和哈希
github未设置页头 GitHub 入口的 HTTP(S) URL
requiredVersion未设置当前 CLI 必须满足的 semver 范围
docsDirdocs单版本内容目录;不能与 versions 同时配置
outputDir.docfuse/dist静态站点输出目录
styles[]在默认样式之后加载的项目 CSS 文件
layout.headertrue是否渲染品牌、顶部导航、搜索入口和语言/版本控件

siteUrl 只写 origin,子目录由 basePath 表达。editUrlgithub 未确定时直接省略。关闭 layout.header 不会移除正文侧栏、页内导航或搜索快捷键。

Markdown

表格
markdown.htmlsanitize普通 Markdown 的 Raw HTML 策略:trustedsanitizestrip;MDX 仍是可执行的可信代码
markdown.code.themes内置亮色/暗色主题替换 Shiki 主题名
markdown.code.fallbackLanguagetext未声明语言时的围栏标签
markdown.code.unknownLanguagewarn遇到未知围栏语言时使用 warnerrorplain-text
markdown.features各项启用分别关闭 Callout、Tabs、Code Group、Steps、Terminal、文档块、表格或代码块
markdown.labels按 locale 使用内置文案覆盖 Markdown 交互的可访问性文案
markdown.plugins[]受信任的构建期 Markdown 插件,按数组顺序执行

独立使用 <Markdown> 时,HTML 默认值是 strip,与 Docfuse 站点配置的 sanitize 不同。接入方法见 Markdown,插件配置见官方插件

主题与搜索

表格
theme.logo / logoDark未设置亮色和暗色品牌图片;logoDark 需要同时设置 logodarkMode: true
theme.favicon内置图标站点 favicon
theme.accentColordocfuse预设名或合法 CSS 颜色
theme.baseColorpaperpaperneutralslatezincstone
theme.darkModefalse生成暗色主题和切换控件
theme.radius8小、中、大圆角的站点快捷值
theme.sidebarWidth17.5rem桌面端侧栏宽度
theme.outlineWidth18.75rem桌面端页内导航宽度
theme.tokens{}亮暗色、排版、阅读宽度、圆角和动效的语义 Token 覆盖
search.enabledtrue生成搜索索引和客户端入口
search.providercompact内置 compact 或实现 SearchProvider 的对象,如 pagefind()

主题覆盖示例见定制主题,搜索选择见配置搜索

站点能力

表格
extensions[]{ resolve, options } 列表;resolve 必须以 ./ 开头,options 必须可 JSON 序列化
navigation{}按 locale 配置的 { text, link }[];未配置时从一级内容分区生成
versions当前版本 current{ current, items };当前版本必须使用 /,每个 id 和 base 唯一
redirects{}旧路由到现有站内路由的映射;链、环和覆盖真实页面都会失败
advertising未设置{ image, href, alt, label? } 右侧图片位

对应流程见导航版本重定向扩展广告

多语言与 AI 输出

表格
i18n.defaultLocalezh无 URL 前缀的默认语言
i18n.locales['zh']需要构建的 locale 列表
i18n.localeNames{}语言切换器显示名
i18n.messages{}按 locale 覆盖站点和 Markdown 界面文案
ai.llmsTxttrue生成 llms.txt
ai.llmsFullTxttrue生成 llms-full.txt 或 Manifest 指针
ai.markdownIndextrue生成 ai/index.md
ai.pageSummariestrue生成 ai/summaries.json
ai.codeExamplestrue生成 ai/code-examples.json
ai.chunkSizeBytes262144单个 JSONL 内容记录的编码字节上限
ai.llmsFullMaxBytes10485760兼容单文件的容量上限
ai.llmsFullOverflowmanifest超限时写 Manifest 指针或使用 error 停止构建
ai.versionscurrent只发布当前版本,或使用 all 发布全部版本

添加语言见配置多语言,文件结构与收录规则见 AI 友好输出