توثيق الموديولز
مواصفات الصفحات
مواصفات صفحة بصفحة بالقالب القياسي.
مكتمل
صفحة تفاصيل /coverage/:slug قالب long-read بنمط المجلّة. شريط Hero + شبكة الجسم + شريط جانبي sticky على سطح المكتب؛ مكدَّس على الموبايل. شارة kind تُغَيِّر معالجة الـ hero بشكل خفيف — recap أزرق تحريري، analysis كهرماني تحريري، highlights أخضر تحريري، pitch-result بنفسجي تحريري، sponsor-spotlight صبغة خلفية مميَّزة مع إفصاح صريح.
شريط الـ Hero
- صورة الغلاف: 16:9 سطح المكتب، 4:3 موبايل. تَعود إلى SVG مُتَوَلِّد (عنوان الفعالية + إيقونة kind مُركَّبة) حين coverImageUrl null.
- شارة kind فوق العنوان (مثل "RECAP" / "ANALYSIS" / "PITCH RESULT" / "HIGHLIGHTS"). لـ sponsor-spotlight، نصّ الشارة "SPONSORED" بمعالجة مميَّزة.
- عنوان H1 + dek (عنوان فرعي) أسفل.
- صفّ Byline: اسم المؤلِّف + publishedAt + readingTimeMinutes + شريحة الفعالية الوالد (قابلة للنقر، → صفحة تفاصيل الفعالية).
شبكة الجسم
- جسم عمود واحد، عرض-أقصى ~720px سطح المكتب (قياس قراءة ~70 حرف/سطر).
- bodyHtml يَرسم HTML مُسبَق-الترجمة — لا تحليل markdown وقت التشغيل. الـ tags المسموحة: h2-h4، p، ul/ol، blockquote، figure مع figcaption، a، em، strong، code (inline).
- إفصاح الراعي (sponsor-spotlight فقط): شريط في أعلى محتوى الجسم يقرأ "This story is sponsored by [organizer]. Editorial fact-check standards apply."
- صور figures تَظهر inline مع figcaption. الاقتباسات تَستخدم blockquote مع نسبة المتحدِّث كـ footer span.
شريط جانبي sticky (سطح المكتب)
- الكتلة 1 — كرت الفعالية الوالد: <app-event-card> مضغوط لـ parentEventId. دائماً موجود.
- الكتلة 2 — المؤسّسون المذكورون: كل mentionedFounderId يُحَلَّ إلى pill ملف صغير (avatar + اسم + دور). حتى 8 معروضة؛ "+N more" overflow.
- الكتلة 3 — الشركات المذكورة: نفس معالجة الـ pill مع logo + اسم + قطاع.
- الكتلة 4 — الفرص المذكورة: اسم الفرصة + شارة الموعد.
- الكتلة 5 — الملفات المذكورة: رقم الملف + العنوان + thumb غلاف 3:4 مصغّر.
- الكتلة 6 — المزيد من تغطية هذه الفعالية: أيّ CoverageArticles شقيقة تَتشارك نفس parentEventId.
