تم مناقشة هذا الأمر في خيطين آخرين بالفعل، لكنهما مقفلان:
يُشير بعض الأشخاص إلى أنه ينبغي علينا بدلاً من ذلك العمل على إعادة هيكلة علامة “Discourse” التجارية لتتناسب مع تصميم موقع موجود.
من واقع الخبرة، فإن هذا الأمر صعب للغاية. فعلامات التنسيق (Markup) وCSS الخاص بها معقدان للغاية في التعامل معهما وغير مرنين. وعلى سبيل المثال، أشجار DOM بين رأس الصفحة (Header) في Discourse والمحتوى الرئيسي تختلف اختلافاً كبيراً عن بعضها البعض. فإدراج محتوى الرأس (في محرر Discourse المدمج) يضع المحتوى المُدرج بعيداً جداً عن رأس الصفحة الفعلي في Discourse، على سبيل المثال.
صدّقني، من الصعب جداً ببساطة “جعل Discourse يتبع موضوع موقعك الرئيسي”.
ما أود تجربته في الخطوة التالية هو تضمين Discourse داخل وسم <iframe>. لنرَ كيف تسير الأمور.
طلب ميزة! سيكون رائعاً لو أمكن استخدام Discourse كمجموعة من العناصر المخصصة. على سبيل المثال:
<!-- ... بعض علامات التنسيق المخصصة ... -->
<discourse-actions backend="http://url.to/actual/discourse/instance">
<!-- ... بعض علامات التنسيق المخصصة ... -->
<discourse-main backend="http://url.to/actual/discourse/instance">
وهو ما قد يسمح بتضمين أجزاء من Discourse في أي مكان داخل موقع، مع اتصال العناصر بالخادم الخلفي (backend) المحدد.
وسوف يؤدي زيارة http://url.to/actual/discourse/instance مباشرة إلى فتح Discourse بالطريقة المعتادة كتطبيق ويب مستقل.
بشكل أساسي، سيجعل هذا الأجزاء من Discourse قابلة للاستخدام ضمن هياكل HTML شاملة (مثل أجزاء القوالب في Handlebars، ولكن بطريقة آمنة للمستقبل مبنية على معايير الويب).
فقط تخيل ما هو ممكن آخر مع ميزة كهذه (فكر في الحالة التي يكون فيها للعناصر المخصصة قيم مختلفة لسمات backend)…
