ブループリントバンドル
ブループリントバンドルは、ブループリント宣言(blueprint.json
)と、コンパイルおよび実行に必要なすべての追加リソースを含む自己完結型パッケージです。これにより、WordPress Playground の完全なセットアップを容易に配布・共有できます。
What are Blueprint Bundles?
ブループリント バンドルは、次のものを含むファイルのコレクションです:
- ブループリントの設定を定義する
blueprint.json
ファイル - ブループリントが参照する追加リソース(テーマ、プラグイン、コンテンツファイルなど)
ブループリント バンドルはさまざまな形式で配布できます:
- トップレベルの
blueprint.json
ファイルと追加リソースを含む ZIP ファイル - Git リポジトリ内の
blueprint.json
とその他のリソースが格納されているディレクトリ - コンピュータ上のローカルディレクトリ
- 関連ファイルがインライン化されたインライン JavaScript オブジェクト
ブループリントバンドルの使用
ウェブサイト
WordPress Playground ウェブサイトは、?blueprint-url=
クエリパラメータを通じて Blueprint バンドルをサポートしています。Blueprint バンドルを含む ZIP ファイルの URL を指定できます。
https://playground.wordpress.net/?blueprint-url=https://example.com/my-blueprint-bundle.zip
ZIP ファイルには、ルート レベルの blueprint.json
ファイルと、ブループリントによって参照される追加のリソースが含まれている必要があります。
CLI の場合
Playground CLI は --blueprint=
オプションを通じてブループリントバンドルをサポートします。以下のオプションを指定できます:
- ブループリントバンドルを含むローカルディレクトリへのパス
- ブループリントバンドルを含むローカル ZIP ファイルへのパス
- リモートブループリントバンドルへの URL (http:// または https://)
例えば:
# Using a local ZIP file
npx @wp-playground/cli --blueprint=./my-blueprint.zip server
# Using a remote URL
npx @wp-playground/cli --blueprint=https://example.com/my-blueprint.zip server
# Using a local directory
npx @wp-playground/cli --blueprint=./my-blueprint-directory server
デフォルトでは、セキュリティ上の理由から、CLI はローカルファイルへのアクセスを制限します。ブループリントが同じ親ディレクトリ内のファイルにアクセスする必要がある場合は、--blueprint-may-read-adjacent-files
フラグを使用して明示的に権限を付与する必要があります。
npx @wp-playground/cli --blueprint=./my-blueprint.json --blueprint-may-read-adjacent-files server
ブループリントバンドルの作成
基本構造
基本的なブループリント バンドルは次のようになります:
my-blueprint-bundle/
├── blueprint.json
├── theme.zip
├── plugin.zip
└── content/
└── sample-content.wxr
バンドルされたリソースを含むブループリントの例
バンドルされたリソースを参照する blueprint.json
ファイルの例を次に示します。
{
"landingPage": "/my-file.txt",
"steps": [
{
"step": "writeFile",
"path": "/wordpress/my-file.txt",
"data": {
"resource": "bundled",
"path": "/bundled-text-file.txt"
}
},
{
"step": "installTheme",
"themeData": {
"resource": "bundled",
"path": "/theme.zip"
}
},
{
"step": "installPlugin",
"pluginData": {
"resource": "bundled",
"path": "/plugin.zip"
}
},
{
"step": "importWxr",
"file": {
"resource": "bundled",
"path": "/content/sample-content.wxr"
}
}
]
}
この例では、ブループリントはバンドルされたいくつかのリソースを参照します:
/bundled-text-file.txt
にあるテキストファイル/theme.zip
にあるテーマの ZIP ファイル/plugin.zip
にあるプラグインの ZIP ファイル/content/sample-content.wxr
にある WXR コンテンツファイル
ZIP バンドルの作成
ZIP バンドルを作成するには、blueprint.json
と必要なすべてのリソースを含むディレクトリを作成し、それを ZIP 形式で圧縮するだけです:
# Create a directory for your bundle
mkdir my-blueprint-bundle
cd my-blueprint-bundle
# Create your blueprint.json and add resources
# ...
# Zip it up
zip -r ../my-blueprint-bundle.zip .
トラブルシューティング
ブループリント バンドルで問題が発生した場合:
blueprint.json
ファイルが ZIP ファイルのルートレベルにあることを確認してください。- バンドルされたリソース参照内のすべてのパスが正しいことを確認してください。
- ZIP ファイルが適切にフォーマットされていることを確認してください。
- CLI を使用する場合は、
--blueprint-may-read-adjacent-files
フラグが必要かどうかを確認してください。 - 必要なすべてのリソースがバンドルに含まれていることを確認してください。