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.
1.7 KiB
1.7 KiB
| description | outline |
|---|---|
| Conecta VitePress a un CMS headless usando rutas dinámicas y cargadores de datos. | deep |
Conectando a un CMS
Flujo de Trabajo general
Conectar VitePress a un CMS girará mayormente en torno a Rutas dinámicas. Asegúrese de entender cómo funcionan antes de proceder.
Como cada CMS funcionará de forma diferente, aquí podemos proveer apenas un flujo de trabajo genérico que requiere ser adaptado para cada escenario específico.
-
Si su CMS exige autenticación, cree un archivo
.envpara almacenar los tokens del API y cargarlos como:// posts/[id].paths.js import { loadEnv } from 'vitepress' const env = loadEnv('', process.cwd()) -
Obtenga los datos necesarios del CMS y aplique formato en directorios de datos apropiados:
export default { async paths() { // use la biblioteca del cliente CMS respectiva si es necesario const data = await (await fetch('https://my-cms-api', { headers: { // token si es necesario } })).json() return data.map(entry => { return { params: { id: entry.id, /* título, autores, data, etc. */ }, content: entry.content } }) } } -
Renderice el contenido en la página:
# {{ $params.title }} - por {{ $params.author }} en {{ $params.date }} <!-- @content -->
Guías de Integración
Se usted escribió una guía sobre cómo integrar VitePress con un CMS específico, por favor use el link "Edite esta página" abajo para enviarlo hacia aquí!