chore(i18n): added title tags to guide docs

pull/4969/head
Kenzo-Wada 2 months ago
parent df56b6657b
commit 24e1ed7410

@ -1,6 +1,6 @@
# アセットの取り扱い
# アセットの取り扱い {#asset-handling}
## 静的アセットの参照
## 静的アセットの参照 {#referencing-static-assets}
すべての Markdown ファイルは Vue コンポーネントにコンパイルされ、[Vite](https://vitejs.dev/guide/assets.html) によって処理されます。Markdown 内では、相対 URL を使ってアセットを参照することが **推奨されます**。
@ -20,7 +20,7 @@ Markdown ファイル内のリンクで参照された PDF やその他のドキ
すべての **静的な** パス参照(絶対パスを含む)は、作業ディレクトリの構造を基準にする必要があります。
## Public ディレクトリ
## Public ディレクトリ {#the-public-directory}
Markdown やテーマコンポーネントで直接参照されない静的アセットを提供する必要がある場合や、特定のファイルをオリジナルのファイル名のまま提供したい場合があります。
例えば `robots.txt`、favicon、PWA 用アイコンなどです。
@ -31,7 +31,7 @@ Markdown やテーマコンポーネントで直接参照されない静的ア
なお、`public` 内のファイルはルート絶対パスで参照する必要があります。例えば `public/icon.png` は常に `/icon.png` として参照しなければなりません。
## ベース URL
## ベース URL {#base-url}
サイトをルート以外の URL にデプロイする場合、`.vitepress/config.js` で `base` オプションを設定する必要があります。
例えば `https://foo.github.io/bar/` にデプロイする場合、`base` は `'/bar/'` と設定します(必ずスラッシュで開始・終了する必要があります)。

@ -2,9 +2,9 @@
outline: deep
---
# CMS との接続
# CMS との接続 {#connecting-to-a-cms}
## 全体のワークフロー
## 全体のワークフロー {#general-workflow}
VitePress を CMS と接続する際は、主に [動的ルーティング](./routing#dynamic-routes) を中心に考えることになります。先にその仕組みを理解しておいてください。
@ -51,6 +51,6 @@ CMS ごとに動作が異なるため、ここでは各自の環境に合わせ
<!-- @content -->
```
## 連携ガイドの募集
## 連携ガイドの募集 {#integration-guides}
特定の CMS と VitePress の連携ガイドを書かれた方は、下部の「Edit this page」リンクからぜひ投稿してください

@ -1,6 +1,6 @@
# カスタムテーマを使う
# カスタムテーマを使う {#using-a-custom-theme}
## テーマの解決
## テーマの解決 {#theme-resolving}
カスタムテーマを有効にするには、`.vitepress/theme/index.js` または `.vitepress/theme/index.ts` ファイル(「テーマエントリファイル」)を作成します。
@ -17,7 +17,7 @@
VitePress はテーマエントリファイルを検出すると、常にデフォルトテーマではなくカスタムテーマを使用します。ただし、[デフォルトテーマを拡張](./extending-default-theme) してその上で高度なカスタマイズを行うことも可能です。
## テーマインターフェース
## テーマインターフェース {#theme-interface}
VitePress のカスタムテーマは次のインターフェースを持つオブジェクトとして定義されます。
@ -67,7 +67,7 @@ enhanceApp({ app, router, siteData }) {
レイアウトコンポーネントの内部は通常の Vite + Vue 3 アプリケーションと同じように動作します。なお、テーマは [SSR 対応](./ssr-compat) である必要があります。
## レイアウトの構築
## レイアウトの構築 {#building-a-layout}
最も基本的なレイアウトコンポーネントには [`<Content />`](../reference/runtime-api#content) コンポーネントを含める必要があります。
@ -150,7 +150,7 @@ const { page, frontmatter } = useData()
利用可能なすべての機能は [Runtime API リファレンス](../reference/runtime-api) を参照してください。さらに [ビルド時データ読み込み](./data-loading) を活用すれば、ブログ記事一覧ページのようなデータ駆動型のレイアウトも実現できます。
## カスタムテーマの配布
## カスタムテーマの配布 {#distributing-a-custom-theme}
最も簡単な配布方法は [GitHub のテンプレートリポジトリ](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-template-repository) として提供することです。
@ -162,7 +162,8 @@ npm パッケージとして配布する場合は、次の手順を踏みます
4. 設定ファイルやフロントマターを通じて、テーマ設定オプションを文書化する。
5. テーマの利用方法を明確に説明する(以下を参照)。
## カスタムテーマの利用
## カスタムテーマの利用 {#consuming-a-custom-theme}
外部テーマを利用するには、カスタムテーマエントリからインポートして再エクスポートします。

@ -1,10 +1,10 @@
# ビルド時のデータの読み込み
# ビルド時のデータの読み込み {#build-time-data-loading}
VitePress には **データローダー (data loaders)** という機能があり、任意のデータを読み込み、ページやコンポーネントからインポートすることができます。データの読み込みは **ビルド時のみ** 実行され、最終的な JavaScript バンドルには JSON としてシリアライズされたデータが含まれます。
データローダーはリモートデータの取得や、ローカルファイルに基づいたメタデータの生成に利用できます。たとえば、ローカルの API ページをすべて解析して API エントリのインデックスを自動生成するといったことが可能です。
## 基本的な使い方
## 基本的な使い方 {#basic-usage}
データローダーファイルは `.data.js` または `.data.ts` で終わる必要があります。ファイルは `load()` メソッドを持つオブジェクトをデフォルトエクスポートします。
@ -51,7 +51,7 @@ export default {
}
```
## ローカルファイルからのデータ
## ローカルファイルからのデータ {#data-from-local-files}
ローカルファイルに基づいたデータを生成する必要がある場合は、データローダー内で `watch` オプションを使用し、ファイルの変更をホットリロードに反映させることが推奨されます。
@ -123,7 +123,7 @@ import { data as posts } from './posts.data.js'
</template>
```
### オプション
### オプション {#options}
デフォルトデータが要件に合わない場合は、オプションで変換処理を追加できます。
@ -177,7 +177,8 @@ interface ContentOptions<T = ContentData[]> {
}
```
## 型付きデータローダー
## 型付きデータローダー {#typed-data-loaders}
TypeScript を使用する場合は、ローダーと `data` エクスポートを型付けできます。
@ -199,7 +200,8 @@ export default defineLoader({
})
```
## 設定情報の取得
## 設定情報の取得 {#configuration}
ローダー内で設定情報を取得するには次のようにします。

@ -2,7 +2,8 @@
outline: deep
---
# VitePress サイトをデプロイする
# VitePress サイトをデプロイする {#deploy-your-vitepress-site}
以下のガイドは、次の前提に基づいています。
@ -19,7 +20,8 @@ outline: deep
}
```
## ローカルでビルドしてテストする
## ローカルでビルドしてテストする {#build-and-test-locally}
1. 次のコマンドでドキュメントをビルドします。
@ -47,13 +49,15 @@ outline: deep
これで `docs:preview``http://localhost:8080` でサーバーを起動します。
## 公開ベースパスの設定
## 公開ベースパスの設定 {#setting-a-public-base-path}
デフォルトでは、サイトはドメインのルートパス(`/`)にデプロイされることを想定しています。サイトをサブパス、例:`https://mywebsite.com/blog/` で配信する場合は、VitePress の設定で [`base`](../reference/site-config#base) オプションを `'/blog/'` に設定してください。
**例:** GitHubまたは GitLabPages に `user.github.io/repo/` としてデプロイするなら、`base` を `/repo/` に設定します。
## HTTP キャッシュヘッダー
## HTTP キャッシュヘッダー {#http-cache-headers}
本番サーバーの HTTP ヘッダーを制御できる場合は、`cache-control` ヘッダーを設定して、再訪時のパフォーマンスを向上させましょう。
@ -103,9 +107,10 @@ Cache-Control: max-age=31536000,immutable
:::
## プラットフォーム別ガイド
## プラットフォーム別ガイド {#platform-guides}
### Netlify / Vercel / Cloudflare Pages / AWS Amplify / Render
### Netlify / Vercel / Cloudflare Pages / AWS Amplify / Render {#netlify-vercel-cloudflare-pages-aws-amplify-render}
新しいプロジェクトを作成し、ダッシュボードで次の設定に変更します。
@ -117,7 +122,7 @@ Cache-Control: max-age=31536000,immutable
HTML の _Auto Minify_ のようなオプションを有効にしないでください。Vue にとって意味のあるコメントが出力から削除され、削除されるとハイドレーションの不整合エラーが発生する可能性があります。
:::
### GitHub Pages
### GitHub Pages {#github-pages}
1. プロジェクトの `.github/workflows` ディレクトリに `deploy.yml` を作成し、以下の内容を記述します。
@ -198,7 +203,7 @@ HTML の _Auto Minify_ のようなオプションを有効にしないでくだ
3. 変更を `main` ブランチにプッシュし、GitHub Actions の完了を待ちます。設定に応じて、サイトは `https://<username>.github.io/[repository]/` または `https://<custom-domain>/` にデプロイされます。以後、`main` へのプッシュごとに自動デプロイされます。
### GitLab Pages
### GitLab Pages {#gitlab-pages}
1. VitePress の設定で `outDir``../public` に設定します。`https://<username>.gitlab.io/<repository>/` にデプロイする場合は `base``'/<repository>/'` に設定します。カスタムドメイン、ユーザー/グループページ、または GitLab の「Use unique domain」を有効にしている場合は `base` は不要です。
@ -221,7 +226,7 @@ HTML の _Auto Minify_ のようなオプションを有効にしないでくだ
- main
```
### Azure Static Web Apps
### Azure Static Web Apps {#azure-static-web-apps}
1. [公式ドキュメント](https://docs.microsoft.com/en-us/azure/static-web-apps/build-configuration) に従います。
@ -231,7 +236,7 @@ HTML の _Auto Minify_ のようなオプションを有効にしないでくだ
- **`output_location`**: `docs/.vitepress/dist`
- **`app_build_command`**: `npm run docs:build`
### Firebase
### Firebase {#firebase}
1. プロジェクトのルートに `firebase.json``.firebaserc` を作成します。
@ -262,7 +267,7 @@ HTML の _Auto Minify_ のようなオプションを有効にしないでくだ
firebase deploy
```
### Surge
### Surge {#surge}
1. `npm run docs:build` の後、次のコマンドでデプロイします。
@ -270,7 +275,7 @@ HTML の _Auto Minify_ のようなオプションを有効にしないでくだ
npx surge docs/.vitepress/dist
```
### Heroku
### Heroku {#heroku}
1. [`heroku-buildpack-static`](https://elements.heroku.com/buildpacks/heroku/heroku-buildpack-static) のドキュメントとガイドに従います。
@ -282,23 +287,23 @@ HTML の _Auto Minify_ のようなオプションを有効にしないでくだ
}
```
### Edgio
### Edgio {#edgio}
[Creating and Deploying a VitePress App To Edgio](https://docs.edg.io/guides/vitepress) を参照してください。
### Kinsta Static Site Hosting
### Kinsta Static Site Hosting {#kinsta-static-site-hosting}
[VitePress](https://kinsta.com/static-site-hosting/) を [こちらの手順](https://kinsta.com/docs/vitepress-static-site-example/) に従ってデプロイできます。
### Stormkit
### Stormkit {#stormkit}
[VitePress プロジェクトを Stormkit にデプロイ](https://stormkit.io/blog/how-to-deploy-vitepress) する手順を参照してください。
### CloudRay
### CloudRay {#cloudray}
[CloudRay](https://cloudray.io/) でのデプロイ方法は [こちらの手順](https://cloudray.io/articles/how-to-deploy-vitepress-site) を参照してください。
### Nginx
### Nginx {#nginx}
以下は Nginx サーバーブロックの設定例です。一般的なテキスト系アセットの gzip 圧縮、VitePress サイトの静的ファイル配信における適切なキャッシュヘッダー、そして `cleanUrls: true` のハンドリングを含みます。

@ -2,7 +2,7 @@
outline: deep
---
# デフォルトテーマの拡張
# デフォルトテーマの拡張 {#extending-the-default-theme}
VitePress のデフォルトテーマはドキュメント向けに最適化されており、カスタマイズ可能です。利用できるオプションの一覧は [デフォルトテーマの概要](../reference/default-theme-config) を参照してください。
@ -18,7 +18,7 @@ VitePress のデフォルトテーマはドキュメント向けに最適化さ
先に [カスタムテーマの使用](./custom-theme) を読み、カスタムテーマの仕組みを理解してから進めてください。
:::
## CSS のカスタマイズ
## CSS のカスタマイズ {#customizing-css}
デフォルトテーマの CSS は、ルートレベルの CSS 変数をオーバーライドすることでカスタマイズできます。
@ -39,7 +39,7 @@ export default DefaultTheme
上書き可能な [デフォルトテーマの CSS 変数](https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css) を参照してください。
## フォントを変更する
## フォントを変更する {#using-different-fonts}
VitePress はデフォルトフォントとして [Inter](https://rsms.me/inter/) を使用し、ビルド出力にフォントを含めます。プロダクションでは自動でプリロードもされます。しかし、別のメインフォントを使いたい場合には望ましくないことがあります。
@ -89,7 +89,7 @@ export default {
}
```
## グローバルコンポーネントの登録
## グローバルコンポーネントの登録 {#registering-global-components}
```js [.vitepress/theme/index.js]
import DefaultTheme from 'vitepress/theme'
@ -121,7 +121,7 @@ export default {
Vite を使っているため、Vite の [glob import 機能](https://vitejs.dev/guide/features.html#glob-import) を利用してディレクトリ内のコンポーネントを自動登録することもできます。
## レイアウトスロット
## レイアウトスロット {#layout-slots}
デフォルトテーマの `<Layout/>` コンポーネントには、ページ内の特定の位置にコンテンツを挿入するためのスロットがいくつか用意されています。以下は、アウトラインの前にコンポーネントを挿入する例です。
@ -212,7 +212,7 @@ export default {
## View Transitions API の利用
### 外観切り替え時(ライト/ダーク)
### 外観切り替え時(ライト/ダーク) {#on-appearance-toggle}
カラーモード切り替え時にカスタムトランジションを提供するよう、デフォルトテーマを拡張できます。例:
@ -301,11 +301,11 @@ provide('toggle-appearance', async ({ clientX: x, clientY: y }: MouseEvent) => {
詳細は [Chrome Docs](https://developer.chrome.com/docs/web-platform/view-transitions/) を参照してください。
### ルート遷移時
### ルート遷移時 {#on-route-change}
近日公開。
## 内部コンポーネントの置き換え
## 内部コンポーネントの置き換え {#overriding-internal-components}
Vite の [エイリアス](https://vitejs.dev/config/shared-options.html#resolve-alias) を使って、デフォルトテーマのコンポーネントを独自のものに置き換えられます。

@ -1,6 +1,6 @@
# フロントマター
# フロントマター {#frontmatter}
## 使い方
## 使い方 {#usage}
VitePress はすべての Markdown ファイルで YAML フロントマターをサポートしており、[gray-matter](https://github.com/jonschlinkert/gray-matter) で解析します。フロントマターは Markdown ファイルの先頭(`<script>` タグを含むあらゆる要素より前)に配置し、三本のハイフンで囲まれた **有効な YAML** 形式で記述します。例:
@ -15,7 +15,7 @@ VitePress はすべての Markdown ファイルで YAML フロントマターを
また、独自のカスタムフロントマターデータを定義し、ページ上の動的な Vue 式で利用することもできます。
## フロントマターデータへのアクセス
## フロントマターデータへのアクセス {#accessing-frontmatter-data}
フロントマターデータは特別なグローバル変数 `$frontmatter` で参照できます。
@ -34,7 +34,7 @@ Markdown ファイル内での使用例:
[`useData()`](../reference/runtime-api#usedata) ヘルパーを使えば、`<script setup>` 内からも現在のページのフロントマターデータにアクセスできます。
## 代替フロントマター形式
## 代替フロントマター形式 {#alternative-frontmatter-formats}
VitePress は JSON フロントマター構文もサポートしています。中括弧で開始・終了する形式です。

@ -1,12 +1,12 @@
# はじめに
# はじめに {#getting-started}
## オンラインで試す
## オンラインで試す {#try-it-online}
[VitePress](https://vitepress.new) をブラウザ上で直接試すことができます。
## インストール
## インストール {#installation}
### 前提条件
### 前提条件 {#prerequisites}
- [Node.js](https://nodejs.org/) バージョン 18 以上
- VitePress をコマンドラインインターフェース (CLI) で操作するためのターミナル
@ -39,7 +39,7 @@ $ bun add -D vitepress@next
VitePress は ESM 専用パッケージです。`require()` を使ってインポートせず、最も近い `package.json``"type": "module"` を含めるか、`.vitepress/config.js` を `.mjs` / `.mts` に変更してください。詳しくは [Vite のトラブルシューティングガイド](http://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only) を参照してください。また、非同期 CJS コンテキスト内では `await import('vitepress')` を使用できます。
:::
### セットアップウィザード
### セットアップウィザード {#setup-wizard}
VitePress にはコマンドラインのセットアップウィザードが付属しており、基本的なプロジェクトを簡単に作成できます。インストール後、以下のコマンドでウィザードを起動します。
@ -71,7 +71,7 @@ $ bun vitepress init
Vue コンポーネントや API を使ったカスタマイズを行う場合は、明示的に `vue` を依存関係としてインストールしてください。
:::
## ファイル構成
## ファイル構成 {#file-structure}
スタンドアロンの VitePress サイトを構築する場合は、現在のディレクトリ (`./`) にサイトを作成できます。しかし、既存プロジェクトに VitePress を追加する場合は、他のソースコードと分離するために `./docs` などのサブディレクトリに作成することをおすすめします。
@ -94,7 +94,7 @@ Vue コンポーネントや API を使ったカスタマイズを行う場合
デフォルトでは開発サーバーのキャッシュは `.vitepress/cache` に、本番ビルド出力は `.vitepress/dist` に保存されます。Git を使用している場合は `.gitignore` に追加してください。これらの場所は [設定](../reference/site-config#outdir) で変更可能です。
:::
### 設定ファイル
### 設定ファイル {#the-config-file}
設定ファイル (`.vitepress/config.js`) では、VitePress サイトのさまざまな動作をカスタマイズできます。最も基本的なオプションはサイトのタイトルと説明です。
@ -112,7 +112,7 @@ export default {
テーマの動作は `themeConfig` オプションで設定できます。利用可能なすべての設定オプションは [Config Reference](../reference/site-config) を参照してください。
### ソースファイル
### ソースファイル {#source-files}
`.vitepress` ディレクトリ外の Markdown ファイルは **ソースファイル** とみなされます。
@ -120,7 +120,7 @@ VitePress は **ファイルベースのルーティング** を採用してい
VitePress にはクリーン URL の生成、パスの書き換え、動的なページ生成といった機能もあります。これらは [ルーティングガイド](./routing) で解説します。
## 実行してみる
## 実行してみる {#up-and-running}
セットアッププロセスで許可した場合、以下の npm スクリプトが `package.json` に追加されています。
@ -184,7 +184,7 @@ $ bun vitepress dev docs
開発サーバーは `http://localhost:5173` で動作します。ブラウザでこの URL にアクセスすると、新しいサイトが確認できます。
## 次のステップ
## 次のステップ {#what-s-next}
- Markdown ファイルがどのように HTML にマッピングされるかを理解するには、[ルーティングガイド](./routing) を読みましょう。

@ -1,4 +1,4 @@
# 多言語対応
# 多言語対応 {#internationalization}
組み込みの i18n 機能を使うには、次のようなディレクトリ構成を作成します。
@ -53,7 +53,7 @@ interface LocaleSpecificConfig<ThemeConfig = any> {
**プロ向けヒント:** 設定ファイルは `docs/.vitepress/config/index.ts` に置くこともできます。ロケールごとに設定ファイルを作成して、`index.ts` でマージ・エクスポートすると整理しやすくなります。
## ロケールごとにディレクトリを分ける
## ロケールごとにディレクトリを分ける {#separate-directory-for-each-locale}
次のような構成でも問題ありません。
@ -106,6 +106,6 @@ watchEffect(() => {
</template>
```
## RTL サポート(実験的)
## RTL サポート(実験的){#rtl-support-experimental}
RTL をサポートするには、設定で `dir: 'rtl'` を指定し、<https://github.com/MohammadYounes/rtlcss><https://github.com/vkalinichev/postcss-rtl>、または <https://github.com/elchininet/postcss-rtlcss> のような RTLCSS 系の PostCSS プラグインを使用してください。CSS の詳細度の問題を避けるため、PostCSS プラグインでは `:where([dir="ltr"])``:where([dir="rtl"])` を接頭辞として使うよう設定してください。

@ -1,12 +1,12 @@
# Markdown 拡張
# Markdown 拡張 {#markdown-extensions}
VitePress には組み込みの Markdown 拡張機能が用意されています。
## 見出しアンカー
## 見出しアンカー {#header-anchors}
見出しには自動的にアンカーリンクが付与されます。アンカーのレンダリングは `markdown.anchor` オプションで設定できます。
### カスタムアンカー
### カスタムアンカー {#custom-anchors}
自動生成ではなく任意のアンカーを指定したい場合は、見出しの末尾にサフィックスを追加します。
@ -16,11 +16,11 @@ VitePress には組み込みの Markdown 拡張機能が用意されています
これにより、デフォルトの `#using-custom-anchors` ではなく `#my-anchor` でその見出しにリンクできます。
## リンク
## リンク {#links}
内部リンクと外部リンクは特別に処理されます。
### 内部リンク
### 内部リンク {#internal-links}
内部リンクは SPA ナビゲーションのためにルーターリンクへ変換されます。また、各サブディレクトリにある `index.md` は自動的に `index.html` に変換され、URL は対応する `/` になります。
@ -50,18 +50,18 @@ VitePress には組み込みの Markdown 拡張機能が用意されています
[bar - four](../bar/four.html) <!-- .html を付けても OK -->
```
### ページサフィックス
### ページサフィックス {#page-suffix}
ページと内部リンクはデフォルトで `.html` サフィックス付きで生成されます。
### 外部リンク
### 外部リンク {#external-links}
外部リンクには自動的に `target="_blank" rel="noreferrer"` が付与されます。
- [vuejs.org](https://vuejs.org)
- [VitePress on GitHub](https://github.com/vuejs/vitepress)
## フロントマター
## フロントマター {#frontmatter}
[YAML フロントマター](https://jekyllrb.com/docs/front-matter/) をそのままサポートしています。
@ -74,7 +74,7 @@ VitePress には組み込みの Markdown 拡張機能が用意されています
このデータはページ内や、カスタム/テーマコンポーネントからも利用できます。詳しくは [Frontmatter](../reference/frontmatter-config) を参照してください。
## GitHub 風テーブル
## GitHub 風テーブル {#github-style-tables}
**入力**
@ -94,7 +94,7 @@ VitePress には組み込みの Markdown 拡張機能が用意されています
| 2列目は | 中央 | \$12 |
| シマ模様 | neatです | \$1 |
## 絵文字 :tada:
## 絵文字 :tada: {#emoji}
**入力**
@ -108,7 +108,7 @@ VitePress には組み込みの Markdown 拡張機能が用意されています
すべての絵文字の [一覧はこちら](https://github.com/markdown-it/markdown-it-emoji/blob/master/lib/data/full.mjs)。
## 目次
## 目次 {#table-of-contents}
**入力**
@ -122,11 +122,11 @@ VitePress には組み込みの Markdown 拡張機能が用意されています
TOC のレンダリングは `markdown.toc` オプションで設定できます。
## カスタムコンテナ
## カスタムコンテナ {#custom-containers}
タイプ、タイトル、内容を指定してカスタムコンテナを定義できます。
### デフォルトタイトル
### デフォルトタイトル {#default-title}
**入力**
@ -174,7 +174,7 @@ TOC のレンダリングは `markdown.toc` オプションで設定できます
これは詳細ブロックです。
:::
### カスタムタイトル
### カスタムタイトル {#custom-title}
コンテナの「タイプ」の直後に文字列を追加することで、タイトルをカスタマイズできます。
@ -223,7 +223,7 @@ TOC のレンダリングは `markdown.toc` オプションで設定できます
})
```
### 追加属性
### 追加属性 {#additional-attributes}
カスタムコンテナには追加の属性を付与できます。この機能には [markdown-it-attrs](https://github.com/arve0/markdown-it-attrs) を使用しており、ほぼすべての Markdown 要素でサポートされます。たとえば `open` 属性を付けると、details ブロックをデフォルトで開いた状態にできます。
@ -283,7 +283,7 @@ TOC のレンダリングは `markdown.toc` オプションで設定できます
})
```
## GitHub 形式のアラート
## GitHub 形式のアラート {#github-flavored-alerts}
VitePress は [GitHub 形式のアラート](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts) をコールアウトとしてレンダリングできます。表示は [カスタムコンテナ](#custom-containers) と同様です。
@ -327,7 +327,7 @@ VitePress は [GitHub 形式のアラート](https://docs.github.com/en/get-star
> 行動による望ましくない結果の可能性です。
## コードブロックのシンタックスハイライト
## コードブロックのシンタックスハイライト {#syntax-highlighting-in-code-blocks}
VitePress は [Shiki](https://github.com/shikijs/shiki) を使って、Markdown のコードブロックに色付きのシンタックスハイライトを適用します。Shiki は多くのプログラミング言語をサポートしています。コードブロックの先頭のバッククォートに有効な言語エイリアスを付けるだけで利用できます。
@ -371,7 +371,7 @@ VitePress は [Shiki](https://github.com/shikijs/shiki) を使って、Markdown
また、シンタックスハイライトのテーマ変更、言語エイリアスの設定、言語ラベルのカスタマイズなどはアプリ設定の [`markdown` オプション](../reference/site-config#markdown) で行えます。
## コードブロックの行ハイライト
## コードブロックの行ハイライト {#line-highlighting-in-code-blocks}
**入力**
@ -468,7 +468,7 @@ VitePress は [Shiki](https://github.com/shikijs/shiki) を使って、Markdown
}
```
## コードブロックでのフォーカス
## コードブロックでのフォーカス {#focus-in-code-blocks}
`// [!code focus]` コメントを行に付けると、その行にフォーカスし、他の部分がぼかされます。
@ -500,7 +500,7 @@ export default {
}
```
## コードブロックのカラー差分表示
## コードブロックのカラー差分表示 {#colored-diffs-in-code-blocks}
`// [!code --]` または `// [!code ++]` コメントを行に付けると、その行に差分(削除/追加)スタイルを適用できます。コードブロックの色付けは維持されます。
@ -532,7 +532,7 @@ export default {
}
```
## コードブロック内のエラー/警告表示
## コードブロック内のエラー/警告表示 {#errors-and-warnings-in-code-blocks}
行に `// [!code warning]` または `// [!code error]` コメントを付けると、その行が対応する色で表示されます。
@ -564,7 +564,7 @@ export default {
}
```
# 行番号Line Numbers
## 行番号 {#line-numbers}
設定で、各コードブロックに行番号を表示できます:
@ -624,7 +624,7 @@ export default {
const line4 = 'This is line 4'
```
## コードスニペットのインポート
## コードスニペットのインポート {#import-code-snippets}
既存ファイルから、次の構文でコードスニペットをインポートできます:
@ -692,7 +692,7 @@ export default {
これは、ファイル拡張子からソース言語を推論できない場合に有用です。
## コードグループ
## コードグループ {#code-groups}
複数のコードブロックを、次のようにグループ化できます。
@ -781,7 +781,7 @@ export default {
:::
## Markdown ファイルのインクルード
## Markdown ファイルのインクルード {#markdown-file-inclusion}
ある Markdown ファイルの中に、別の Markdown ファイルを取り込めます(入れ子も可能)。
@ -949,7 +949,7 @@ VS Code のリージョンの代わりに、ヘッダーアンカーを使って
<!--@include: ./parts/basics.md#custom-id-->
```
## 数式
## 数式 {#math-equations}
この機能はオプトインです。利用するには `markdown-it-mathjax3` をインストールし、設定ファイルで `markdown.math``true` に設定します。
@ -993,7 +993,7 @@ VS Code のリージョンの代わりに、ヘッダーアンカーを使って
| $\nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} = \vec{\mathbf{0}}$ | 電場 $\vec{\mathbf{E}}$ の回転は、磁束密度 $\vec{\mathbf{B}}$ の時間変化に比例 |
| $\nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} = \frac{4\pi}{c}\vec{\mathbf{j}} \nabla \cdot \vec{\mathbf{E}} = 4 \pi \rho$ | _え_ |
## 画像の遅延読み込み
## 画像の遅延読み込み {#image-lazy-loading}
Markdown で追加した各画像に対して遅延読み込みを有効化するには、設定ファイルで `lazyLoading``true` にします:
@ -1008,7 +1008,7 @@ Markdown で追加した各画像に対して遅延読み込みを有効化す
}
```
## 高度な設定
## 高度な設定 {#advanced-configuration}
VitePress は Markdown レンダラーとして [markdown-it](https://github.com/markdown-it/markdown-it) を使用しています。上記の多くの拡張はカスタムプラグインとして実装されています。`.vitepress/config.js` の `markdown` オプションを使って、`markdown-it` のインスタンスをさらにカスタマイズできます。

@ -1,23 +0,0 @@
# VitePress 0.x からの移行
VitePress 0.x をお使いの場合、新機能や強化に伴ういくつかの破壊的変更があります。ここでは最新の VitePress へアプリを移行する際の手順を説明します。
## アプリ設定
- 国際化機能i18nはまだ実装されていません。
## テーマ設定
- `sidebar` オプションの構造が変わりました。
- `children` キーは `items` に名称変更されました。
- ルート直下の項目に現在は `link` を含められません。将来的に再導入予定です。
- `repo`, `repoLabel`, `docsDir`, `docsBranch`, `editLinks`, `editLinkText` は、より柔軟な API に置き換えられて削除されました。
- ナビゲーションにアイコン付きの GitHub リンクを追加するには、[ソーシャルリンク](../reference/default-theme-nav#navigation-links) を使用してください。
- 「このページを編集」リンクを追加するには、[編集リンク](../reference/default-theme-edit-link) を使用してください。
- `lastUpdated` オプションは `config.lastUpdated``themeConfig.lastUpdatedText` に分割されました。
- `carbonAds.carbon``carbonAds.code` に変更されました。
## フロントマター設定
- `home: true``layout: home` に変更されました。あわせてホームページ関連の設定が拡張され、多くが変更されています。詳細は [ホームページのガイド](../reference/default-theme-home-page) を参照してください。
- `footer` オプションは [`themeConfig.footer`](../reference/default-theme-config#footer) に移動しました。

@ -1,33 +0,0 @@
# VuePress からの移行
## 設定
### サイドバー
サイドバーはフロントマターから自動生成されなくなりました。サイドバーを動的に生成するには、[自分でフロントマターを読み取り](https://github.com/vuejs/vitepress/issues/572#issuecomment-1170116225)、項目を構築してください。将来的に、[この用途のユーティリティ](https://github.com/vuejs/vitepress/issues/96) が提供される可能性があります。
## Markdown
### 画像
VuePress と異なり、VitePress では静的画像を使用する場合、設定の [`base`](./asset-handling#base-url) を自動的に処理します。
そのため、`img` タグを使わずに画像をレンダリングできます。
```diff
- <img :src="$withBase('/foo.png')" alt="foo">
+ ![foo](/foo.png)
```
::: warning
動的な画像については、[ベース URL のガイド](./asset-handling#base-url) にあるとおり、引き続き `withBase` が必要です。
:::
すべての `img` タグを `![](...)` 構文へ置換するには、次の正規表現を使って `![$2]($1)` に置き換えてください。
- 検索:`<img.*withBase\('(.*)'\).*alt="([^"]*)".*>`
- 置換:`![$2]($1)`
---
続きは今後追加予定です…

@ -1,4 +1,4 @@
# MPA モード <Badge type="warning" text="experimental" />
# MPA モード <Badge type="warning" text="experimental" /> {#mpa-mode}
MPAMulti-Page Applicationモードは、コマンドラインの `vitepress build --mpa`、または設定で `mpa: true` を指定することで有効化できます。

@ -2,9 +2,9 @@
outline: deep
---
# ルーティング
# ルーティング {#routing}
## ファイルベースのルーティング
## ファイルベースのルーティング {#file-based-routing}
VitePress はファイルベースのルーティングを採用しており、生成される HTML はソースの Markdown ファイルのディレクトリ構造に対応します。例えば、次のディレクトリ構造があるとします:
@ -28,11 +28,11 @@ VitePress はファイルベースのルーティングを採用しており、
生成された HTML は、静的ファイルを配信できる任意の Web サーバーでホストできます。
## ルートディレクトリとソースディレクトリ
## ルートディレクトリとソースディレクトリ {#root-and-source-directories}
VitePress プロジェクトのファイル構成には重要な概念が 2 つあります:**プロジェクトルート** と **ソースディレクトリ** です。
### プロジェクトルート
### プロジェクトルート {#project-root}
プロジェクトルートは、VitePress が特別なディレクトリである `.vitepress` を探しにいく場所です。`.vitepress` ディレクトリは、VitePress の設定ファイル、開発サーバーのキャッシュ、ビルド出力、任意のテーマカスタマイズコードのための予約場所です。
@ -58,7 +58,7 @@ VitePress プロジェクトのファイル構成には重要な概念が 2 つ
docs/getting-started.md --> /getting-started.html
```
### ソースディレクトリ
### ソースディレクトリ {#source-directory}
ソースディレクトリは、Markdown のソースファイルを置く場所です。既定ではプロジェクトルートと同じです。ただし、[`srcDir`](../reference/site-config#srcdir) 設定オプションで変更できます。
@ -79,7 +79,7 @@ VitePress プロジェクトのファイル構成には重要な概念が 2 つ
src/getting-started.md --> /getting-started.html
```
## ページ間リンク
## ページ間リンク {#linking-between-pages}
ページ間のリンクには、絶対パスと相対パスのどちらも使用できます。`.md` と `.html` の拡張子はどちらも機能しますが、最終的な URL を設定に応じて VitePress が生成できるよう、**拡張子は省略する** のがベストプラクティスです。
@ -95,7 +95,7 @@ VitePress プロジェクトのファイル構成には重要な概念が 2 つ
画像などのアセットへのリンクについては、[アセットの取り扱い](./asset-handling) を参照してください。
### VitePress 管理外のページへのリンク
### VitePress 管理外のページへのリンク {#linking-to-non-vitepress-pages}
サイト内で VitePress が生成していないページへリンクしたい場合は、フル URL新しいタブで開くを使うか、明示的にターゲットを指定します。
@ -120,7 +120,7 @@ Markdown のリンクでは、`base` が自動的に URL の先頭に付与さ
```
:::
## クリーン URL の生成
## クリーン URL の生成 {#generating-clean-urls}
::: warning サーバー側の対応が必要
VitePress でクリーン URL を提供するには、サーバー側のサポートが必要です。
@ -149,7 +149,7 @@ VitePress でクリーン URL を提供するには、サーバー側のサポ
└─ index.md
```
## ルートのリライトRoute Rewrites
## ルートのリライト {#route-rewrites}
ソースディレクトリ構造と生成ページのマッピングをカスタマイズできます。これは複雑なプロジェクト構成で有用です。例えば、複数パッケージを持つモノレポで、ソースファイルと並べてドキュメントを配置したい場合:
@ -219,11 +219,11 @@ VitePress でクリーン URL を提供するには、サーバー側のサポ
```
:::
## 動的ルートDynamic Routes
## 動的ルート {#dynamic-routes}
ひとつの Markdown ファイルと動的データから多数のページを生成できます。例えば、`packages/[pkg].md` を作成して、プロジェクト内の各パッケージに対応するページを生成できます。ここで `[pkg]` セグメントは、それぞれのページを区別する **ルートパラメータ** です。
### パスローダーファイル
### パスローダーファイル {#path-loader-files}
VitePress は静的サイトジェネレーターなので、生成可能なページパスはビルド時に確定している必要があります。したがって、動的ルートページには **パスローダーファイル** が **必須** です。`packages/[pkg].md` に対しては `packages/[pkg].paths.js``.ts` も可)が必要です:
@ -259,7 +259,7 @@ VitePress は静的サイトジェネレーターなので、生成可能なペ
└─ bar.html
```
### 複数パラメータ
### 複数パラメータ {#multiple-params}
動的ルートに複数のパラメータを含めることもできます。
@ -296,7 +296,7 @@ VitePress は静的サイトジェネレーターなので、生成可能なペ
└─ bar-2.0.0.html
```
### パスを動的に生成する
### パスを動的に生成する {#dynamically-generating-paths}
パスローダーモジュールは Node.js 上で実行され、ビルド時にのみ評価されます。ローカルまたはリモートの任意のデータから、動的に配列を生成できます。
@ -335,7 +335,7 @@ VitePress は静的サイトジェネレーターなので、生成可能なペ
}
```
### ページ内でパラメータにアクセスする
### ページ内でパラメータにアクセスする {#accessing-params-in-page}
各ページへ追加データを渡すために、パラメータを利用できます。Markdown のルートファイルでは、Vue 式内で `$params` グローバルプロパティから現在ページのパラメータにアクセスできます:
@ -357,7 +357,7 @@ VitePress は静的サイトジェネレーターなので、生成可能なペ
</script>
```
### 生コンテンツのレンダリング
### 生コンテンツのレンダリング {#rendering-raw-content}
ページに渡したパラメータはクライアント JavaScript のペイロードにシリアライズされます。そのため、リモート CMS から取得した生の Markdown や HTML など、重いデータをパラメータに含めるのは避けてください。

@ -1,4 +1,4 @@
# サイトマップ生成
# サイトマップ生成 {#sitemap-generation}
VitePress には、サイト用の `sitemap.xml` を生成する機能が標準で用意されています。有効化するには、`.vitepress/config.js` に次を追加します。
@ -12,7 +12,7 @@ VitePress には、サイト用の `sitemap.xml` を生成する機能が標準
`siteamp.xml``<lastmod>` タグを含めるには、[`lastUpdated`](../reference/default-theme-last-updated) オプションを有効にします。
## オプション
## オプション {#options}
サイトマップ生成は [`sitemap`](https://www.npmjs.com/package/sitemap) モジュールで行われます。設定ファイルの `sitemap` に、このモジュールがサポートする任意のオプションを渡せます。指定した値はそのまま `SitemapStream` コンストラクタに渡されます。詳しくは [`sitemap` のドキュメント](https://www.npmjs.com/package/sitemap#options-you-can-pass) を参照してください。例:
@ -36,7 +36,7 @@ VitePress には、サイト用の `sitemap.xml` を生成する機能が標準
}
```
## `transformItems` フック
## `transformItems` フック {#transformitems-hook}
`siteamp.xml` に書き出す直前にサイトマップ項目を加工するには、`sitemap.transformItems` フックを使います。このフックはサイトマップ項目の配列を受け取り、配列を返す必要があります。例:

@ -2,13 +2,13 @@
outline: deep
---
# SSR 互換性
# SSR 互換性 {#ssr-compatibility}
VitePress は本番ビルド時に、Node.js 上で Vue のサーバーサイドレンダリングSSR機能を使ってアプリを事前レンダリングします。つまり、テーマコンポーネント内のすべてのカスタムコードは SSR 互換性の対象になります。
[公式 Vue ドキュメントの SSR セクション](https://vuejs.org/guide/scaling-up/ssr.html)では、SSR とは何か、SSR と SSG の関係、そして SSR に優しいコードを書く際の一般的な注意点が解説されています。経験則としては、**ブラウザ / DOM API へのアクセスは Vue コンポーネントの `beforeMount` または `mounted` フック内に限定** するのが安全です。
## `<ClientOnly>`
## `<ClientOnly>` {#clientonly}
SSR に適さないコンポーネント(例:カスタムディレクティブを含むなど)を使用・デモする場合は、組み込みの `<ClientOnly>` コンポーネントでラップできます。
@ -18,11 +18,11 @@ SSR に適さないコンポーネント(例:カスタムディレクティ
</ClientOnly>
```
## インポート時に Browser API にアクセスするライブラリ
## インポート時に Browser API にアクセスするライブラリ {#libraries-that-access-browser-api-on-import}
一部のコンポーネントやライブラリは **インポート時に** ブラウザ API にアクセスします。インポート時にブラウザ環境を前提とするコードを使うには、動的インポートが必要です。
### mounted フック内でのインポート
### mounted フック内でのインポート {#importing-in-mounted-hook}
```vue
<script setup>
@ -36,7 +36,7 @@ SSR に適さないコンポーネント(例:カスタムディレクティ
</script>
```
### 条件付きインポート
### 条件付きインポート {#conditional-import}
[`import.meta.env.SSR`](https://vitejs.dev/guide/env-and-mode.html#env-variables) フラグVite の環境変数の一部)を使って、依存関係を条件付きでインポートすることもできます。

@ -1,4 +1,4 @@
# Markdown Vue を使う
# MarkdownでVueを使う {#using-vue-in-markdown}
VitePress では、各 Markdown ファイルはまず HTML にコンパイルされ、その後 [Vue の単一ファイルコンポーネントSFC](https://vuejs.org/guide/scaling-up/sfc.html) として処理されます。つまり、Markdown 内で Vue のあらゆる機能が使えます。動的テンプレート、Vue コンポーネントの利用、`<script>` タグを追加してページ内ロジックを書くことも可能です。
@ -8,9 +8,9 @@ VitePress では、各 Markdown ファイルはまず HTML にコンパイルさ
Vue の使用は SSR 互換である必要があります。詳細と一般的な回避策は [SSR 互換性](./ssr-compat) を参照してください。
:::
## テンプレート記法
## テンプレート記法 {#templating}
### 補間Interpolation
### 補間 {#interpolation}
各 Markdown は最初に HTML にコンパイルされ、その後 Vite の処理パイプラインで Vue コンポーネントとして扱われます。つまり、テキスト内で Vue 風の補間が使えます。
@ -24,7 +24,7 @@ Vue の使用は SSR 互換である必要があります。詳細と一般的
<div class="language-text"><pre><code>{{ 1 + 1 }}</code></pre></div>
### ディレクティブDirectives
### ディレクティブ {#directives}
ディレクティブも動作します(設計上、生の HTML は Markdown でも有効です)。
@ -38,7 +38,7 @@ Vue の使用は SSR 互換である必要があります。詳細と一般的
<div class="language-text"><pre><code><span v-for="i in 3">{{ i }} </span></code></pre></div>
## `<script>``<style>`
## `<script>``<style>` {#script-and-style}
Markdown ファイルのルート直下に置く `<script>``<style>` タグは、Vue の SFC と同様に動作します(`<script setup>` や `<style module>` などを含む)。大きな違いは `<template>` タグが無い点で、その他のルート直下のコンテンツは Markdown になることです。すべてのタグはフロントマターの**後**に配置してください。
@ -96,11 +96,11 @@ VitePress のランタイム API現在ページのメタデータにア
}
```
## コンポーネントの利用
## コンポーネントの利用 {#using-components}
Markdown ファイルで、Vue コンポーネントを直接インポートして使用できます。
### Markdown 内でのインポート
### Markdown 内でのインポート {#importing-in-markdown}
特定のページでしか使わないコンポーネントは、そのページで明示的にインポートするのがおすすめです。これにより適切にコード分割され、該当ページでのみ読み込まれます。
@ -120,7 +120,7 @@ Markdown ファイルで、Vue コンポーネントを直接インポートし
...
```
### グローバル登録
### グローバル登録 {#registering-components-globally}
ほとんどのページで使うコンポーネントは、Vue アプリインスタンスをカスタマイズしてグローバル登録できます。例は [デフォルトテーマの拡張](./extending-default-theme#registering-global-components) を参照してください。
@ -128,7 +128,7 @@ Markdown ファイルで、Vue コンポーネントを直接インポートし
カスタムコンポーネント名にはハイフンを含めるか、PascalCase を使用してください。そうでない場合、インライン要素として解釈されて `<p>` タグ内にラップされ、ブロック要素が入れられないためハイドレーション不整合を引き起こします。
:::
### 見出し内でのコンポーネント利用 <ComponentInHeader />
### 見出し内でのコンポーネント利用 <ComponentInHeader /> {#using-components-in-headers}
見出し内で Vue コンポーネントを使うこともできますが、次の書き方の違いに注意してください。
@ -143,7 +143,7 @@ Markdown ファイルで、Vue コンポーネントを直接インポートし
出力 HTML の生成は [Markdown-it](https://github.com/Markdown-it/Markdown-it) が担当し、見出しの解析は VitePress が担当します(サイドバーやドキュメントタイトルに利用)。
:::
## エスケープ
## エスケープ {#escaping}
`v-pre` ディレクティブを付けた `<span>` などでラップすることで、Vue の補間をエスケープできます。
@ -177,7 +177,7 @@ Markdown ファイルで、Vue コンポーネントを直接インポートし
</div>
## コードブロック内でのアンエスケープ
## コードブロック内でのアンエスケープ {#unescape-in-code-blocks}
既定では、フェンス付きコードブロックは自動で `v-pre` が付与され、Vue の構文は処理されません。フェンス内で Vue 風の補間を有効にするには、言語に `-vue` サフィックスを付けます(例:`js-vue`)。
@ -197,7 +197,7 @@ Markdown ファイルで、Vue コンポーネントを直接インポートし
この方法では、一部のトークンが正しくシンタックスハイライトされない場合があります。
## CSS プリプロセッサの利用
## CSS プリプロセッサの利用 {#using-css-pre-processors}
VitePress は CSS プリプロセッサ(`.scss`、`.sass`、`.less`、`.styl`、`.stylus`)を[標準サポート](https://vitejs.dev/guide/features.html#css-pre-processors)しています。Vite 固有のプラグインは不要ですが、各プリプロセッサ本体のインストールは必要です。
@ -221,7 +221,7 @@ VitePress は CSS プリプロセッサ(`.scss`、`.sass`、`.less`、`.styl`
</style>
```
## Teleport の利用
## Teleport の利用 {#using-teleports}
現時点で VitePress は、SSG における Teleport を **body** へのみサポートしています。その他のターゲットへ Teleport したい場合は、組み込みの `<ClientOnly>` でラップするか、[`postRender` フック](../reference/site-config#postrender)で最終ページ HTML の適切な位置に Teleport のマークアップを注入してください。
@ -254,7 +254,7 @@ import ComponentInHeader from '../../components/ComponentInHeader.vue'
}
</style>
## VS Code の IntelliSense サポート
## VS Code の IntelliSense サポート {#vs-code-intellisense-support}
<!-- Based on https://github.com/vuejs/language-tools/pull/4321 -->

@ -1,4 +1,4 @@
# VitePress とは?
# VitePress とは? {#what-is-vitepress}
VitePress は、高速でコンテンツ中心の Web サイトを構築するための [静的サイトジェネレーターSSG](https://en.wikipedia.org/wiki/Static_site_generator) です。要するに、VitePress は [Markdown](https://en.wikipedia.org/wiki/Markdown) で書かれたソースコンテンツにテーマを適用し、どこにでも簡単にデプロイできる静的 HTML ページを生成します。
@ -8,7 +8,7 @@ VitePress は、高速でコンテンツ中心の Web サイトを構築する
</div>
## ユースケース
## ユースケース {#use-cases}
- **ドキュメント**
@ -22,7 +22,7 @@ VitePress は、高速でコンテンツ中心の Web サイトを構築する
公式の [Vue.js ブログ](https://blog.vuejs.org/) は、ローカルコンテンツに基づいてインデックスページを生成するシンプルなブログです。
## 開発体験DX
## 開発体験 {#developer-experience}
VitePress は、Markdown コンテンツを扱う際の優れた開発体験DXを目指しています。
@ -32,7 +32,7 @@ VitePress は、Markdown コンテンツを扱う際の優れた開発体験D
- **[Vue 拡張 Markdown](./using-vue)**:各 Markdown ページは Vue の [単一ファイルコンポーネントSFC](https://vuejs.org/guide/scaling-up/sfc.html) としても機能します。HTML と 100% 互換な Vue テンプレートを活かし、Vue のテンプレート機能やインポートしたコンポーネントで静的コンテンツにインタラクションを埋め込めます。
## パフォーマンス
## パフォーマンス {#performance}
多くの従来型 SSG と異なり、VitePress で生成されたサイトは **初回訪問では静的 HTML** を返し、その後のサイト内ナビゲーションは [シングルページアプリケーションSPA](https://en.wikipedia.org/wiki/Single-page_application) として動作します。これはパフォーマンス面で最適なバランスだと考えています。
@ -48,7 +48,7 @@ VitePress は、Markdown コンテンツを扱う際の優れた開発体験D
静的 Markdown に埋め込まれた動的な Vue 部分をハイドレートできるよう、各 Markdown ページは Vue コンポーネントとして処理され JavaScript にコンパイルされます。一見非効率に思えますが、Vue コンパイラは静的部分と動的部分を賢く分離し、ハイドレーションのコストとペイロードを最小化します。初回ロードでは静的部分は自動的に JS ペイロードから除外され、ハイドレーションでもスキップされます。
## VuePress はどうなるの?
## VuePress はどうなるの? {#what-about-vuepress}
VitePress は VuePress 1 の精神的後継です。元の VuePress 1 は Vue 2 と webpack をベースとしていました。VitePress は内部に Vue 3 と Vite を採用し、開発体験・本番性能・完成度の高いデフォルトテーマ・より柔軟なカスタマイズ API を提供します。

Loading…
Cancel
Save