Block Directory وردپرس یک مخزن رسمی و متمرکز از بلاک‌های مستقل است که به کاربران اجازه می‌دهد بدون ترک ویرایشگر بلاک گوتنبرگ، بلاک مورد نیاز خود را جستجو، نصب و فعال کنند. این سیستم که از وردپرس ۵.۵ معرفی شد، هر بلاک را به صورت یک افزونه مستقل و تک‌بلاکی بسته‌بندی می‌کند و از طریق API رسمی وردپرس قابل جستجو است. برخلاف Plugin Directory که افزونه‌های چندمنظوره را میزبانی می‌کند، Block Directory بر بلاک‌های کوچک، متمرکز و تک‌وظیفه‌ای تمرکز دارد. معماری این سیستم بر پایه block.json، فایل asset.php و endpoint اختصاصی REST API بنا شده است. در این راهنما، نحوه کار، روش‌های جستجو، ملاحظات امنیتی و نکات پیشرفته این سیستم بررسی می‌شود.

در تجربه کار با بلاک‌های گوتنبرگ، یکی از زمان‌برترین بخش‌ها یافتن بلاک مناسب برای یک نیاز مشخص بود. جستجو در مخازن خارجی، بررسی امتیازها و نصب دستی افزونه‌ها، چرخه‌ای طولانی ایجاد می‌کرد. Block Directory این چرخه را به چند کلیک درون ویرایشگر کاهش داده است. این راهنما حاصل کار با این سیستم در پروژه‌های واقعی است. 🧱

Block Directory چیست؟

Block Directory یک مخزن رسمی از بلاک‌های گوتنبرگ است که از نسخه ۵.۵ وردپرس معرفی شد. این سیستم به کاربران اجازه می‌دهد درون ویرایشگر بلاک، بلاک مورد نظر خود را جستجو کنند و بدون ترک محیط ویرایش، آن را نصب و فعال نمایند. برخلاف Plugin Directory که افزونه‌های چندمنظوره را میزبانی می‌کند، Block Directory بر بلاک‌های تک‌وظیفه‌ای متمرکز است.

مفهوم Block Directory بر یک ایده ساده اما قدرتمند بنا شده است: هر بلاک به صورت یک افزونه مستقل بسته‌بندی می‌شود. این بدان معناست که هر بلاک نصب‌شده از Block Directory، یک افزونه جداگانه در لیست افزونه‌های سایت شماست. این معماری، بلاک‌ها را به واحدهای مستقل و قابل مدیریت تبدیل می‌کند.

سیستم Block Directory از دو بخش اصلی تشکیل شده است: یک API سرور که بلاک‌ها را ایندکس می‌کند، و یک رابط کاربری در ویرایشگر بلاک که فرآیند جستجو و نصب را مدیریت می‌نماید. برای آشنایی با مبانی بلاک‌های گوتنبرگ، مقاله Gutenberg چیست و چگونه ویرایش محتوای وردپرس را متحول کرد؟ را ببینید.

Block Directory یک فروشگاه نیست؛ یک نقطه اتصال است. نقطه‌ای که ویرایشگر بلاک را به اکوسیستم افزونه‌های وردپرس متصل می‌کند.

تفاوت Block Directory و Plugin Directory

یکی از رایج‌ترین سوالات درباره Block Directory این است که چه تفاوتی با Plugin Directory دارد. درک این تفاوت برای انتخاب درست و استفاده صحیح ضروری است.

Plugin Directory مخزن رسمی افزونه‌های وردپرس است که از سال ۲۰۰۳ فعالیت می‌کند. این مخزن شامل افزونه‌های چندمنظوره، افزونه‌های تخصصی، و پکیج‌های پیچیده است. یک افزونه در Plugin Directory می‌تواند ده‌ها قابلیت داشته باشد، چندین منوی مدیریتی اضافه کند، و کل تجربه وردپرس را تغییر دهد.

Block Directory در مقابل، فقط بلاک‌های گوتنبرگ را میزبانی می‌کند. هر بلاک باید یک وظیفه مشخص انجام دهد و از یک قرارداد فنی سختگیرانه پیروی کند. بلاک‌های چندمنظوره و پکیج‌های پیچیده در این مخزن پذیرفته نمی‌شوند.

از منظر فنی، تفاوت کلیدی در نحوه توزیع است. بلاک‌های Block Directory از طریق REST API و درون ویرایشگر نصب می‌شوند، در حالی که افزونه‌های Plugin Directory از طریق پنل مدیریت وردپرس نصب می‌گردند. این تفاوت در تجربه کاربری، Block Directory را برای کاربران ویرایشگر سریع‌تر و طبیعی‌تر می‌کند.

جدول ۱: مقایسه Block Directory و Plugin Directory
معیار Block Directory Plugin Directory
مخزن میزبان wordpress.org/plugins (زیرمجموعه) wordpress.org/plugins
نوع محتوا بلاک‌های تک‌وظیفه‌ای افزونه‌های چندمنظوره
محل نصب درون ویرایشگر بلاک پنل مدیریت وردپرس
الزام block.json بله خیر
محدودیت تعداد یک بلاک در هر افزونه نامحدود
تاریخ معرفی وردپرس ۵.۵ وردپرس ۱.۲

تاریخچه و سیر تکامل

Block Directory از دل پروژه گوتنبرگ متولد شد. در مراحل اولیه توسعه گوتنبرگ، بلاک‌های هسته برای نیازهای عمومی کافی بودند. اما با رشد اکوسیستم، نیاز به یک مکانیزم رسمی برای توزیع بلاک‌های شخص ثالث آشکار شد.

در سال ۲۰۱۹، تیم گوتنبرگ یک پیشنهاد رسمی برای Block Directory منتشر کرد. این پیشنهاد چند اصل کلیدی را تعریف می‌کرد: بلاک‌ها باید تک‌وظیفه‌ای باشند، نصب آن‌ها باید درون ویرایشگر انجام شود، و از یک API اختصاصی برای جستجو استفاده کنند.

وردپرس ۵.۵ در سال ۲۰۲۰ اولین نسخه‌ای بود که قابلیت جستجو و نصب بلاک درون ویرایشگر را معرفی کرد. این قابلیت به کاربران اجازه می‌داد با تایپ نام بلاک در درج‌کننده بلاک، بلاک‌های موجود در Block Directory را جستجو و مستقیماً نصب کنند.

در نسخه‌های بعدی، Block Directory با قابلیت‌های بیشتری گسترش یافت. پشتیبانی از Block Variations، نمایش امتیاز و تعداد نصب، و بهبود سیستم امنیتی از جمله این تحولات بودند. با معرفی APIهای جدید مانند Block Bindings و Interactivity، Block Directory نیز به‌روزرسانی شد تا این قابلیت‌ها را پشتیبانی کند. برای مطالعه درباره Block Bindings، مقاله Block Bindings API در وردپرس چیست و چطور داده‌ها را به بلاک متصل می‌کند؟ را ببینید.

معماری فنی سیستم

Block Directory از چند لایه فنی تشکیل شده که هر یک نقش مشخصی در جستجو، نصب و مدیریت بلاک‌ها ایفا می‌کند. درک این معماری برای استفاده حرفه‌ای از سیستم ضروری است.

لایه اول: block.json و متادیتای بلاک

قلب هر بلاک در Block Directory، فایل block.json است. این فایل متادیتای بلاک را تعریف می‌کند و نقش منبع واحد حقیقت (Single Source of Truth) را ایفا می‌نماید. کلیدهای مهم block.json برای Block Directory شامل نام بلاک، عنوان، توضیحات، آیکون، دسته‌بندی و مجوز است.

لایه دوم: فایل asset.php

فایل index.asset.php که توسط @wordpress/scripts تولید می‌شود، اطلاعات وابستگی‌های بلاک را نگهداری می‌کند. این فایل شامل آرایه‌ای از handleهای اسکریپت و نسخه بسته است. وردپرس از این اطلاعات برای مدیریت صف اسکریپت‌ها استفاده می‌کند. برای مطالعه درباره این ابزار، مقاله چرا @wordpress/scripts استاندارد ساخت بلاک در وردپرس شده است؟ را ببینید.

لایه سوم: REST API Block Directory

Block Directory از یک endpoint اختصاصی REST API استفاده می‌کند که در آدرس /wp-json/wp/v2/block-directory/search قرار دارد. این endpoint پارامترهای جستجو را دریافت کرده و لیستی از بلاک‌های منطبق را برمی‌گرداند. این API فقط از سایت‌های وردپرسی که به اینترنت متصل هستند قابل دسترسی است.

لایه چهارم: رابط کاربری در ویرایشگر

رابط کاربری Block Directory در درج‌کننده بلاک (Block Inserter) تعبیه شده است. وقتی کاربر عبارتی را جستجو می‌کند که با هیچ بلاک نصب‌شده‌ای مطابقت ندارد، ویرایشگر به‌طور خودکار Block Directory را فراخوانی کرده و نتایج را نمایش می‌دهد.

لایه پنجم: نصب و فعال‌سازی

پس از انتخاب بلاک، فرآیند نصب و فعال‌سازی از طریق APIهای مدیریت افزونه وردپرس انجام می‌شود. بلاک نصب‌شده در لیست افزونه‌های سایت ظاهر می‌شود و از آن پس در دسترس تمام کاربران با دسترسی مناسب قرار می‌گیرد.

معماری Block Directory بر پایه بسته‌بندی هر بلاک به عنوان یک افزونه مستقل بنا شده است. این رویکرد، بلاک‌ها را به واحدهای قابل مدیریت و قابل حذف تبدیل می‌کند.

جستجو در Block Directory از چند مسیر مختلف قابل انجام است. هر مسیر برای سناریوی خاصی بهینه شده است.

روش اول: جستجو در درج‌کننده بلاک

ساده‌ترین و سریع‌ترین روش، جستجو در درج‌کننده بلاک است. کافی است در ویرایشگر بلاک، روی دکمه + کلیک کنید یا از میانبر / استفاده نمایید. سپس عبارت مورد نظر خود را تایپ کنید. اگر بلاکی در سایت نصب باشد که با عبارت مطابقت دارد، در بالای لیست نمایش داده می‌شود. اگر بلاکی یافت نشود، ویرایشگر به‌طور خودکار Block Directory را جستجو می‌کند.

روش دوم: جستجو در سایت wordpress.org

می‌توانید مستقیماً در سایت wordpress.org/plugins جستجو کرده و فیلتر «Blocks» را فعال نمایید. این روش امکان مشاهده جزئیات بیشتر مانند امتیاز، تعداد نصب، آخرین به‌روزرسانی و بازخورد کاربران را فراهم می‌کند.

روش سوم: استفاده از Command Palette

در نسخه‌های اخیر وردپرس، می‌توان از Command Palette برای جستجوی سریع بلاک‌ها استفاده کرد. با فشردن Ctrl+K (ویندوز) یا ⌘+K (مک)، می‌توانید بلاک مورد نظر خود را جستجو کنید. برای مطالعه درباره این ابزار، مقاله WordPress Command Palette چطور سرعت کار با وردپرس را چند برابر می‌کند؟ را ببینید.

روش چهارم: جستجو بر اساس دسته‌بندی

بلاک‌های Block Directory در دسته‌بندی‌های مشخصی سازمان‌دهی شده‌اند: Widgets، Embeds، Media، Design، Text، Theme و چند دسته دیگر. مرور دسته‌بندی‌ها می‌تواند به کشف بلاک‌هایی کمک کند که نام آن‌ها را نمی‌دانید.

جدول ۲: دسته‌بندی‌های اصلی بلاک‌ها در Block Directory
دسته‌بندی توضیح نمونه بلاک
Widgets عناصر رابط کاربری نوار جستجو، آیکون‌های اجتماعی
Media محتوای تصویری و صوتی گالری پیشرفته، پادکست
Design عناصر چیدمان کارت محتوا، جدول قیمت
Text محتوای متنی نقل‌قول ویژه، لیست آیکون‌دار
Embeds محتوای جاسازی‌شده ویدیو یوتیوب، توییت

نصب و فعال‌سازی از ویرایشگر

فرآیند نصب بلاک از Block Directory بدون ترک ویرایشگر انجام می‌شود. این تجربه یکپارچه، یکی از مزیت‌های اصلی این سیستم است.

گام اول: جستجو

در ویرایشگر بلاک، عبارت مورد نظر خود را در درج‌کننده بلاک تایپ کنید. اگر هیچ بلاک نصب‌شده‌ای مطابقت نداشته باشد، ویرایشگر به‌طور خودکار Block Directory را جستجو می‌کند.

گام دوم: بررسی نتایج

نتایج جستجو با نام بلاک، توضیح مختصر، امتیاز و تعداد نصب نمایش داده می‌شوند. با کلیک روی هر نتیجه، جزئیات کامل‌تر در پنل کناری نمایش داده می‌شود.

گام سوم: نصب

با کلیک روی دکمه «Install» یا «نصب»، بلاک از مخزن wordpress.org دانلود و به صورت یک افزونه جدید نصب می‌شود. سپس بلاک به‌طور خودکار فعال و در محتوا درج می‌گردد.

گام چهارم: تأیید و استفاده

پس از نصب، بلاک در محتوا ظاهر می‌شود و می‌توانید تنظیمات آن را از پنل کناری ویرایشگر تغییر دهید. بلاک نصب‌شده از این پس در لیست بلاک‌های موجود درج‌کننده نمایش داده می‌شود.

الزامات block.json برای پذیرش

برای اینکه یک بلاک در Block Directory پذیرفته شود، باید الزامات فنی مشخصی را رعایت کند. این الزامات توسط تیم بررسی wordpress.org اعمال می‌شوند.

الزامات اجباری

  • وجود فایل block.json: بلاک باید دارای فایل متادیتای استاندارد باشد.
  • تعریف نام یکتا: نام بلاک باید با namespace مشخصی تعریف شده باشد.
  • تعریف مجوز (license): بلاک باید تحت مجوز GPL-2.0 یا بالاتر منتشر شود.
  • تعریف دسته‌بندی: بلاک باید در یکی از دسته‌بندی‌های مشخص قرار گیرد.
  • عدم استفاده از code obfuscation: کد بلاک باید قابل خواندن باشد.
  • عدم وابستگی به سرویس خارجی بدون اعلام: هر وابستگی باید شفاف باشد.

الزامات ساختاری

بلاک باید از تابع register_block_type برای ثبت استفاده کند. همچنین باید از پکیج‌های رسمی @wordpress/* برای ساخت رابط کاربری بهره ببرد. عدم رعایت این الزامات می‌تواند به رد شدن درخواست منجر شود.

الزامات کیفیت

بلاک باید تست شده و بدون خطا باشد. همچنین باید با آخرین نسخه وردپرس سازگار باشد و در صورت پشتیبانی از چند زبان، فایل‌های ترجمه داشته باشد. برای مطالعه درباره استانداردهای کد، مقاله استانداردهای کدنویسی وردپرس چیست را ببینید.

REST API و نحوه جستجو

Block Directory از یک endpoint اختصاصی REST API برای جستجو استفاده می‌کند. این API توسط ویرایشگر بلاک فراخوانی می‌شود و نتایج را در قالب JSON برمی‌گرداند. درک این API برای توسعه‌دهندگان و مدیران سایت مفید است.

ساختار endpoint

GET /wp-json/wp/v2/block-directory/search?term=query

این endpoint دو پارامتر اصلی می‌پذیرد: term که عبارت جستجو است، و per_page که تعداد نتایج را مشخص می‌کند. پاسخ شامل آرایه‌ای از آبجکت‌هاست که هر یک اطلاعات یک بلاک را در بر می‌گیرد.

ساختار پاسخ

{
    "id": "example-block",
    "name": "Example Block",
    "slug": "example-block",
    "author": "developer-name",
    "rating": 4.8,
    "active_installs": 15000,
    "short_description": "...",
    "icon": "...",
    "block_category": "widgets",
    "humanized_updated": "..."
}

محدودیت‌های API

این API فقط برای سایت‌هایی که به اینترنت متصل هستند کار می‌کند. همچنین، در محیط‌های محلی (Localhost) که به wordpress.org دسترسی ندارند، جستجو در Block Directory کار نمی‌کند. این محدودیت در محیط‌های Playground نیز وجود دارد و به همین دلیل، نصب بلاک‌ها در Playground از طریق Blueprint انجام می‌شود. برای مطالعه درباره Playground، مقاله WordPress Playground چطور وردپرس را بدون نصب در مرورگر اجرا می‌کند؟ را ببینید.

ملاحظات امنیتی و اعتماد

Block Directory از یک سیستم اعتماد چندلایه استفاده می‌کند که امنیت کاربران را در برابر بلاک‌های مخرب تضمین می‌کند.

لایه اول: بررسی خودکار

هر بلاکی که به Block Directory ارسال می‌شود، تحت بررسی خودکار قرار می‌گیرد. این بررسی شامل تحلیل کد برای شناسایی الگوهای مخرب، بررسی وابستگی‌ها، و کنترل کیفیت فنی است.

لایه دوم: بازبینی انسانی

بلاک‌های ارسال‌شده توسط تیم داوطلب wordpress.org بازبینی می‌شوند. این بازبینی شامل بررسی امنیت، عملکرد، سازگاری و کیفیت کد است. تنها بلاک‌هایی که این بازبینی را با موفقیت پشت سر بگذارند، در Directory پذیرفته می‌شوند.

لایه سوم: هشدارهای امنیتی

در صورت کشف آسیب‌پذیری در یک بلاک، تیم امنیتی وردپرس اقدام به اطلاع‌رسانی و در موارد جدی، حذف بلاک از Directory می‌کند. کاربرانی که بلاک نصب‌شده دارند، از طریق پنل مدیریت وردپرس از به‌روزرسانی‌های امنیتی مطلع می‌شوند.

ملاحظات کاربری

با وجود این لایه‌های امنیتی، کاربر باید همچنان به توصیه‌های زیر توجه کند:

  • فقط بلاک‌هایی با تعداد نصب بالا و امتیاز مثبت را نصب کنید.
  • به تاریخ آخرین به‌روزرسانی بلاک توجه کنید.
  • نظرات کاربران را بررسی کنید.
  • قبل از نصب بلاک در سایت‌های تولیدی، در محیط staging تست کنید.
  • بلاک‌هایی که چندین سال به‌روزرسانی نشده‌اند را نصب نکنید.

برای مطالعه درباره امنیت وردپرس، مقاله چگونه امنیت وردپرس را تقویت کنیم؟ راهنمای گام‌به‌گام را ببینید.

Block Directory تنها بخشی از زنجیره امنیتی است. تصمیم نهایی برای نصب یک بلاک همچنان با کاربر است.

انتشار بلاک در Directory

اگر بلاکی ساخته‌اید و می‌خواهید آن را در Block Directory منتشر کنید، باید چند مرحله مشخص را طی نمایید.

گام اول: آماده‌سازی بلاک

ابتدا باید از یک ساختار استاندارد برای پروژه خود استفاده کنید. ابزار create-block این کار را به سادگی ممکن می‌کند. برای مطالعه درباره آن، مقاله آیا create-block بهترین راه ساخت بلاک سفارشی در وردپرس است؟ را ببینید.

گام دوم: تعریف مجوز و متادیتا

در فایل block.json، باید مجوز (license) را روی GPL-2.0-or-later تنظیم کنید. همچنین عنوان، توضیحات و دسته‌بندی مناسب را تعریف نمایید. این اطلاعات در Directory نمایش داده می‌شوند.

گام سوم: تولید بسته نهایی

با اجرای npm run build، بسته تولیدی ساخته می‌شود. سپس باید یک فایل readme.txt استاندارد وردپرس ایجاد کنید که شامل توضیحات، نصب و تغییرات است.

گام چهارم: ارسال به wordpress.org

از طریق پنل wordpress.org/plugins/developers/، بلاک خود را برای بررسی ارسال کنید. پس از بازبینی و پذیرش، بلاک در Block Directory نمایش داده می‌شود.

گام پنجم: تعریف دسته‌بندی بلاک

برای اینکه بلاک شما در Block Directory قابل جستجو باشد، باید در فایل block.json کلید blockCategory را تعریف کنید. این کلید مشخص می‌کند بلاک در کدام دسته نمایش داده شود.

محدودیت‌ها و چالش‌ها

Block Directory با وجود مزایای فراوان، محدودیت‌هایی دارد که باید از آن‌ها آگاه بود.

۱. وابستگی به اتصال اینترنت

جستجو در Block Directory نیازمند اتصال به wordpress.org است. در محیط‌های محلی یا شبکه‌های محدود، این قابلیت کار نمی‌کند.

۲. عدم نمایش بلاک‌های شخص ثالث

Block Directory فقط بلاک‌هایی را نمایش می‌دهد که در مخزن رسمی wordpress.org منتشر شده‌اند. بلاک‌های تجاری یا بلاک‌های موجود در مخازن خصوصی در این سیستم قابل جستجو نیستند.

۳. محدودیت در بلاک‌های چندمنظوره

بلاک‌های پیچیده که چندین قابلیت دارند، ممکن است نتوانند در Block Directory پذیرفته شوند. این محدودیت ناشی از اصل «تک‌وظیفه‌ای بودن» است که بر Directory حاکم است.

۴. عدم کنترل بر به‌روزرسانی

وقتی بلاکی را از Block Directory نصب می‌کنید، به‌روزرسانی آن از طریق همان مسیر انجام می‌شود. اگر توسعه‌دهنده بلاک را رها کند، ممکن است به‌روزرسانی امنیتی دریافت نکنید.

۵. عدم امکان تست پیش از نصب

در محیط‌های Playground، امکان تست بلاک پیش از نصب در سایت واقعی وجود ندارد. این محدودیت می‌تواند به نصب بلاک‌های ناسازگار منجر شود. برای مطالعه درباره Playground، مقاله WordPress Playground چطور وردپرس را بدون نصب در مرورگر اجرا می‌کند؟ را ببینید.

بهترین شیوه‌های انتخاب بلاک

برای انتخاب درست بلاک از Block Directory، رعایت چند اصل توصیه می‌شود.

۱. اولویت‌بندی بلاک‌های محبوب

بلاک‌هایی با بیش از ۱۰٬۰۰۰ نصب فعال و امتیاز بالای ۴.۵ انتخاب‌های ایمن‌تری هستند. این آمار نشان‌دهنده پذیرش گسترده و کیفیت پایدار است.

۲. بررسی تاریخ آخرین به‌روزرسانی

بلاکی که در ۶ ماه گذشته به‌روزرسانی شده، احتمالاً فعالانه نگهداری می‌شود. بلاک‌هایی که چند سال به‌روزرسانی نشده‌اند، ممکن است با نسخه‌های جدید وردپرس ناسازگار باشند.

۳. مطالعه نظرات کاربران

نظرات کاربران منبع ارزشمندی از تجربه واقعی است. به نظرات منفی توجه کنید، به‌ویژه اگر الگوهای تکراری در آن‌ها وجود دارد.

۴. تست در محیط staging

قبل از نصب بلاک در سایت تولیدی، آن را در محیط staging تست کنید. این کار از بروز مشکلات غیرمنتظره جلوگیری می‌کند. برای مطالعه درباره wp-env، مقاله @wordpress/env چیست و چرا محیط توسعه لوکال وردپرس را متحول کرد؟ را ببینید.

۵. اجتناب از بلاک‌های تکراری

اگر یک بلاک نصب‌شده نیاز شما را برآورده می‌کند، نیازی به نصب بلاک مشابه نیست. انباشت بلاک‌های تکراری باعث شلوغی درج‌کننده بلاک و کاهش عملکرد می‌شود.

پرسش‌های پرتکرار درباره Block Directory

Block Directory چیست و چگونه کار می‌کند؟

Block Directory یک مخزن رسمی از بلاک‌های گوتنبرگ است که به کاربران اجازه می‌دهد درون ویرایشگر بلاک، بلاک مورد نظر خود را جستجو، نصب و فعال کنند. هر بلاک به صورت یک افزونه مستقل بسته‌بندی می‌شود و از طریق REST API جستجو می‌گردد.

چگونه بلاک مورد نیاز خود را در Block Directory پیدا کنم؟

سه روش اصلی وجود دارد: جستجو در درج‌کننده بلاک درون ویرایشگر، جستجو در سایت wordpress.org با فیلتر Blocks، و استفاده از Command Palette برای جستجوی سریع.

آیا Block Directory با Plugin Directory تفاوت دارد؟

بله، Block Directory فقط بلاک‌های تک‌وظیفه‌ای را میزبانی می‌کند و نصب آن‌ها درون ویرایشگر انجام می‌شود. Plugin Directory افزونه‌های چندمنظوره را میزبانی می‌کند و نصب آن‌ها از پنل مدیریت وردپرس انجام می‌گیرد.

آیا نصب بلاک از Block Directory امن است؟

Block Directory از یک سیستم بررسی چندلایه استفاده می‌کند: بررسی خودکار، بازبینی انسانی، و هشدارهای امنیتی. با این حال، کاربر باید همچنان به معیارهای کیفیت مانند امتیاز، تعداد نصب و تاریخ به‌روزرسانی توجه کند.

چگونه بلاک خود را در Block Directory منتشر کنم؟

ابتدا بلاک را با ابزار create-block بسازید، فایل block.json و readme.txt استاندارد ایجاد کنید، سپس از طریق پنل wordpress.org/plugins/developers درخواست انتشار ارسال نمایید.

آیا Block Directory در محیط محلی کار می‌کند؟

خیر، جستجو در Block Directory نیازمند اتصال به wordpress.org است. در محیط‌های محلی یا شبکه‌های محدود، این قابلیت کار نمی‌کند.

آیا بلاک‌های تجاری در Block Directory نمایش داده می‌شوند؟

خیر، Block Directory فقط بلاک‌های رایگان منتشرشده در مخزن رسمی wordpress.org را نمایش می‌دهد. بلاک‌های تجاری در این سیستم قابل جستجو نیستند.

چگونه بلاک نصب‌شده از Block Directory را حذف کنم؟

بلاک‌های نصب‌شده از Block Directory به صورت افزونه در لیست افزونه‌ها ظاهر می‌شوند. از پیشخوان > افزونه‌ها، می‌توانید آن‌ها را غیرفعال و حذف کنید.

آیا Block Directory از Block Bindings پشتیبانی می‌کند؟

بله، بلاک‌هایی که با apiVersion 3 ساخته شده‌اند و از Block Bindings API پشتیبانی می‌کنند، در Block Directory پذیرفته می‌شوند و می‌توانند به داده‌های خارجی متصل شوند.

نگاهی به لایه‌های زیرین

از منظر مهندسی نرم‌افزار، Block Directory یک پیاده‌سازی از مفهوم Federated Discovery است. در این الگو، به جای یک مخزن متمرکز که همه چیز را در خود جای دهد، چندین مخزن تخصصی وجود دارند که از طریق API با یکدیگر ارتباط برقرار می‌کنند. این معماری مشابه فدراسیون ActivityPub و سیستم‌های Mastodon است.

در سطح پیاده‌سازی، Block Directory از یک معماری Client-Server استفاده می‌کند. کلاینت (ویرایشگر بلاک) از طریق REST API به سرور (wordpress.org) درخواست جستجو ارسال می‌کند. سرور نتایج را در قالب JSON برمی‌گرداند و کلاینت آن‌ها را در رابط کاربری نمایش می‌دهد. این جداسازی، به‌روزرسانی مستقل سرور و کلاینت را ممکن می‌سازد.

یکی از جنبه‌های پیشرفته، مدیریت صف اسکریپت‌ها است. وقتی یک بلاک نصب می‌شود، وردپرس باید handleهای اسکریپت آن را در صف بارگذاری قرار دهد. این کار از طریق فایل asset.php انجام می‌شود که توسط @wordpress/scripts تولید شده است. وردپرس این فایل را می‌خواند و بر اساس آرایه وابستگی‌ها، اسکریپت‌های لازم را بارگذاری می‌کند.

در سطح عمیق‌تر، Block Directory از یک سیستم Cache چندلایه استفاده می‌کند. نتایج جستجو در حافظه موقت (Transient) ذخیره می‌شوند تا از فراخوانی مکرر API جلوگیری شود. همچنین، لیست بلاک‌های محبوب در یک جدول اختصاصی در دیتابیس نگهداری می‌شود. این رویکرد، عملکرد جستجو را در سایت‌های پربازدید بهبود می‌بخشد.

برای مهندسان ارشد، درک تعامل Block Directory با سیستم رندر بلاک اهمیت دارد. بلاک‌های نصب‌شده از Directory، از همان مکانیزم رندر بلاک‌های هسته استفاده می‌کنند. اگر بلاک داینامیک باشد، رندر در سمت سرور انجام می‌شود و اگر استاتیک باشد، HTML در دیتابیس ذخیره می‌گردد. این یکسانی، ادغام بلاک‌های شخص ثالث با اکوسیستم وردپرس را ممکن می‌سازد.

در سطح معماری کلان، Block Directory بخشی از یک روند گسترده‌تر در اکوسیستم وردپرس است: حرکت از افزونه‌های بزرگ چندمنظوره به سمت اجزای کوچک و تک‌وظیفه‌ای. این روند مشابه حرکت صنعت نرم‌افزار از Monolith به Microservices است. هر بلاک مانند یک میکروسرویس عمل می‌کند که یک وظیفه مشخص دارد و از طریق رابط‌های استاندارد با سایر اجزا تعامل می‌کند.

در آینده، انتظار می‌رود که Block Directory با قابلیت‌هایی مانند جستجوی معنایی مبتنی بر هوش مصنوعی، پیشنهاد بلاک بر اساس بافت محتوا، و ادغام عمیق‌تر با Block Bindings گسترش یابد. این تحولات، Block Directory را از یک مخزن ساده به یک دستیار هوشمند برای ساخت محتوا تبدیل خواهد کرد.

آنچه در عمل اهمیت دارد

Block Directory یک تغییر پارادایمی در نحوه کشف و نصب بلاک‌های گوتنبرگ است. این سیستم با یکپارچه کردن جستجو و نصب در ویرایشگر، چرخه کار کاربران را کوتاه کرده و نیاز به ترک محیط ویرایش را حذف نموده است. از منظر معماری، Block Directory یک لایه انتزاعی تمیز روی سیستم مدیریت افزونه‌های وردپرس ایجاد می‌کند و بلاک‌ها را به واحدهای مستقل و قابل مدیریت تبدیل می‌نماید.

برای کاربران، تسلط بر روش‌های جستجو و معیارهای انتخاب بلاک، کلید بهره‌گیری حداکثری از این سیستم است. برای توسعه‌دهندگان، درک الزامات Block Directory و رعایت آن‌ها، مسیر انتشار بلاک را هموار می‌کند. با گسترش اکوسیستم بلاک‌ها و معرفی APIهای جدید، Block Directory احتمالاً به یک بخش جدانشدنی از تجربه وردپرس تبدیل خواهد شد. 🚀

اگر از این سیستم برای یافتن بلاک استفاده کرده‌اید، برای ما جالب است بدانید کدام معیار بیشترین تأثیر را در انتخاب شما داشته است. تجربه خودتان را در دیدگاه‌ها بنویسید؛ به‌خصوص اگر روش خلاقانه‌ای برای جستجو یا ارزیابی بلاک‌ها کشف کرده‌اید که می‌تواند برای خواننده بعدی مفید باشد.