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.
main
gh-pages
userquin/fix-skip-to-content
fix/4928
v2-theme
v1
link-headers-experiment
fix/2980
fix/4605
fix/4375
client-types
userquin/feat-use-best-lang-match-for-last-update
userquin/feat-add-external-translation-repo-links
userquin/feat-add-inert-content-again
userquin/feat-include-ids-and-anchor-check
userquin/feat-add-print-options
fix/2989
progressbar
v0.9.1
v0.10.0
v0.10.1
v0.10.2
v0.10.3
v0.10.4
v0.10.5
v0.10.6
v0.10.7
v0.10.8
v0.11.0
v0.11.1
v0.11.2
v0.11.3
v0.11.4
v0.11.5
v0.12.0
v0.12.1
v0.12.2
v0.13.0
v0.13.1
v0.13.2
v0.14.0
v0.14.1
v0.15.0
v0.15.1
v0.15.2
v0.15.3
v0.15.4
v0.15.5
v0.15.6
v0.16.0
v0.16.1
v0.17.0
v0.17.1
v0.17.2
v0.17.3
v0.18.0
v0.18.1
v0.19.0
v0.19.1
v0.19.2
v0.20.0
v0.20.1
v0.20.10
v0.20.2
v0.20.3
v0.20.4
v0.20.5
v0.20.6
v0.20.7
v0.20.8
v0.20.9
v0.21.0
v0.21.1
v0.21.2
v0.21.3
v0.21.4
v0.21.5
v0.21.6
v0.22.0
v0.22.1
v0.22.2
v0.22.3
v0.22.4
v0.4.1
v0.5.0
v0.6.0
v0.7.0
v0.7.1
v0.7.2
v0.7.3
v0.7.4
v0.8.0
v0.8.1
v0.9.0
v0.9.2
v1.0.0
v1.0.0-alpha.1
v1.0.0-alpha.10
v1.0.0-alpha.11
v1.0.0-alpha.12
v1.0.0-alpha.13
v1.0.0-alpha.14
v1.0.0-alpha.15
v1.0.0-alpha.16
v1.0.0-alpha.17
v1.0.0-alpha.18
v1.0.0-alpha.19
v1.0.0-alpha.2
v1.0.0-alpha.20
v1.0.0-alpha.21
v1.0.0-alpha.22
v1.0.0-alpha.23
v1.0.0-alpha.24
v1.0.0-alpha.25
v1.0.0-alpha.26
v1.0.0-alpha.27
v1.0.0-alpha.28
v1.0.0-alpha.29
v1.0.0-alpha.3
v1.0.0-alpha.30
v1.0.0-alpha.31
v1.0.0-alpha.32
v1.0.0-alpha.33
v1.0.0-alpha.34
v1.0.0-alpha.35
v1.0.0-alpha.36
v1.0.0-alpha.37
v1.0.0-alpha.38
v1.0.0-alpha.39
v1.0.0-alpha.4
v1.0.0-alpha.40
v1.0.0-alpha.41
v1.0.0-alpha.42
v1.0.0-alpha.43
v1.0.0-alpha.44
v1.0.0-alpha.45
v1.0.0-alpha.46
v1.0.0-alpha.47
v1.0.0-alpha.48
v1.0.0-alpha.49
v1.0.0-alpha.5
v1.0.0-alpha.50
v1.0.0-alpha.51
v1.0.0-alpha.52
v1.0.0-alpha.53
v1.0.0-alpha.54
v1.0.0-alpha.55
v1.0.0-alpha.56
v1.0.0-alpha.57
v1.0.0-alpha.58
v1.0.0-alpha.59
v1.0.0-alpha.6
v1.0.0-alpha.60
v1.0.0-alpha.61
v1.0.0-alpha.62
v1.0.0-alpha.63
v1.0.0-alpha.64
v1.0.0-alpha.65
v1.0.0-alpha.66
v1.0.0-alpha.67
v1.0.0-alpha.68
v1.0.0-alpha.69
v1.0.0-alpha.7
v1.0.0-alpha.70
v1.0.0-alpha.71
v1.0.0-alpha.72
v1.0.0-alpha.73
v1.0.0-alpha.74
v1.0.0-alpha.75
v1.0.0-alpha.76
v1.0.0-alpha.8
v1.0.0-alpha.9
v1.0.0-beta.1
v1.0.0-beta.2
v1.0.0-beta.3
v1.0.0-beta.4
v1.0.0-beta.5
v1.0.0-beta.6
v1.0.0-beta.7
v1.0.0-rc.1
v1.0.0-rc.10
v1.0.0-rc.11
v1.0.0-rc.12
v1.0.0-rc.13
v1.0.0-rc.14
v1.0.0-rc.15
v1.0.0-rc.16
v1.0.0-rc.17
v1.0.0-rc.18
v1.0.0-rc.19
v1.0.0-rc.2
v1.0.0-rc.20
v1.0.0-rc.21
v1.0.0-rc.22
v1.0.0-rc.23
v1.0.0-rc.24
v1.0.0-rc.25
v1.0.0-rc.26
v1.0.0-rc.27
v1.0.0-rc.28
v1.0.0-rc.29
v1.0.0-rc.3
v1.0.0-rc.30
v1.0.0-rc.31
v1.0.0-rc.32
v1.0.0-rc.33
v1.0.0-rc.34
v1.0.0-rc.35
v1.0.0-rc.36
v1.0.0-rc.37
v1.0.0-rc.38
v1.0.0-rc.39
v1.0.0-rc.4
v1.0.0-rc.40
v1.0.0-rc.41
v1.0.0-rc.42
v1.0.0-rc.43
v1.0.0-rc.44
v1.0.0-rc.45
v1.0.0-rc.5
v1.0.0-rc.6
v1.0.0-rc.7
v1.0.0-rc.8
v1.0.0-rc.9
v1.0.1
v1.0.2
v1.1.0
v1.1.1
v1.1.2
v1.1.3
v1.1.4
v1.2.0
v1.2.1
v1.2.2
v1.2.3
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.3.4
v1.4.0
v1.4.1
v1.4.2
v1.4.3
v1.4.5
v1.5.0
v1.6.0
v1.6.1
v1.6.2
v1.6.3
v1.6.4
v2.0.0-alpha.1
v2.0.0-alpha.10
v2.0.0-alpha.11
v2.0.0-alpha.12
v2.0.0-alpha.13
v2.0.0-alpha.14
v2.0.0-alpha.15
v2.0.0-alpha.2
v2.0.0-alpha.3
v2.0.0-alpha.4
v2.0.0-alpha.5
v2.0.0-alpha.6
v2.0.0-alpha.7
v2.0.0-alpha.8
v2.0.0-alpha.9
${ noResults }
1.7 KiB
1.7 KiB
| outline |
|---|
| deep |
CMS との接続
全体のワークフロー
VitePress を CMS と接続する際は、主に 動的ルーティング を中心に考えることになります。先にその仕組みを理解しておいてください。
CMS ごとに動作が異なるため、ここでは各自の環境に合わせて調整できる汎用的なワークフローのみを示します。
-
CMS が認証を必要とする場合は、API トークンを格納するための
.envを作成し、次のように読み込みます。// 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, /* title, authors, date など */ }, content: entry.content } }) } } -
ページ内でコンテンツをレンダリングします。
# {{ $params.title }} - {{ $params.date }} に {{ $params.author }} が作成 <!-- @content -->
連携ガイドの募集
特定の CMS と VitePress の連携ガイドを書かれた方は、下部の「Edit this page」リンクからぜひ投稿してください!