ブループリントバンドル
ブループリントバンドルは、ブループリント宣言(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フラグが必要かどうかを確認してください。 - 必要なすべてのリソースがバンドルに含まれていることを確認してください。