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

Developer Page Specifications

Category Page

/:lang/categories/{slug} — scoped listing reusing the Industry chassis with topic filter + sort. 404 on unknown slug.

مكتمل

المسار: /:lang/editorial/categories/{categorySlug}. قائمة محصورة تَعرض كل المقالات ضمن فئة تحريرية واحدة. نفس مكوّن EditorialListingPage كالقائمة لكن مع scope=category و hero مُتَخَصِّص-بالفئة إضافي.

أقسام الصفحة

  1. A · Breadcrumb الفئة (Home → Editorial → {اسم الفئة})
  2. B · Hero الفئة (الاسم H1 + الوصف + chip عدد المقالات + chip آخر-تحديث + مقالة مميَّزة من هذه الفئة)
  3. C · شريط الفلتر (تعدّد-اختيار الموضوع، منسدلة الفرز)
  4. D · خلاصة المقالات (شبكة 3-أعمدة، scroll لانهائي)
  5. E · الفئات ذات الصلة (3 فئات أخرى قد يَستكشفها القارئ)
  6. F · كتلة النشرة (تَختار مُسبَقاً هذه الفئة في فلتر الاهتمام)
  7. G · Footer

C · عقد الفلتر

topic (تعدّد-اختيار)
المصدر: SELECT DISTINCT topic FROM EditorialArticle WHERE categorySlug = :categorySlug. query param: topic=csv.
sort (اختيار-واحد)
القيم: latest (افتراضي، publishedAt DESC) | most-read (viewCount DESC) | editor-picks (isEditorPick DESC، publishedAt DESC) | long-reads (readingTimeMinutes DESC) | short-reads (readingTimeMinutes ASC).