TockDocs LogoTockDocs
AI coding agents: see /llms.txt for the full documentation index. Markdown version: /docs/manual/zh/concepts/configuration.md.
核心概念

配置

通过 Nuxt 应用配置文件自定义您的 TockDocs 文档。

TockDocs 允许您通过 Nuxt 提供的 app.config.ts 文件来配置您的文档。

您需要有一个 nuxt.config.ts 才能覆盖应用配置。没有现有的 Nuxt 配置文件,更改将不会生效。

SEO

技术 SEO 既棘手又繁琐。TockDocs 提供了一套可靠、可选用的默认设置,开箱即用,同时让您完全控制自定义 SEO 元数据,从页面标题到社交分享图片。

元数据

TockDocs 提供灵活的 SEO 元数据配置,允许您轻松地在全局或每页基础上覆盖值。

全局配置

app.config.ts 中为整个文档定义默认的 SEO 元数据。这些值将作为未在 frontmatter 中指定自己值的页面的回退值。

您还可以从 nuxt.config.ts 文件配置 site.name 值,默认基于您的 package.json 名称。

export default defineAppConfig({
  seo: {
    // 默认为 `%s - ${site.name}`
    titleTemplate: '',
    // 默认为 package.json 名称
    title: '',
    // 默认为 package.json 描述
    description: '',
  },
})

每页配置

content/ 目录中的每个 Markdown 文件以 frontmatter 块(---)开头。您可以使用 seo 键为每页定义 SEO 元数据:

content/concepts/configuration.md
---
seo:
  title: '配置'
  description: '通过 Nuxt 应用配置文件自定义您的 TockDocs 文档。'
---

<!-- 页面内容 -->
有关 frontmatter 的更多详细信息,请参阅内容编辑指南。

社交分享(OG)图片

当您在社交媒体或某些聊天平台上分享文档链接时,链接将被 展开,即显示某人链接内容的预览(显示标题、描述和图片)。所有这些都由 Open Graph 协议 提供支持。

文档页面

我们底层使用 Nuxt OG Image 为每个文档页面生成 OG 图片,基于提供的标题和描述。

OG 图片文档页面

首页

与文档页面相同,首页使用相同的 OG 图片生成器,基于提供的标题和描述。确切路由取决于页面元数据编码后的结果,因此请使用构建产物中生成的路径,或直接检查渲染后的页面源码。

/_og/s/c_Landing,title_Your+Site,description_Your+landing+page+description.png

覆盖 OG 图片

由于 TockDocs 是一个 Nuxt 层,您可以通过在自己的 components/OgImage/ 目录中创建同名文件来覆盖文档或首页的 OG 图片。

components/
  OgImage/
    Docs.takumi.vue     # 覆盖文档 OG 图片
    Landing.takumi.vue  # 覆盖首页 OG 图片

您的组件接收 titledescriptionheadline(仅文档)作为属性,并可以使用 Takumi 渲染器 支持的任何 Tailwind CSS 或内联样式。

站点地图

TockDocs 自动在 /sitemap.xml 生成包含所有文档页面的站点地图。这有助于搜索引擎发现和索引您的内容。

排除页面

要从站点地图中排除特定页面,请在其 frontmatter 中添加 sitemap: false

content/draft-page.md
---
sitemap: false
---

此页面不会出现在站点地图中。

站点 URL

为了生成正确的站点地图 URL,请设置 NUXT_SITE_URL 环境变量:

NUXT_SITE_URL=https://your-site.com

页头

配置您文档站点的 titlelogo

app.config.ts
export default defineAppConfig({
  header: {
    title: '',
    logo: {
      light: '',
      dark: '',
      alt: '',
    },
  },
})

品牌资源

您可以为 logo 配置额外的品牌资源。右键单击页头中的 logo 会打开一个包含复制和下载操作的上下文菜单。

app.config.ts
export default defineAppConfig({
  header: {
    title: 'My Project',
    logo: {
      light: '/logo/logo-dark.svg',
      dark: '/logo/logo-light.svg',
      alt: 'My Project Logo',
      favicon: '/favicon.svg',
      brandAssetsUrl: 'https://example.com/brand',
    },
  },
})
字段描述
logo.class在 logo 图片上的额外 CSS 类(例如 'h-8')。
logo.favicon浏览器标签页和品牌资源下载中使用的 favicon 文件路径。默认为 /favicon.ico
logo.brandAssetsUrl品牌资源页面的链接,显示为菜单项。

当 logo 是 SVG 格式时,上下文菜单提供复制 logo下载 logo 操作,可复制带有 currentColor 描边和填充的原始 SVG,随时可粘贴到 Figma 或任何设计工具中。对于非 SVG 格式(PNG 等),仅提供下载操作。

如果您使用 SVG favicon,可以在 SVG 内部使用 prefers-color-scheme 媒体查询使其感知主题。

颜色模式

默认情况下,TockDocs 在页头和页脚中包含颜色模式切换,允许用户在浅色和深色模式之间切换。

如果您的文档只使用一种主题,您可以通过设置 colorMode 选项来强制指定:

app.config.ts
export default defineAppConfig({
  tockdocs: {
    colorMode: 'dark',
  },
})
行为
''(默认)跟随系统偏好,显示切换按钮
'light'强制浅色模式,隐藏切换
'dark'强制深色模式,隐藏切换

当强制使用某种颜色模式时,切换按钮会在页头和页脚中隐藏,并且命令面板中的颜色模式命令也会被移除。

导航

子导航

对于有许多内容分区的文档站点,您可以启用子导航,将顶级内容文件夹拆分为分区,并过滤左侧边栏仅显示活动分区的页面。

提供两种显示模式:

  • header — 在页头下方渲染辅助标签栏(仅桌面端,移动端使用抽屉)
  • aside — 在左侧边栏顶部渲染分区锚点(移动端使用抽屉)
app.config.ts
export default defineAppConfig({
  navigation: {
    sub: 'header', // 或 'aside'
  },
})
TockDocs UI preview
标签页从 content/ 中的顶级文件夹自动生成。每个文件夹的标题和图标从其 .navigation.yml 文件中读取。

社交链接

在页脚中使用 Record<string, string> 添加您的社交媒体链接,键名与 Simple Icons 库中的图标匹配。

app.config.ts
export default defineAppConfig({
  socials: {
    x: 'https://x.com/nuxt_js',
    discord: 'https://discord.com/invite/ps2h6QT',
    nuxt: 'https://nuxt.com',
  },
})

目录

您可以自定义每个页面右侧边栏的目录。

app.config.ts
export default defineAppConfig({
  toc: {
    // 重命名目录标题
    title: '本页内容',
    // 在目录底部添加一个区域
    bottom: {
      title: '社区',
      links: [
        {
          icon: 'i-lucide-book-open',
          label: 'Nuxt UI 文档',
          to: 'https://ui.nuxt.com/getting-started/installation/nuxt',
          target: '_blank',
        },
      ],
    },
  },
})

语言设置

对于单语言文档(不使用完整的 @nuxtjs/i18n 模块),您可以通过 app.config.ts 配置语言:

app.config.ts
export default defineAppConfig({
  tockdocs: {
    locale: 'zh', // 默认: 'en'
  },
})
有关带语言切换的多语言文档,请参阅国际化指南

GitHub 集成

TockDocs 读取您的 .git/ 文件夹以获取仓库的 urlbranch,并添加:

  • 页头和页脚中的 GitHub 图标
  • 每个页面页脚中的「编辑此页」和「报告问题」链接。
app.config.ts
export default defineAppConfig({
  github: {
    url: 'https://github.com/taowang1993/tockdocs',
    branch: 'main',
    rootDir: 'docs',
  },
})

如果您不想使用 GitHub,可以将 github 键设为 false 以禁用 GitHub 集成。

app.config.ts
export default defineAppConfig({
  github: false,
})
这些配置也可以在 Studio 编辑器中处理,试试看!
Copyright © 2026