メインコンテンツへスキップ

ブループリントバンドル

ブループリントバンドルは、ブループリント宣言(blueprint.json)と、コンパイルおよび実行に必要なすべての追加リソースを含む自己完結型パッケージです。これにより、WordPress Playground の完全なセットアップを容易に配布・共有できます。

What are Blueprint Bundles?

ブループリント バンドルは、次のものを含むファイルのコレクションです:

  1. ブループリントの設定を定義する blueprint.json ファイル
  2. ブループリントが参照する追加リソース(テーマ、プラグイン、コンテンツファイルなど)

ブループリント バンドルはさまざまな形式で配布できます:

  • トップレベルの 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 .

トラブルシューティング

ブループリント バンドルで問題が発生した場合:

  1. blueprint.json ファイルが ZIP ファイルのルートレベルにあることを確認してください。
  2. バンドルされたリソース参照内のすべてのパスが正しいことを確認してください。
  3. ZIP ファイルが適切にフォーマットされていることを確認してください。
  4. CLI を使用する場合は、--blueprint-may-read-adjacent-files フラグが必要かどうかを確認してください。
  5. 必要なすべてのリソースがバンドルに含まれていることを確認してください。