mirror of https://github.com/vuejs/vitepress
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.3 KiB
2.3 KiB
outline |
---|
deep |
Подключение к CMS
Общий рабочий процесс
Подключение VitePress к CMS в значительной степени зависит от динамических маршрутов. Прежде чем приступить к работе, убедитесь, что вы понимаете, как это работает.
Поскольку каждая CMS работает по-своему, здесь мы можем предоставить лишь общую схему работы, которую вам нужно будет адаптировать под свой конкретный сценарий.
-
Если ваша CMS требует аутентификации, создайте файл
.env
для хранения токенов API и загрузите его таким образом:// posts/[id].paths.js import { loadEnv } from 'vitepress' const env = loadEnv('', process.cwd())
-
Получите необходимые данные из CMS и преобразуйте их в соответствующие пути:
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 } }) } }
-
Отрисуйте содержимое страницы:
# {{ $params.title }} - Автор: {{ $params.author }}, {{ $params.date }} <!-- @content -->
Руководства по интеграции
Если вы написали руководство по интеграции VitePress с конкретной CMS, воспользуйтесь ссылкой «Редактировать эту страницу», чтобы добавить его сюда!