diff --git a/packages/docs/site/docs/blueprints/06-bundles.md b/packages/docs/site/docs/blueprints/06-bundles.md index b79aba8cba4..6441a8a5715 100644 --- a/packages/docs/site/docs/blueprints/06-bundles.md +++ b/packages/docs/site/docs/blueprints/06-bundles.md @@ -17,10 +17,10 @@ A Blueprint bundle is a collection of files that includes: Blueprint bundles can be distributed in various formats: -- A ZIP file with a top-level `blueprint.json` file and additional resources -- A directory inside a git repository where `blueprint.json` resides alongside other resources -- A local directory on your computer -- An inline JavaScript object with the relevant files inlined +- A ZIP file with a top-level `blueprint.json` file and additional resources +- A directory inside a git repository where `blueprint.json` resides alongside other resources +- A local directory on your computer +- An inline JavaScript object with the relevant files inlined ## Using Blueprint Bundles @@ -38,9 +38,9 @@ The ZIP file should contain a `blueprint.json` file at the root level, along wit The Playground CLI supports Blueprint bundles through the `--blueprint=` option. You can provide: -- A path to a local directory containing a Blueprint bundle -- A path to a local ZIP file containing a Blueprint bundle -- A URL to a remote Blueprint bundle (http:// or https://) +- A path to a local directory containing a Blueprint bundle +- A path to a local ZIP file containing a Blueprint bundle +- A URL to a remote Blueprint bundle (http:// or https://) For example: @@ -119,10 +119,10 @@ Here's an example of a `blueprint.json` file that references bundled resources: In this example, the Blueprint references several bundled resources: -- A text file at `/bundled-text-file.txt` -- A theme ZIP file at `/theme.zip` -- A plugin ZIP file at `/plugin.zip` -- A WXR content file at `/content/sample-content.wxr` +- A text file at `/bundled-text-file.txt` +- A theme ZIP file at `/theme.zip` +- A plugin ZIP file at `/plugin.zip` +- A WXR content file at `/content/sample-content.wxr` ### Creating a ZIP Bundle @@ -140,11 +140,40 @@ cd my-blueprint-bundle zip -r ../my-blueprint-bundle.zip . ``` +## ZIP File Structure Flexibility + +Blueprint bundles support `blueprint.json` at two locations within a ZIP file: + +1. **Root level** (standard): `blueprint.json` sits directly at the ZIP root +2. **One directory deep**: `blueprint.json` sits inside a single top-level directory + +This means ZIP files created with macOS's right-click "Compress" feature (which wraps contents in a folder) work automatically. The `__MACOSX` metadata directory is ignored during detection. + +**Example: Both of these ZIP structures work:** + +``` +# Structure A (root level) +my-bundle.zip/ +├── blueprint.json +├── theme.zip +└── plugin.zip + +# Structure B (one directory deep — macOS-style) +my-bundle.zip/ +├── my-bundle/ +│ ├── blueprint.json +│ ├── theme.zip +│ └── plugin.zip +└── __MACOSX/ ← ignored +``` + +If multiple top-level directories contain a `blueprint.json`, Playground returns an error to avoid ambiguity. + ## Troubleshooting If you encounter issues with Blueprint bundles: -1. Ensure your `blueprint.json` file is at the root level of your ZIP file +1. Ensure your `blueprint.json` file is at the root level of your ZIP file or inside a single top-level directory 2. Check that all paths in your bundled resource references are correct 3. Verify that your ZIP file is properly formatted 4. When using the CLI, check if you need the `--blueprint-may-read-adjacent-files` flag diff --git a/packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md b/packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md new file mode 100644 index 00000000000..f2a0fbd6b93 --- /dev/null +++ b/packages/docs/site/i18n/es/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md @@ -0,0 +1,442 @@ +--- +title: Paquetes de Blueprint +slug: /blueprints/bundles +description: Conoce los paquetes de Blueprint, paquetes autocontenidos que incluyen un archivo blueprint.json y todos los recursos necesarios. +--- + + + +# Paquetes de Blueprint + + + +Los paquetes de Blueprint son paquetes autocontenidos que incluyen una declaración de Blueprint (`blueprint.json`) junto con todos los recursos adicionales necesarios para compilarlo y ejecutarlo. Así es más fácil distribuir y compartir configuraciones completas de WordPress Playground. + + + +## ¿Qué son los paquetes de Blueprint? + + + +Un paquete de Blueprint es una colección de archivos que incluye: + + + +1. Un archivo `blueprint.json` que define la configuración del Blueprint +2. Cualquier recurso adicional al que haga referencia el Blueprint (temas, plugins, archivos de contenido, etc.) + + + +Los paquetes de Blueprint pueden distribuirse en varios formatos: + + + +- Un archivo ZIP con un `blueprint.json` en el nivel superior y recursos adicionales +- Un directorio dentro de un repositorio git donde `blueprint.json` convive con otros recursos +- Un directorio local en tu equipo +- Un objeto JavaScript en línea con los archivos pertinentes incrustados + + + +## Uso de paquetes de Blueprint + + + +### En el sitio web + + + +El sitio de WordPress Playground admite paquetes de Blueprint mediante el parámetro de consulta `?blueprint-url=`. Puedes indicar la URL de un archivo ZIP con tu paquete de Blueprint: + + + +``` +https://playground.wordpress.net/?blueprint-url=https://example.com/my-blueprint-bundle.zip +``` + + + +El archivo ZIP debe incluir un `blueprint.json` en la raíz, junto con los recursos adicionales a los que haga referencia el Blueprint. + + + +### En la CLI + + + +Playground CLI admite paquetes de Blueprint mediante la opción `--blueprint=`. Puedes indicar: + + + +- La ruta a un directorio local que contenga un paquete de Blueprint +- La ruta a un archivo ZIP local que contenga un paquete de Blueprint +- La URL de un paquete de Blueprint remoto (http:// o https://) + + + +Por ejemplo: + + + +```bash +# 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 +``` + + + +Por defecto, la CLI restringe el acceso a archivos locales por seguridad. Si tu Blueprint necesita leer archivos en el mismo directorio padre, debes conceder permiso explícitamente con la opción `--blueprint-may-read-adjacent-files`: + + + +```bash +npx @wp-playground/cli --blueprint=./my-blueprint.json --blueprint-may-read-adjacent-files server +``` + + + +## Crear paquetes de Blueprint + + + +### Estructura básica + + + +Un paquete de Blueprint básico puede tener este aspecto: + + + +``` +my-blueprint-bundle/ +├── blueprint.json +├── theme.zip +├── plugin.zip +└── content/ + └── sample-content.wxr +``` + + + +### Ejemplo de Blueprint con recursos incluidos + + + +Aquí tienes un ejemplo de archivo `blueprint.json` que referencia recursos incluidos en el paquete: + + + +```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" + } + } + ] +} +``` + + + +En este ejemplo, el Blueprint referencia varios recursos incluidos: + + + +- Un archivo de texto en `/bundled-text-file.txt` +- Un ZIP de tema en `/theme.zip` +- Un ZIP de plugin en `/plugin.zip` +- Un archivo de contenido WXR en `/content/sample-content.wxr` + + + +### Crear un paquete ZIP + + + +Para crear un paquete ZIP, crea un directorio con tu `blueprint.json` y todos los recursos necesarios y comprímelo: + + + +```bash +# 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 . +``` + + + +## Flexibilidad en la estructura del ZIP + + + +Los paquetes de Blueprint admiten `blueprint.json` en dos ubicaciones dentro de un archivo ZIP: + + + +1. **En la raíz** (habitual): `blueprint.json` está directamente en la raíz del ZIP +2. **Un nivel de carpeta**: `blueprint.json` está dentro de un único directorio de primer nivel + + + +Así, los ZIP creados con «Comprimir» del menú contextual en macOS (que envuelven el contenido en una carpeta) funcionan sin pasos extra. El directorio de metadatos `__MACOSX` se ignora al detectar el Blueprint. + + + +**Ejemplo: estas dos estructuras de ZIP son válidas:** + + + +``` +# Structure A (root level) +my-bundle.zip/ +├── blueprint.json +├── theme.zip +└── plugin.zip + +# Structure B (one directory deep — macOS-style) +my-bundle.zip/ +├── my-bundle/ +│ ├── blueprint.json +│ ├── theme.zip +│ └── plugin.zip +└── __MACOSX/ ← ignored +``` + + + +Si varios directorios de primer nivel contienen un `blueprint.json`, Playground devuelve un error para evitar ambigüedades. + + + +## Solución de problemas + + + +Si tienes problemas con los paquetes de Blueprint: + + + +1. Comprueba que `blueprint.json` esté en la raíz del ZIP o dentro de un único directorio de primer nivel +2. Verifica que las rutas en las referencias a recursos incluidos sean correctas +3. Comprueba que el ZIP esté bien formado +4. Si usas la CLI, comprueba si necesitas la opción `--blueprint-may-read-adjacent-files` +5. Asegúrate de que el paquete incluye todos los recursos necesarios + + diff --git a/packages/docs/site/i18n/fr/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md b/packages/docs/site/i18n/fr/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md new file mode 100644 index 00000000000..02f8b7fb3bf --- /dev/null +++ b/packages/docs/site/i18n/fr/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md @@ -0,0 +1,442 @@ +--- +title: Paquets Blueprint +slug: /blueprints/bundles +description: Découvrez les paquets Blueprint, des packages autonomes qui incluent un fichier blueprint.json et toutes les ressources nécessaires. +--- + + + +# Paquets Blueprint + + + +Les paquets Blueprint sont des dépendances autonomes qui contiennent une déclaration Blueprint (`blueprint.json`) ainsi que toutes les ressources supplémentaires nécessaires pour le compiler et l’exécuter. Cela facilite la distribution et le partage d’installations WordPress Playground complètes. + + + +## Qu’est-ce qu’un paquet Blueprint ? + + + +Un paquet Blueprint est un ensemble de fichiers qui comprend : + + + +1. Un fichier `blueprint.json` qui définit la configuration du Blueprint +2. Toutes les ressources supplémentaires référencées par le Blueprint (thèmes, extensions, fichiers de contenu, etc.) + + + +Les paquets Blueprint peuvent être distribués sous plusieurs formes : + + + +- Un fichier ZIP avec un fichier `blueprint.json` à la racine et des ressources supplémentaires +- Un répertoire dans un dépôt Git où un fichier `blueprint.json` se trouve à côté des autres ressources +- Un répertoire local sur votre ordinateur +- Un objet JavaScript intégré avec les fichiers pertinents incorporés + + + +## Utiliser les paquets Blueprint + + + +### Sur le site + + + +Le site WordPress Playground prend en charge les paquets Blueprint via le paramètre de requête `?blueprint-url=`. Vous pouvez fournir l’URL d’un fichier ZIP contenant votre paquet Blueprint : + + + +``` +https://playground.wordpress.net/?blueprint-url=https://example.com/my-blueprint-bundle.zip +``` + + + +Le fichier ZIP doit contenir un fichier `blueprint.json` à la racine, ainsi que toutes les ressources supplémentaires référencées par le Blueprint. + + + +### Dans la CLI + + + +Playground CLI prend en charge les paquets Blueprint via l’option `--blueprint=`. Vous pouvez indiquer : + + + +- Le chemin vers un répertoire local contenant un paquet Blueprint +- Le chemin vers un fichier ZIP local contenant un paquet Blueprint +- L’URL d’un paquet Blueprint distant (http:// ou https://) + + + +Par exemple : + + + +```bash +# 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 +``` + + + +Par défaut, la CLI limite l’accès aux fichiers locaux pour des raisons de sécurité. Si votre Blueprint doit accéder à des fichiers dans le même répertoire parent, vous devez l’autoriser explicitement avec le drapeau `--blueprint-may-read-adjacent-files` : + + + +```bash +npx @wp-playground/cli --blueprint=./my-blueprint.json --blueprint-may-read-adjacent-files server +``` + + + +## Créer des paquets Blueprint + + + +### Structure de base + + + +Un paquet Blueprint basique peut ressembler à ceci : + + + +``` +my-blueprint-bundle/ +├── blueprint.json +├── theme.zip +├── plugin.zip +└── content/ + └── sample-content.wxr +``` + + + +### Exemple de Blueprint avec ressources groupées + + + +Voici un exemple de fichier `blueprint.json` qui référence des ressources groupées : + + + +```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" + } + } + ] +} +``` + + + +Dans cet exemple, le Blueprint référence plusieurs ressources groupées : + + + +- Un fichier texte à `/bundled-text-file.txt` +- Un fichier ZIP de thème à `/theme.zip` +- Un fichier ZIP d’extension à `/plugin.zip` +- Un fichier de contenu WXR à `/content/sample-content.wxr` + + + +### Créer un paquet ZIP + + + +Pour créer un paquet ZIP, créez un répertoire avec votre `blueprint.json` et toutes les ressources requises, puis compressez-le : + + + +```bash +# 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 . +``` + + + +## Souplesse de la structure des fichiers ZIP + + + +Les paquets Blueprint acceptent `blueprint.json` à deux emplacements dans un fichier ZIP : + + + +1. **À la racine** (habituel) : `blueprint.json` est directement à la racine du ZIP +2. **Un niveau de dossier** : le fichier `blueprint.json` se trouve dans un seul répertoire de premier niveau + + + +Ainsi, les ZIP créés avec « Compresser » au clic droit sous macOS (qui enveloppent le contenu dans un dossier) fonctionnent automatiquement. Le dossier de métadonnées `__MACOSX` est ignoré lors de la détection. + + + +**Exemple : ces deux structures ZIP conviennent :** + + + +``` +# Structure A (root level) +my-bundle.zip/ +├── blueprint.json +├── theme.zip +└── plugin.zip + +# Structure B (one directory deep — macOS-style) +my-bundle.zip/ +├── my-bundle/ +│ ├── blueprint.json +│ ├── theme.zip +│ └── plugin.zip +└── __MACOSX/ ← ignored +``` + + + +Si plusieurs répertoires de premier niveau contiennent un `blueprint.json`, Playground renvoie une erreur pour éviter toute ambiguïté. + + + +## Dépannage + + + +En cas de problème avec les paquets Blueprint : + + + +1. Vérifiez que le fichier `blueprint.json` se trouve à la racine du ZIP ou dans un seul répertoire de premier niveau +2. Contrôlez l'exactitude des chemins référençant les ressources groupées +3. Vérifiez l'intégrité du fichier ZIP +4. Avec la CLI, vérifiez si le drapeau `--blueprint-may-read-adjacent-files` est nécessaire +5. Assurez-vous de la présence de toutes les ressources nécessaires dans le paquet + + diff --git a/packages/docs/site/i18n/pt-BR/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md b/packages/docs/site/i18n/pt-BR/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md index 4d01e294451..43f2fa7c7ac 100644 --- a/packages/docs/site/i18n/pt-BR/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md +++ b/packages/docs/site/i18n/pt-BR/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md @@ -1,71 +1,125 @@ --- title: Pacotes de Blueprint slug: /blueprints/bundles -description: Saiba mais sobre pacotes de Blueprint, pacotes independentes que incluem um arquivo blueprint.json e todos os seus recursos necessários. +description: Saiba mais sobre pacotes de Blueprint, pacotes independentes que incluem um arquivo blueprint.json e todos os recursos necessários. --- # Pacotes de Blueprint -Pacotes de Blueprint são coleções independentes que incluem uma declaração de Blueprint (`blueprint.json`) junto com todos os recursos adicionais necessários para compilar e executá-lo. Isso facilita a distribuição e compartilhamento de configurações completas do WordPress Playground. - -A Blueprint bundle is a collection of files that includes: +Pacotes de Blueprint são pacotes autocontidos que incluem uma declaração de Blueprint (`blueprint.json`) e todos os recursos adicionais necessários para compilá-lo e executá-lo. Isso facilita distribuir e compartilhar configurações completas do WordPress Playground. -1. A `blueprint.json` file that defines the Blueprint configuration -2. Any additional resources referenced by the Blueprint (themes, plugins, content files, etc.) + -Blueprint bundles can be distributed in various formats: +## O que são pacotes de Blueprint? -- A ZIP file with a top-level `blueprint.json` file and additional resources -- A directory inside a git repository where `blueprint.json` resides alongside other resources -- A local directory on your computer -- An inline JavaScript object with the relevant files inlined + -## O que são Pacotes de Blueprint? - Um pacote de Blueprint é uma coleção de arquivos que inclui: + + 1. Um arquivo `blueprint.json` que define a configuração do Blueprint 2. Quaisquer recursos adicionais referenciados pelo Blueprint (temas, plugins, arquivos de conteúdo, etc.) + + Pacotes de Blueprint podem ser distribuídos em vários formatos: -- Um arquivo ZIP com um arquivo `blueprint.json` no nível superior e recursos adicionais -- Um diretório dentro de um repositório git onde `blueprint.json` reside junto com outros recursos + + +- Um arquivo ZIP com `blueprint.json` no nível superior e recursos adicionais +- Um diretório dentro de um repositório git em que o `blueprint.json` fica junto dos demais recursos - Um diretório local no seu computador - Um objeto JavaScript inline com os arquivos relevantes embutidos + + +## Usar pacotes de Blueprint + +### No site + + + +O site do WordPress Playground aceita pacotes de Blueprint pelo parâmetro de consulta `?blueprint-url=`. Você pode informar a URL de um arquivo ZIP com o seu pacote: + ``` https://playground.wordpress.net/?blueprint-url=https://example.com/my-blueprint-bundle.zip ``` + + +O ZIP deve conter um `blueprint.json` na raiz, além dos recursos adicionais referenciados pelo Blueprint. + + + +### Na CLI + + +O Playground CLI aceita pacotes de Blueprint pela opção `--blueprint=`. Você pode informar: + + +- Caminho para um diretório local com um pacote de Blueprint +- Caminho para um arquivo ZIP local com um pacote de Blueprint +- URL de um pacote remoto (http:// ou https://) -- A path to a local directory containing a Blueprint bundle -- A path to a local ZIP file containing a Blueprint bundle -- A URL to a remote Blueprint bundle (http:// or https://) + + +Por exemplo: + ```bash # Using a local ZIP file @@ -78,58 +132,52 @@ npx @wp-playground/cli --blueprint=https://example.com/my-blueprint.zip server npx @wp-playground/cli --blueprint=./my-blueprint-directory server ``` -By default, the CLI restricts access to local files for security reasons. If your Blueprint needs to access files in the same parent directory, you need to explicitly grant permission using the `--blueprint-may-read-adjacent-files` flag: - + - -## Usando Pacotes de Blueprint - -### No Website +# Using a local ZIP file +npx @wp-playground/cli --blueprint=./my-blueprint.zip server -O website do WordPress Playground suporta pacotes de Blueprint através do parâmetro de consulta `?blueprint-url=`. Você pode fornecer uma URL para um arquivo ZIP contendo seu pacote de Blueprint: +# 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 ``` -https://playground.wordpress.net/?blueprint-url=https://example.com/my-blueprint-bundle.zip -``` - -O arquivo ZIP deve conter um arquivo `blueprint.json` no nível raiz, junto com quaisquer recursos adicionais referenciados pelo Blueprint. - -### Na CLI - -A CLI do Playground suporta pacotes de Blueprint através da opção `--blueprint=`. Você pode fornecer: +--> -- Um caminho para um diretório local contendo um pacote de Blueprint -- Um caminho para um arquivo ZIP local contendo um pacote de Blueprint -- Uma URL para um pacote de Blueprint remoto (http:// ou https://) +Por padrão, a CLI restringe o acesso a arquivos locais por segurança. Se o Blueprint precisar ler arquivos no mesmo diretório pai, conceda permissão com a flag `--blueprint-may-read-adjacent-files`: -Por exemplo: + ```bash -# Usando um arquivo ZIP local -npx @wp-playground/cli --blueprint=./my-blueprint.zip server - -# Usando uma URL remota -npx @wp-playground/cli --blueprint=https://example.com/my-blueprint.zip server - -# Usando um diretório local -npx @wp-playground/cli --blueprint=./my-blueprint-directory server +npx @wp-playground/cli --blueprint=./my-blueprint.json --blueprint-may-read-adjacent-files server ``` -Por padrão, a CLI restringe o acesso a arquivos locais por razões de segurança. Se seu Blueprint precisar acessar arquivos no mesmo diretório pai, você precisa conceder permissão explicitamente usando a flag `--blueprint-may-read-adjacent-files`: - + + +## Criar pacotes de Blueprint + +### Estrutura básica + + +Um pacote de Blueprint básico pode ser assim: + ``` my-blueprint-bundle/ @@ -137,33 +185,70 @@ my-blueprint-bundle/ ├── theme.zip ├── plugin.zip └── content/ - └── sample-content.wxr + └── sample-content.wxr ``` -### Example Blueprint with Bundled Resources - -Here's an example of a `blueprint.json` file that references bundled resources: ---> - -## Criando Pacotes de Blueprint - -### Estrutura Básica - -Um pacote de Blueprint básico pode se parecer com isto: - + -### Exemplo de Blueprint com Recursos Empacotados +### Exemplo de Blueprint com recursos empacotados -Aqui está um exemplo de um arquivo `blueprint.json` que referencia recursos empacotados: + + +Exemplo de `blueprint.json` que referencia recursos empacotados: + + + +```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" + } + } + ] +} +``` + + +Neste exemplo, o Blueprint referencia vários recursos empacotados: + +- Arquivo de texto em `/bundled-text-file.txt` +- ZIP do tema em `/theme.zip` +- ZIP do plugin em `/plugin.zip` +- Arquivo de conteúdo WXR em `/content/sample-content.wxr` -- A text file at `/bundled-text-file.txt` -- A theme ZIP file at `/theme.zip` -- A plugin ZIP file at `/plugin.zip` -- A WXR content file at `/content/sample-content.wxr` + +### Criar um pacote ZIP + + + +Para criar um pacote ZIP, crie um diretório com o `blueprint.json` e todos os recursos necessários e compacte: + ```bash # Create a directory for your bundle @@ -224,49 +328,115 @@ cd my-blueprint-bundle # Zip it up zip -r ../my-blueprint-bundle.zip . ``` ---> - -Neste exemplo, o Blueprint referencia vários recursos empacotados: - -- Um arquivo de texto em `/bundled-text-file.txt` -- Um arquivo ZIP de tema em `/theme.zip` -- Um arquivo ZIP de plugin em `/plugin.zip` -- Um arquivo de conteúdo WXR em `/content/sample-content.wxr` - -### Criando um Pacote ZIP - -Para criar um pacote ZIP, simplesmente crie um diretório com seu `blueprint.json` e todos os recursos necessários, depois compacte-o: + + +## Flexibilidade da estrutura do ZIP + + + +Pacotes de Blueprint aceitam `blueprint.json` em dois locais dentro do ZIP: + + + +1. **Na raiz** (padrão): `blueprint.json` fica diretamente na raiz do ZIP +2. **Um nível de pasta**: `blueprint.json` fica dentro de um único diretório de primeiro nível + + + +Assim, ZIPs criados com «Comprimir» no macOS (que envolvem o conteúdo em uma pasta) funcionam automaticamente. O diretório de metadados `__MACOSX` é ignorado na detecção. + + + +**Exemplo: estas duas estruturas de ZIP funcionam:** + + + +``` +# Structure A (root level) +my-bundle.zip/ +├── blueprint.json +├── theme.zip +└── plugin.zip + +# Structure B (one directory deep — macOS-style) +my-bundle.zip/ +├── my-bundle/ +│ ├── blueprint.json +│ ├── theme.zip +│ └── plugin.zip +└── __MACOSX/ ← ignored +``` + + + +Se vários diretórios de primeiro nível contiverem `blueprint.json`, o Playground retorna um erro para evitar ambiguidade. + + + +## Solução de problemas + +Se tiver problemas com pacotes de Blueprint: + -1. Ensure your `blueprint.json` file is at the root level of your ZIP file +1. Confira se o `blueprint.json` está na raiz do ZIP ou dentro de um único diretório de primeiro nível +2. Verifique se os caminhos nas referências a recursos empacotados estão corretos +3. Confirme se o ZIP está bem formado +4. Na CLI, veja se precisa da flag `--blueprint-may-read-adjacent-files` +5. Garanta que todos os recursos necessários estão no pacote + + - -## Solução de Problemas - -Se encontrar problemas com pacotes de Blueprint: - -1. Certifique-se de que seu arquivo `blueprint.json` está no nível raiz do seu arquivo ZIP -2. Verifique se todos os caminhos em suas referências de recursos empacotados estão corretos -3. Verifique se seu arquivo ZIP está adequadamente formatado -4. Ao usar a CLI, verifique se você precisa da flag `--blueprint-may-read-adjacent-files` -5. Certifique-se de que todos os recursos necessários estão incluídos no pacote