المكوّنات والسجل
كيف تصبح مكوّنات موقعك أقسامًا يستخدمها المحررون، وكيف يُبقيها Atlas متزامنة مع شيفرتك المنشورة.
تُرجمت هذه الصفحة من الإنجليزية. وفي حال وجود أي اختلاف، تسري النسخة الإنجليزية. اقرأ بالإنجليزية
لا يرسل Atlas مكوّنات إلى موقعك أبدًا. تبقى مكوّناتك في مستودعك. ويخبر عقد الموقع Atlas بالمكوّنات الموجودة وبالحقول التي يجوز للمحررين ملؤها.
كيف يُعلَن عن مكوّن
Section titled “كيف يُعلَن عن مكوّن”لكل مكوّن في العقد:
- معرّف مؤهّل، مثل
acme.home.hero، وإصدار؛ - نوع:
sectionأوblockأوlayout؛ - حقول مضبوطة الأنواع، مثل
heading(نص، مطلوب، حتى 80 حرفًا)، وimage(أصل وسائط)، وcta(رابط).
يرى المحررون نموذجًا مبنيًا من هذه الحقول. ولا يستطيعون إضافة حقول أو لصق HTML أو تغيير ترميزك.
كيف يعرضه موقعك
Section titled “كيف يعرضه موقعك”احتفظ في شيفرتك بسجل صغير يربط كل معرّف مكوّن بمكوّن React الذي يعرضه:
import { Hero } from '@/components/hero';import { FeatureGrid } from '@/components/feature-grid';import type { AtlasSection } from '@/lib/atlas';
const registry = { 'acme.home.hero': Hero, 'acme.home.features': FeatureGrid,} as const;
export function renderSection( section: AtlasSection, assets: Record<string, { url: string; alt?: string }>,) { const Component = registry[section.component.id as keyof typeof registry]; if (!Component) return null; // unknown component: skip it, never guess return <Component key={section.id} {...section.props} assets={assets} />;}تحقق من الخصائص التي يستقبلها مكوّنك بالطريقة نفسها التي تتحقق بها من أي مدخلات خارجية.
إبقاء الشيفرة والمحتوى متزامنين
Section titled “إبقاء الشيفرة والمحتوى متزامنين”يبلّغ موقعك عن المكوّنات التي بُني بها عند بدء تشغيله (POST /deployments). يقارن Studio ذلك بالعقد الفعّال ويعرض إحدى الحالات التالية:
| الحالة | المعنى |
|---|---|
| In sync | البناء المنشور يعرض العقد الفعّال |
| Missing components | يستخدم العقد مكوّنات ليست في هذا البناء. انشر الشيفرة أولًا |
| Different contract | بُني هذا البناء لإصدار آخر من العقد |
| Unknown contract | لم يرَ Atlas من قبل العقد الذي يبلّغ عنه هذا البناء |
| No contract | لا يوجد عقد فعّال بعد |
لا يمكن اعتماد إصدار إنتاج بينما الموقع غير متزامن. وهذا يمنع المحررين من استخدام مكوّن غير موجود بعد في الموقع الحي.
إضافة مكوّن جديد
Section titled “إضافة مكوّن جديد”- ابنِ المكوّن واختبره في شيفرة موقعك.
- أضفه إلى حزمة العقد مع حقوله، وإلى أنواع الصفحات التي يجوز للمحررين إدراجه فيها.
- تحقق من العقد واقترحه. يفعّله مسؤول الموقع.
- انشر الموقع. يعرض Studio In sync.
- يستطيع المحررون الآن استخدامه.