مرحباً، أنا جديد على Discourse وأحببت ميزاته ووظيفته حقاً. أرغب في تخصيص مظهره وطريقة عرضه للمحتوى بشكل كبير. لقد قرأت العديد من المواضيع والمنشورات محاولاً فهم ذلك. لدي خبرة في برمجة جافاسكريبت، لكنني أجد صعوبة في الفهم. بالتخصيص الكبير أعني: إزالة الشريط الجانبي، وإضافة عناصر تنقل إلى الشريط العلوي. عرض المواضيع مع اسم المؤلف، والصورة الرمزية، والموضوع، ونص المعاينة، بالإضافة إلى أحدث رد ومعاينة للرد مع الصورة الرمزية واسم المؤلف للرد. تجميع المواضيع تحت فئات في قائمة كبيرة واحدة من الفئات ومواضيعها (الطريقة القديمة). أعتقد أنني بحاجة إلى فهم كيفية تجاوز البيانات التي يتم عرضها، أو جلبها ثم عرضها، وأنا مرتبك بشأن أفضل طريقة للقيام بذلك. هل سيكون “سمة” واحدة؟ هل سيكون مكون سمة؟ هل سيكون إضافة (plugin)؟ هل سيكون هناك سمات ومكونات وإضافات متعددة؟ ما الفرق بين المكون والإضافة؟ أتمنى لو كان هناك فيديو على يوتيوب يوضح تطوير “سمة” مخصصة بشكل كبير كهذه. أنا حالياً أجمع قائمة بـ “إضافات؟” تقوم بأشياء مشابهة لما أريد تحقيقه وأحاول قراءة أكوادها وفهمها، لكن يا رجل، الأمر مربك حقاً عند القدوم إلى هذا “طازجاً”. أتعلم بشكل أفضل من خلال مشاهدة مقاطع الفيديو أكثر من القراءة. أي نصائح أو مشورة أو مقاطع فيديو ربما لم أكن على علم بها؟ أي مساعدة ستكون محل تقدير كبير.
Falco
(Falco)
8 نوفمبر 2023، 3:28ص
2
نظرًا لأن التغييرات التي تريدها ستتضمن جلب بيانات إضافية للصفحات، فلن يكون المظهر أو المكون كافيين، بل تحتاج إلى إضافة (plugin) لتحقيق رؤيتك.
شكرا لدي الكثير من القراءة للقيام بها. آمل أن يبدأ كل شيء في الظهور. لقد وجدت موضوعًا ذا صلة حقًا:
في المثالي، عند تخصيص Discourse عبر السمات/الإضافات، يجب عليك استخدام CSS، أو واجهة برمجة تطبيقات JavaScript Plugin ، أو فتحات الإضافات (plugin outlets) . إذا لم تنجح أي من هذه الخيارات لحالتك، فلا تتردد في فتح طلب سحب (PR) إلى نواة Discourse أو بدء موضوع في Development هنا على Meta. نحن سعداء دائمًا بمناقشة إضافة فتحات/واجهات برمجة تطبيقات جديدة لتسهيل التخصيص.
إذا استنفدت جميع الخيارات الأخرى، فقد تضطر للجوء إلى تجاوز القوالب (template overrides). تتيح لك هذه التقنية تجاوز قالب أي مكوّن Ember أ…
ثم، أشارك فقط بعض الروابط/الملاحظات للآخرين الذين قد يكونون في نفس القارب:
قوالب HTML موجودة في https://github.com/discourse/discourse/tree/main/app/assets/javascripts/discourse/app/templates
دليل المبتدئين للمظاهر:
هذه دورة مكثفة في أساسيات سمات Discourse. الجمهور المستهدف هو كل من ليس على دراية بسمات Discourse. إذا كنت قد استخدمت بالفعل سمة Discourse / مكونات السمة، فمن المرجح أن هذا الدليل ليس شيئًا تحتاج إلى قراءته.
ما هي السمات ومكونات السمة؟
السمة أو مكون السمة هو مجموعة من الملفات المعبأة معًا مصممة إما لتعديل Discourse بصريًا أو لإضافة ميزات جديدة.
لنبدأ بالسمات.
السمات
بشكل عام، لا ينبغي أن تكون السمات متوافقة مع بعضها البعض لأنها في جوهرها تصاميم مستقلة مختلفة. فكر في السمات مثل الجلود، أو مثل…
دليل المطورين للمظاهر:
يمكن استخدام سمات Discourse (Discourse Themes) ومكونات السمات (Theme Components) لتخصيص مظهر وشعور ووظائف الواجهة الأمامية لـ Discourse. يهدف هذا القسم من أدلة المطورين إلى توفير جميع المواد المرجعية التي تحتاجها لتطوير سمات بسيطة لموقع واحد، وصولاً إلى مكونات السمات المعقدة مفتوحة المصدر.
يهدف هذا التمهيد إلى توفير خريطة لجميع الأدوات وواجهات برمجة التطبيقات (APIs) لتطوير السمات. إذا كنت تفضل برنامجًا تعليميًا خطوة بخطوة لتطوير السمات، انتقل مباشرة إلى:
السمات مقابل مكونات السمات
يمكن استخد…
دليل المصممين للمظاهر:
هذا ممكن، وهي الطريقة التي أوصي بها. الشيء الوحيد الذي تحتاج إلى الانتباه إليه هو أن هذه التغييرات ستكون مباشرة على المنتدى مع كل تغيير تجريه.
ما أفعله هو تعيين السمة لتكون قابلة للاختيار من قبل المستخدم، وتغيير تفضيل المستخدم الشخصي إلى تلك السمة، مع الاحتفاظ بالسمة الافتراضية كخيار لجميع المستخدمين الآخرين. هذا يسمح لك فقط برؤية أي مشاكل قد تنشأ أثناء تطبيق السمة.
إنشاء مكون مظهر:
مكون مظهر للكشف عن مواقع منافذ المكونات الإضافية (أماكن لحقن html/script/styles جديدة):
Contribute to communiteq/plugin-outlets-theme-component development by creating an account on GitHub.
تطوير المكونات الإضافية:
تعلم البدء في بناء الأشياء:
There are a few ‘how to start’ guides for working with Discourse already and a wealth of useful info on meta, but I thought it might help to give an insight to the mental processes of starting from little, if any, prior coding experience to building substantial Discourse plugins.
Discourse is written by experienced developers and has a large codebase. This can feel intimidating. This intimidation factor can be a significant barrier for novice developers. This is a kind of ‘psychological primer’…
تثبيت Discourse على Ubuntu/Debian للتطوير:
تغطي هذه الدليل تعليمات التثبيت في بيئة التطوير. للحصول على دليل الإنتاج، راجع: Install Discourse in production with the official supported instructions
هل تريد إعداد Discourse على Ubuntu أو Debian للتطوير والعمل عليه؟
سنفترض أنك تعمل محليًا ولم تقم بتثبيت Ruby/Rails/Postgres/Redis على نظام Ubuntu أو Debian الخاص بك. لنبدأ!
المتطلبات
نقترح وجود 4 جيجابايت من ذاكرة الوصول العشوائي (RAM) و 2 نواة معالج (CPU) على الأقل.
التوافق الحالي:
نظام التشغيل
التوافق
Debian 11
…
ما أريد تعديله حقًا هو “قائمة الموضوعات” أو الصفحة الرئيسية
• لقد أنشأ هذا المظهر بالفعل تنسيق قائمة الموضوعات المطلوب:
• اسم المؤلف + الصورة الرمزية:
Author name plus avatar أو Show Original Poster Avatars
• مجموعات الفئات:
• أيقونات الفئات المميزة:
يمكن أيضًا تجربة محرر المظاهر عبر الإنترنت:
إضافات:
• تسجيل الدخول الأحادي؟ SSO
يُعد DiscourseConnect ميزة أساسية في Discourse تتيح لك تكوين “تسجيل الدخول الموحد (SSO)” لتفويض جميع عمليات تسجيل الدخول وتسجيل المستخدمين من Discourse بالكامل إلى موقع آخر. متوفر لعملائنا في خطط الاستضافة الاحترافية، التجارية، والمؤسسية .
(فبراير 2021) تم تغيير اسم “Discourse SSO ” إلى “DiscourseConnect ”. إذا كنت تشغل إصدارًا قديمًا من Discourse، فستُسمى الإعدادات أدناه sso_... بدلاً من discourse_connect_...
المشكلة
تود العديد من المواقع التي ترغب في التكامل مع موقع Dis…
• بوت Discord
غرض هذا الإضافة
تقوم هذه الإضافة بعدة مهام:
تتيح لك تشغيل روبوت Discord باستخدام خادم Discourse الخاص بك للقيام بأشياء تربط النظامين معًا. انسخ هذا المستودع وقم بتوسيعه باستخدام Ruby بسيط لإنشاء جميع أنواع وظائف الروبوت.
الوظائف الموجودة لتقديم أمثلة وأدوات مفيدة:
توفر نشرًا تلقائيًا ثنائي الاتجاه للمحتوى الذي يستوفي بعض المعايير.
أمر لنسخ الرسائل بشكل فردي إلى Discourse.
أمر لمزامنة عضوية المجموعات مع عضوية الأدوار في خادم Discord الخاص بك مع مثيل Discourse الخاص بك.
توفر الإضافة هيك…
pfaffman
(Jay Pfaffman)
8 نوفمبر 2023، 5:14ص
4
SinisterSpatula:
إزالة الشريط الجانبي
يمكنك القيام بذلك عن طريق النقر على أيقونة الهامبرغر، لذا سيكون ذلك سهلاً للغاية.
ألقِ نظرة على روابط الرأس المخصصة
قد يساعدك ذلك في البدء.