diff --git a/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/04-resources.md b/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/04-resources.md new file mode 100644 index 00000000000..ce9fd58d110 --- /dev/null +++ b/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/04-resources.md @@ -0,0 +1,205 @@ +--- +slug: /blueprints/steps/resources +description: "রিসোর্স রেফারেন্স" এর জন্য একটি প্রযুক্তিগত রেফারেন্স। থিম, প্লাগইন এবং কন্টেন্টের জন্য বাহ্যিক ফাইল কীভাবে ব্যবহার করবেন তা শিখুন। +--- + +# রিসোর্স রেফারেন্স + +"রিসোর্স রেফারেন্স" আপনাকে ব্লুপ্রিন্টে বাহ্যিক ফাইল ব্যবহার করতে দেয় + +:::info +ব্লুপ্রিন্ট স্টেপ যেমন [`installPlugin`](/blueprints/steps#InstallPluginStep) বা [`installTheme`](/blueprints/steps#InstallThemeStep) এর জন্য ইনস্টল করার জন্য প্লাগইন বা থিমের একটি অবস্থান প্রয়োজন। + +সেই অবস্থানটি থিম বা প্লাগইন ধারণকারী `.zip` ফাইলের [একটি `URL` রিসোর্স](#urlreference) হিসাবে সংজ্ঞায়িত করা যেতে পারে। এটি অফিসিয়াল WordPress ডিরেক্টরিতে প্রকাশিত সেই প্লাগইন/থিমগুলির জন্য একটি [`wordpress.org/plugins`](#corepluginreference) বা [`wordpress.org/themes`](#corethemereference) রিসোর্স হিসাবেও সংজ্ঞায়িত করা যেতে পারে। +::: + +নিম্নলিখিত রিসোর্স রেফারেন্স উপলব্ধ: + +import TOCInline from '@theme/TOCInline'; + + + +### URLReference + +`URLReference` রিসোর্স একটি রিমোট সার্ভারে সংরক্ষিত ফাইল রেফারেন্স করতে ব্যবহৃত হয়। `URLReference` রিসোর্স নিম্নরূপ সংজ্ঞায়িত করা হয়: + +```typescript +type URLReference = { + resource: 'url'; + url: string; +}; +``` + +`URLReference` রিসোর্স ব্যবহার করতে, আপনাকে ফাইলের URL প্রদান করতে হবে। উদাহরণস্বরূপ, একটি রিমোট সার্ভারে সংরক্ষিত "index.html" নামের একটি ফাইল রেফারেন্স করতে, আপনি নিম্নরূপ একটি `URLReference` তৈরি করতে পারেন: + +```json +{ + "resource": "url", + "url": "https://example.com/index.html" +} +``` + +রিসোর্স `url` টাইপ ব্লুপ্রিন্ট স্টেপ যেমন [`installPlugin`](/blueprints/steps#InstallPluginStep) বা +[`installTheme`](/blueprints/steps#InstallThemeStep) এর সাথে সত্যিই ভালভাবে কাজ করে। +এই স্টেপগুলির জন্য ইনস্টল করার জন্য প্লাগইন বা থিমের অবস্থান সংজ্ঞায়িত করতে একটি `ResourceType` প্রয়োজন। + +একটি `"resource": "url"` দিয়ে আমরা একটি URL এর মাধ্যমে প্লাগইন/থিম ধারণকারী একটি `.zip` এর অবস্থান সংজ্ঞায়িত করতে পারি যা সরাসরি একটি GitHub রিপোতে নির্দেশ করতে পারে। + +:::tip +Playground প্রজেক্ট একটি [GitHub Proxy](https://playground.wordpress.net/proxy) প্রদান করে যা আপনাকে আপনার প্লাগইন বা থিম ধারণকারী একটি রিপোজিটরি (বা এমনকি একটি রিপোর ভিতরে একটি ফোল্ডার) থেকে একটি `.zip` তৈরি করতে দেয়। এই টুলটি CORS সমস্যা এড়ানোর জন্য অন্যান্যদের মধ্যে খুব উপযোগী। +::: + +### GitDirectoryReference + +`GitDirectoryReference` রিসোর্স একটি Git রিপোজিটরির ভিতরে একটি ডিরেক্টরি রেফারেন্স করতে ব্যবহৃত হয়। এটি উপযোগী যখন একটি প্লাগইন বা থিম একটি রিপোর একটি সাবফোল্ডারে থাকে, বা যখন আপনি একটি নির্দিষ্ট ব্রাঞ্চ, ট্যাগ বা কমিট থেকে ইনস্টল করতে চান। + +```typescript +type GitDirectoryReference = { + resource: 'git:directory'; + url: string; // Repository URL (https://, ssh git@..., etc.) + path?: string; // Optional subdirectory inside the repository + ref?: string; // Branch, tag, or commit SHA (defaults to HEAD) + refType?: 'branch' | 'tag' | 'commit'; // Hint for resolving the ref + '.git'?: boolean; // Experimental: include a .git directory with fetched metadata +}; +``` + +**উদাহরণ:** + +```json +{ + "step": "installPlugin", + "pluginData": { + "resource": "git:directory", + "url": "https://github.com/WordPress/block-development-examples", + "ref": "HEAD", + "path": "plugins/data-basics-59c8f8" + }, + "options": { + "activate": true, + "targetFolderName": "data-basics" + } +} +``` + +**নোট:** + +- `ref` এর জন্য একটি ব্রাঞ্চ বা ট্যাগ নাম ব্যবহার করার সময়, আপনাকে অবশ্যই `refType` নির্দিষ্ট করতে হবে (যেমন `"refType": "branch"`)। এটি ছাড়া, শুধুমাত্র `HEAD` নির্ভরযোগ্যভাবে সমাধান করা হয়। +- Playground স্বয়ংক্রিয়ভাবে GitHub এবং GitLab এর মতো প্রদানকারী সনাক্ত করে। +- এটি CORS-প্রক্সিড ফেচ এবং স্পার্স চেকআউট পরিচালনা করে, তাই আপনি নির্দিষ্ট সাবডিরেক্টরি বা ব্রাঞ্চে নির্দেশ করে এমন URL ব্যবহার করতে পারেন। +- এই রিসোর্স [`installPlugin`](/blueprints/steps#InstallPluginStep) এবং [`installTheme`](/blueprints/steps#InstallThemeStep) এর মতো স্টেপের সাথে ব্যবহার করা যেতে পারে। +- নির্বাচিত ref এর একটি শ্যালো ক্লোন মিরর করে এমন প্যাকফাইল এবং refs ধারণকারী একটি `.git` ফোল্ডার অন্তর্ভুক্ত করতে `".git": true` সেট করুন। +- ফোল্ডারের নাম ডিফল্টভাবে URL থেকে উদ্ভূত হয় (যেমন `https-github-com-WordPress-block-development-examples-HEAD-at-plugins-data-basics-59c8f8`)। এটি ওভাররাইড করতে স্টেপে `options.targetFolderName` ব্যবহার করুন, যেমন উপরের উদাহরণে দেখানো হয়েছে। + + +### CoreThemeReference + +_CoreThemeReference_ রিসোর্স WordPress কোর থিম রেফারেন্স করতে ব্যবহৃত হয়। _CoreThemeReference_ রিসোর্স নিম্নরূপ সংজ্ঞায়িত করা হয়: + +```typescript +type CoreThemeReference = { + resource: 'wordpress.org/themes'; + slug: string; + version?: string; +}; +``` + +_CoreThemeReference_ রিসোর্স ব্যবহার করতে, আপনাকে থিমের slug প্রদান করতে হবে। উদাহরণস্বরূপ, "Twenty Twenty-One" থিম রেফারেন্স করতে, আপনি নিম্নরূপ একটি _CoreThemeReference_ তৈরি করতে পারেন: + +```json +{ + "resource": "wordpress.org/themes", + "slug": "twentytwentyone" +} +``` + +### CorePluginReference + +_CorePluginReference_ রিসোর্স WordPress কোর প্লাগইন রেফারেন্স করতে ব্যবহৃত হয়। _CorePluginReference_ রিসোর্স নিম্নরূপ সংজ্ঞায়িত করা হয়: + +```typescript +type CorePluginReference = { + resource: 'wordpress.org/plugins'; + slug: string; + version?: string; +}; +``` + +_CorePluginReference_ রিসোর্স ব্যবহার করতে, আপনাকে প্লাগইনের slug প্রদান করতে হবে। উদাহরণস্বরূপ, "Akismet" প্লাগইন রেফারেন্স করতে, আপনি নিম্নরূপ একটি _CorePluginReference_ তৈরি করতে পারেন: + +```json +{ + "resource": "wordpress.org/plugins", + "slug": "akismet" +} +``` + +### VFSReference + +_VFSReference_ রিসোর্স একটি ভার্চুয়াল ফাইল সিস্টেম (VFS) এ সংরক্ষিত ফাইল রেফারেন্স করতে ব্যবহৃত হয়। VFS হল একটি ফাইল সিস্টেম যা মেমরিতে সংরক্ষিত থাকে এবং অপারেটিং সিস্টেমের ফাইল সিস্টেমের অংশ নয় এমন ফাইল সংরক্ষণ করতে ব্যবহার করা যেতে পারে। _VFSReference_ রিসোর্স নিম্নরূপ সংজ্ঞায়িত করা হয়: + +```typescript +type VFSReference = { + resource: 'vfs'; + path: string; +}; +``` + +_VFSReference_ রিসোর্স ব্যবহার করতে, আপনাকে VFS-এ ফাইলের পাথ প্রদান করতে হবে। উদাহরণস্বরূপ, VFS-এর রুটে সংরক্ষিত "index.html" নামের একটি ফাইল রেফারেন্স করতে, আপনি নিম্নরূপ একটি _VFSReference_ তৈরি করতে পারেন: + +```json +{ + "resource": "vfs", + "path": "/index.html" +} +``` + +### LiteralReference + +_LiteralReference_ রিসোর্স কোডে লিটারাল হিসাবে সংরক্ষিত ফাইল রেফারেন্স করতে ব্যবহৃত হয়। _LiteralReference_ রিসোর্স নিম্নরূপ সংজ্ঞায়িত করা হয়: + +```typescript +type LiteralReference = { + resource: 'literal'; + name: string; + contents: string | Uint8Array; +}; +``` + +_LiteralReference_ রিসোর্স ব্যবহার করতে, আপনাকে ফাইলের নাম এবং এর কন্টেন্ট প্রদান করতে হবে। উদাহরণস্বরূপ, "Hello, World!" টেক্সট ধারণকারী "index.html" নামের একটি ফাইল রেফারেন্স করতে, আপনি নিম্নরূপ একটি _LiteralReference_ তৈরি করতে পারেন: + +```json +{ + "resource": "literal", + "name": "index.html", + "contents": "Hello, World!" +} +``` + +### BundledReference + +`BundledReference` রিসোর্স ব্লুপ্রিন্টের সাথে বান্ডেল করা ফাইল রেফারেন্স করতে ব্যবহৃত হয়। এটি বিশেষভাবে স্বয়ংসম্পূর্ণ ব্লুপ্রিন্ট বান্ডেল তৈরি করার জন্য উপযোগী যা সমস্ত প্রয়োজনীয় রিসোর্স অন্তর্ভুক্ত করে। `BundledReference` রিসোর্স নিম্নরূপ সংজ্ঞায়িত করা হয়: + +```typescript +type BundledReference = { + resource: 'bundled'; + path: string; +}; +``` + +`BundledReference` রিসোর্স ব্যবহার করতে, আপনাকে বান্ডেলের মধ্যে ফাইলের আপেক্ষিক পাথ প্রদান করতে হবে। উদাহরণস্বরূপ, ব্লুপ্রিন্টের সাথে বান্ডেল করা "plugin.php" নামের একটি ফাইল রেফারেন্স করতে, আপনি নিম্নরূপ একটি `BundledReference` তৈরি করতে পারেন: + +```json +{ + "resource": "bundled", + "path": "plugin.php" +} +``` + +ব্লুপ্রিন্ট বান্ডেল বিভিন্ন ফরম্যাটে বিতরণ করা যেতে পারে, যার মধ্যে রয়েছে: + +- একটি শীর্ষ-স্তরের `blueprint.json` ফাইল সহ ZIP ফাইল +- একটি `blueprint.json` ফাইল এবং সম্পর্কিত রিসোর্স ধারণকারী ডিরেক্টরি +- রিমোট URL যেখানে ব্লুপ্রিন্ট এবং এর রিসোর্স একসাথে হোস্ট করা হয় + +ব্লুপ্রিন্ট বান্ডেল সম্পর্কে আরও তথ্যের জন্য, [Blueprint Bundles](/blueprints/bundles) ডকুমেন্টেশন দেখুন। diff --git a/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/05-steps-shorthands.md b/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/05-steps-shorthands.md new file mode 100644 index 00000000000..38a5c62bbea --- /dev/null +++ b/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/05-steps-shorthands.md @@ -0,0 +1,130 @@ +--- +slug: /blueprints/steps/shorthands +description: আরও সংক্ষিপ্ত কোডের জন্য login, plugins এবং siteOptions এর মতো সাধারণ ব্লুপ্রিন্ট স্টেপের জন্য শর্টহ্যান্ড সিনট্যাক্সের একটি গাইড। +--- + +# শর্টহ্যান্ড + +আপনি `shorthand` সিনট্যাক্স ব্যবহার করে কিছু `steps` নির্দিষ্ট করতে পারেন। নিম্নলিখিত `steps` বর্তমানে সমর্থিত: + +### `login` + +ব্যবহার করুন + +```json + "login": true, +``` + +অথবা + +```json +{ + "step": "login", + "username": "admin", + "password": "password" +} +``` + +### `plugins` + +(`installPlugin` স্টেপ প্রতিস্থাপন করে) + +ব্যবহার করুন + +```json + "plugins": [ + "hello-dolly", + "https://raw.githubusercontent.com/adamziel/blueprints/trunk/docs/assets/hello-from-the-dashboard.zip" + ] +``` + +অথবা + +```json +[ + { + "step": "installPlugin", + "pluginData": { + "resource": "wordpress.org/plugins", + "slug": "hello-dolly" + } + }, + { + "step": "installPlugin", + "pluginData": { + "resource": "url", + "url": "https://raw.githubusercontent.com/adamziel/blueprints/trunk/docs/assets/hello-from-the-dashboard.zip" + } + } +] +``` + +### `siteOptions` + +ব্যবহার করুন + +```json + "siteOptions": { + "blogname": "My first Blueprint" + } +``` + +অথবা + +```json + "step": "setSiteOptions", + "options": { + "blogname": "My first Blueprint" + } +``` + +### `defineWpConfigConsts` + +(শুধুমাত্র `constants`) + +ব্যবহার করুন + +```json +{ + "step": "defineWpConfigConsts", + "consts": { + "WP_DISABLE_FATAL_ERROR_HANDLER": true, + "WP_DEBUG": true, + "WP_DEBUG_DISPLAY": true + } +} +``` + +অথবা + +```json + { + "step": "defineWpConfigConsts", + "consts": { + "WP_DISABLE_FATAL_ERROR_HANDLER": true + } + }, + { + "step": "defineWpConfigConsts", + "consts": { + "WP_DEBUG": true + } + }, + { + "step": "defineWpConfigConsts", + "consts": { + "WP_DEBUG_DISPLAY": true + } + } +``` + +--- + +`shorthand` সিনট্যাক্স এবং `step` সিনট্যাক্স একে অপরের সাথে সম্পর্কিত। `shorthand` সিনট্যাক্স দিয়ে নির্দিষ্ট করা প্রতিটি `step` নির্বিচার ক্রমে `steps` অ্যারের শীর্ষে যোগ করা হয়। + +:::info **আপনার কোনটি বেছে নেওয়া উচিত?** + +- **সংক্ষিপ্ততা** আপনার প্রধান উদ্বেগ হলে `shorthands` ব্যবহার করুন। +- **এক্সিকিউশন ক্রমের** উপর আরও নিয়ন্ত্রণ প্রয়োজন হলে স্পষ্ট `steps` ব্যবহার করুন। + +::: diff --git a/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/05-steps.md b/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/05-steps.md index 1baf009e051..73f065259d1 100644 --- a/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/05-steps.md +++ b/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/05-steps.md @@ -1,20 +1,12 @@ --- sidebar_position: 3 slug: /blueprints/steps -description: স্টেপস প্রপার্টির প্রধান এপিআই রেফারেন্স। একটি ব্লুপ্রিন্টে আপনি যেসব স্টেপ টাইপ ব্যবহার করতে পারেন, সেগুলো সম্পর্কে জানুন। +description: steps প্রপার্টির জন্য প্রধান API রেফারেন্স। একটি ব্লুপ্রিন্টে আপনি ব্যবহার করতে পারেন এমন সমস্ত উপলব্ধ স্টেপ টাইপ আবিষ্কার করুন। --- - +# স্টেপ -# স্টেপস - - - -একটি ব্লুপ্রিন্টের `steps` প্রপার্টি হলো চালানোর জন্য স্টেপের একটি অ্যারে। উদাহরণস্বরূপ, এই ব্লুপ্রিন্টটি ইউজারকে অ্যাডমিন হিসেবে লগ ইন করায়: +একটি ব্লুপ্রিন্টের `steps` প্রপার্টি চালানোর জন্য স্টেপের একটি অ্যারে। উদাহরণস্বরূপ এই ব্লুপ্রিন্ট ব্যবহারকারীকে অ্যাডমিন হিসাবে লগইন করে: import BlueprintExample from '@site/src/components/Blueprints/BlueprintExample.mdx'; @@ -28,44 +20,18 @@ import BlueprintExample from '@site/src/components/Blueprints/BlueprintExample.m ] }} /> - - -প্রতিটি স্টেপ হলো একটি অবজেক্ট যেটিতে একটি `step` প্রপার্টি থাকে যা চালানোর জন্য স্টেপের টাইপ নির্দিষ্ট করে। বাকি প্রপার্টিগুলো স্টেপের টাইপের উপর নির্ভর করে। নিচে প্রতিটি স্টেপ টাইপ শিখুন এবং ট্রাই করুন। - - - -নিম্নলিখিত স্টেপ-সম্পর্কিত বিষয়গুলো এই সেকশনে অন্তর্ভুক্ত ডেডিকেটেড পেজগুলোতে আলোচনা করা হয়েছে: +প্রতিটি স্টেপ একটি অবজেক্ট যাতে একটি `step` প্রপার্টি থাকে যা চালানোর জন্য স্টেপের টাইপ নির্দিষ্ট করে। বাকি প্রপার্টিগুলি স্টেপের টাইপের উপর নির্ভর করে। নিচে প্রতিটি স্টেপ টাইপ শিখুন এবং চেষ্টা করুন। - +নিম্নলিখিত স্টেপ-সম্পর্কিত বিষয়গুলি এই বিভাগে অন্তর্ভুক্ত ডেডিকেটেড পৃষ্ঠাগুলিতে সম্বোধন করা হয়েছে: -- [রিসোর্স রেফারেন্স](/blueprints/steps/resources) আপনাকে ব্লুপ্রিন্টে এক্সটার্নাল ফাইল ব্যবহার করতে দেয়। +- [Resources References](/blueprints/steps/resources) আপনাকে ব্লুপ্রিন্টে বাহ্যিক ফাইল ব্যবহার করতে দেয়। - +- কিছু স্টেপের একটি শর্টহ্যান্ড সংস্করণ রয়েছে। তাদের সম্পর্কে আরও তথ্যের জন্য [Shorthands](/blueprints/steps/shorthands) বিভাগ দেখুন। -- কিছু স্টেপের একটি শর্টহ্যান্ড সংস্করণ রয়েছে। এগুলো সম্পর্কে আরও তথ্যের জন্য [শর্টহ্যান্ডস](/blueprints/steps/shorthands) সেকশনটি দেখুন। +- নিচে তালিকাভুক্ত প্রতিটি স্টেপের জন্য, আপনি একটি "Blueprint API" এবং একটি "Function API" উভয়ই পাবেন। আরও বিস্তারিত জানার জন্য [API Consistency](/blueprints/steps/api-consistency) পৃষ্ঠা দেখুন। - - -- নিচে তালিকাভুক্ত প্রতিটি স্টেপের জন্য, আপনি একটি "Blueprint API" এবং একটি "Function API" উভয়ই পাবেন। আরও বিস্তারিত জানতে [API কনসিস্টেন্সি](/blueprints/steps/api-consistency) পেজটি দেখুন। - - - -:::পরামর্শ -[ওয়ার্ডপ্রেস প্লেগ্রাউন্ড স্টেপ লাইব্রেরি](https://akirk.github.io/playground-step-library/#) টুলটি ওয়ার্ডপ্রেস প্লেগ্রাউন্ডের জন্য একটি ব্লুপ্রিন্ট তৈরি করতে স্টেপগুলো ড্র্যাগ বা ক্লিক করার একটি ভিজ্যুয়াল ইন্টারফেস প্রদান করে। আপনি [নিজের স্টেপও তৈরি করতে পারেন](https://github.com/akirk/playground-step-library/#contributing)! +[WordPress Playground Step Library](https://akirk.github.io/playground-step-library/#) টুল WordPress Playground এর জন্য একটি ব্লুপ্রিন্ট তৈরি করতে স্টেপগুলি ড্র্যাগ বা ক্লিক করার জন্য একটি ভিজ্যুয়াল ইন্টারফেস প্রদান করে। আপনি [আপনার নিজস্ব স্টেপও তৈরি করতে পারেন](https://github.com/akirk/playground-step-library/#contributing)! ::: --- diff --git a/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md b/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md new file mode 100644 index 00000000000..2076c985c6b --- /dev/null +++ b/packages/docs/site/i18n/bn/docusaurus-plugin-content-docs/current/blueprints/06-bundles.md @@ -0,0 +1,152 @@ +--- +title: ব্লুপ্রিন্ট বান্ডেল +slug: /blueprints/bundles +description: ব্লুপ্রিন্ট বান্ডেল সম্পর্কে জানুন, স্বয়ংসম্পূর্ণ প্যাকেজ যা একটি blueprint.json ফাইল এবং এর সমস্ত প্রয়োজনীয় রিসোর্স অন্তর্ভুক্ত করে। +--- + +# ব্লুপ্রিন্ট বান্ডেল + +ব্লুপ্রিন্ট বান্ডেল হল স্বয়ংসম্পূর্ণ প্যাকেজ যা একটি ব্লুপ্রিন্ট ডিক্লারেশন (`blueprint.json`) এবং এটি কম্পাইল এবং চালানোর জন্য প্রয়োজনীয় সমস্ত অতিরিক্ত রিসোর্স অন্তর্ভুক্ত করে। এটি সম্পূর্ণ WordPress Playground সেটআপ বিতরণ এবং শেয়ার করা সহজ করে তোলে। + +## ব্লুপ্রিন্ট বান্ডেল কী? + +একটি ব্লুপ্রিন্ট বান্ডেল হল ফাইলের একটি সংগ্রহ যাতে অন্তর্ভুক্ত থাকে: + +1. একটি `blueprint.json` ফাইল যা ব্লুপ্রিন্ট কনফিগারেশন সংজ্ঞায়িত করে +2. ব্লুপ্রিন্ট দ্বারা রেফারেন্স করা যেকোনো অতিরিক্ত রিসোর্স (থিম, প্লাগইন, কন্টেন্ট ফাইল, ইত্যাদি) + +ব্লুপ্রিন্ট বান্ডেল বিভিন্ন ফরম্যাটে বিতরণ করা যেতে পারে: + +- একটি শীর্ষ-স্তরের `blueprint.json` ফাইল এবং অতিরিক্ত রিসোর্স সহ একটি ZIP ফাইল +- একটি git রিপোজিটরির ভিতরে একটি ডিরেক্টরি যেখানে `blueprint.json` অন্যান্য রিসোর্সের পাশাপাশি থাকে +- আপনার কম্পিউটারে একটি লোকাল ডিরেক্টরি +- প্রাসঙ্গিক ফাইল ইনলাইন করা একটি ইনলাইন JavaScript অবজেক্ট + +## ব্লুপ্রিন্ট বান্ডেল ব্যবহার করা + +### ওয়েবসাইটে + +WordPress Playground ওয়েবসাইট `?blueprint-url=` কোয়েরি প্যারামিটারের মাধ্যমে ব্লুপ্রিন্ট বান্ডেল সমর্থন করে। আপনি আপনার ব্লুপ্রিন্ট বান্ডেল ধারণকারী একটি 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://) + +উদাহরণস্বরূপ: + +```bash +# একটি লোকাল ZIP ফাইল ব্যবহার করে +npx @wp-playground/cli --blueprint=./my-blueprint.zip server + +# একটি রিমোট URL ব্যবহার করে +npx @wp-playground/cli --blueprint=https://example.com/my-blueprint.zip server + +# একটি লোকাল ডিরেক্টরি ব্যবহার করে +npx @wp-playground/cli --blueprint=./my-blueprint-directory server +``` + +ডিফল্টভাবে, CLI নিরাপত্তার কারণে লোকাল ফাইলে অ্যাক্সেস সীমাবদ্ধ করে। আপনার ব্লুপ্রিন্টের একই প্যারেন্ট ডিরেক্টরিতে ফাইল অ্যাক্সেস করার প্রয়োজন হলে, আপনাকে `--blueprint-may-read-adjacent-files` ফ্ল্যাগ ব্যবহার করে স্পষ্টভাবে অনুমতি দিতে হবে: + +```bash +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` ফাইলের একটি উদাহরণ যা বান্ডেল করা রিসোর্স রেফারেন্স করে: + + +```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` এবং সমস্ত প্রয়োজনীয় রিসোর্স সহ একটি ডিরেক্টরি তৈরি করুন, তারপর এটি জিপ করুন: + +```bash +# আপনার বান্ডেলের জন্য একটি ডিরেক্টরি তৈরি করুন +mkdir my-blueprint-bundle +cd my-blueprint-bundle + +# আপনার blueprint.json তৈরি করুন এবং রিসোর্স যোগ করুন +# ... + +# এটি জিপ করুন +zip -r ../my-blueprint-bundle.zip . +``` + +## ট্রাবলশুটিং + +আপনি ব্লুপ্রিন্ট বান্ডেলের সাথে সমস্যার সম্মুখীন হলে: + +1. নিশ্চিত করুন যে আপনার `blueprint.json` ফাইল আপনার ZIP ফাইলের রুট লেভেলে আছে +2. পরীক্ষা করুন যে আপনার বান্ডেল করা রিসোর্স রেফারেন্সের সমস্ত পাথ সঠিক +3. যাচাই করুন যে আপনার ZIP ফাইল সঠিকভাবে ফরম্যাট করা হয়েছে +4. CLI ব্যবহার করার সময়, পরীক্ষা করুন যে আপনার `--blueprint-may-read-adjacent-files` ফ্ল্যাগ প্রয়োজন কিনা +5. নিশ্চিত করুন যে সমস্ত প্রয়োজনীয় রিসোর্স বান্ডেলে অন্তর্ভুক্ত আছে