跳至内容

连接 CMS

通用工作流程

将 VitePress 连接到 CMS 主要围绕 动态路由。在继续之前,请确保您了解其工作原理。

由于每个 CMS 的工作方式都不同,因此我们只能提供一个通用的工作流程,您需要根据您的具体情况进行调整。

  1. 如果您的 CMS 需要身份验证,请创建一个 .env 文件来存储您的 API 令牌并加载它,以便

    js
    // posts/[id].paths.js
    import { loadEnv } from 'vitepress'
    
    const env = loadEnv('', process.cwd())
  2. 从 CMS 中获取必要的数据并将其格式化为正确的路径数据

    js
    export default {
      async paths() {
        // use respective CMS client library if needed
        const data = await (await fetch('https://my-cms-api', {
          headers: {
            // token if necessary
          }
        })).json()
    
        return data.map(entry => {
          return {
            params: { id: entry.id, /* title, authors, date etc. */ },
            content: entry.content
          }
        })
      }
    }
  3. 在页面中渲染内容

    md
    # {{ $params.title }}
    
    - by {{ $params.author }} on {{ $params.date }}
    
    <!-- @content -->

集成指南

如果您编写了有关将 VitePress 与特定 CMS 集成的指南,请使用下面的“编辑此页面”链接将其提交到这里!