تخطَّ إلى المحتوى الرئيسي

توثيق الموديولز

حقول البيانات

الكيانات، الحقول، الأنواع.

مكتمل

واجهة `EditorialArticle` (المعرَّفة في `core/models/editorial.model.ts`) هي شكل الكيان القياسي. كل حقل يُربط إمّا بعنصر عرض منشور، أو mention عابر للموديولز، أو flag سير عمل تحريري.

حقول مطلوبة

id · string
معرّف مستقرّ. الصيغة: `art-<slug>`. مستخدم في Cross-module mentions و JSON-LD @id.
slug · string
slug مستقرّ في الـ URL. الصيغة: `YYYY-MM-DD-kebab-case-title`. بادئة التاريخ تحفظ الترتيب الزمني بالـ URL.
type · EditorialType
واحد من: `news` | `analysis` | `commentary` | `interview` | `profile` | `guide`. يقود eyebrow النوع و JSON-LD @type (news → NewsArticle، الباقي → Article).
title · Bilingual
`{ en: string; ar: string }`. كلاهما مطلوب. حدّ أقصى 80 حرفاً لكل locale (موصى به).
dek · Bilingual
sub-headline / standfirst. يحاكي meta description لـ SEO. هدف 140-160 حرف.
bodyHtml · Bilingual
HTML مُولَّد مسبقاً. مُعقَّم عند العرض عبر SafeHtmlPipe. مكتوب بـ markdown ثم مُجمَّع لـ HTML في الـ Pipeline التحريري.
topic · EditorialTopic
واحد من: `funding` | `sector-report` | `founder-story` | `ecosystem` | `policy` | `product` | `market-expansion` | `leadership` | `hiring`.
author · Bilingual
سطر الكاتب. ثنائي اللغة لأن الأسماء العربية والإنجليزية تختلف أحياناً في النقل الصوتي.
publishedAt · string (ISO)
تاريخ النشر. يقود `datePublished` في JSON-LD والتاريخ المرئي على سطر الكاتب.
readingTimeMinutes · number
يحدّده التحرير، لا يُحسَب آلياً. المحرّرون يتجاوزون وقت القراءة حين يستدعي الموضوع قراءة بطيئة.

حقول اختيارية

  • `sector? · string` — وسم القطاع الأساسي. يقود مطابقة تصنيف Cross-module.
  • `country? · string` — رمز الدولة ISO-2. يقود الربط الجغرافي.
  • `mentionedFounderIds?` / `mentionedStartupIds?` / `mentionedEventIds?` / `mentionedOpportunityIds?` — مصفوفات mention صريحة للكيانات. تغذّي الـ manifest الـ manual لـ Cross-module.
  • `authorRole? · Bilingual` — المسمى أو الدور.
  • `coverImageUrl?` — غلاف 16:9. fallback إلى نمط SVG تحريري حين يغيب.
  • `isFeatured? · boolean` — يطرح المقال في home + أعلى مواضع القائمة.
  • `isPractical? · boolean` — زاوية تعلّم عملية. يقود ظهور Founder Files في إشارات Cross-module.