import{_ as i,c as a,ag as n,o as t}from"./chunks/framework.C1C4sYC0.js";const g=JSON.parse('{"title":"Подключение к CMS","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"ru/guide/cms.md","filePath":"ru/guide/cms.md","lastUpdated":1712554192000}'),l={name:"ru/guide/cms.md"};function p(h,s,e,k,r,d){return t(),a("div",null,s[0]||(s[0]=[n(`

Подключение к 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() {
        // при необходимости используйте соответствующую клиентскую библиотеку CMS
        const data = await (
          await fetch('https://my-cms-api', {
            headers: {
              // токен, если необходимо
            }
          })
        ).json()
    
        return data.map((entry) => {
          return {
            params: { id: entry.id /* заголовок, автор, дата и т. д. */ },
            content: entry.content
          }
        })
      }
    }
  3. Отрисуйте содержимое страницы:

    md
    # {{ $params.title }}
    
    - Автор: {{ $params.author }}, {{ $params.date }}
    
    <!-- @content -->

Руководства по интеграции

Если вы написали руководство по интеграции VitePress с конкретной CMS, воспользуйтесь ссылкой «Редактировать эту страницу», чтобы добавить его сюда!

`,7)]))}const c=i(l,[["render",p]]);export{g as __pageData,c as default};