Discourse Qingwa Timelines - BBCode مخصص لتخطيطات جداول زمنية جميلة

:information_source: ملخص مكون سمة Discourse لإنشاء تخطيطات خطوط زمنية جميلة
:eyeglasses: معاينة https://meta.appinn.net/t/topic/76953
:hammer_and_wrench: المستودع GitHub - scavin/discourse-qingwa-timelines
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

تثبيت مكون السمة هذا

يسعدني أن أشارك مكون سمة جديد يضيف تخطيطات خطوط زمنية أنيقة إلى مجتمع Discourse الخاص بك!

هذا هو أول مكون سمة لي، تم بناؤه بمساعدة LLM.

ما هو؟

Discourse Timelines هو مكون سمة ينفذ BBCode مخصص [timelines]...[/timelines] لإنشاء تخطيطات خطوط زمنية جميلة وبسيطة. مثالي لخرائط طريق المشاريع، والأدلة خطوة بخطوة، وتواريخ الشركات، وتقسيم الفصول، والمزيد.

تأثير الخط الزمني المنشور

زر شريط أدوات المحرر

عرض محرر Markdown

الميزات الرئيسية

:white_check_mark: BBCode مخصص - بناء جملة بسيط [timelines]
:white_check_mark: زر شريط أدوات المحرر - لا حاجة لكتابة العلامات يدويًا (يحل مشكلة هروب الأقواس في المحرر الجديد!)
:white_check_mark: تصميم جميل - خط تدرج عمودي بجمالية نظيفة وبسيطة
:white_check_mark: دعم Markdown - يحافظ على جميع التنسيقات داخل الخطوط الزمنية
:white_check_mark: متعدد اللغات - ترجمات مدمجة لـ 9 لغات (EN, ZH_CN, ZH_TW, DE, ES, FR, JA, KO, RU)
:white_check_mark: متوافق مع السمات - يعمل مع الوضعين الفاتح والداكن
:white_check_mark: قابل للتخصيص - تغيير الألوان بسهولة عبر إعدادات المسؤول
:white_check_mark: متجاوب - تخطيط مناسب للجوال
:white_check_mark: آمن - حماية XSS مدمجة
:white_check_mark: لا تبعيات - يستخدم واجهات برمجة تطبيقات Discourse الأصلية فقط

الاستخدام

استخدام زر شريط الأدوات (الأسهل!)

  1. افتح المحرر
  2. انقر على زر قائمة “+” (خيارات)
  3. حدد “إدراج خط زمني”
  4. قم بتحرير المحتوى الخاص بك
  5. انشر!

يحل زر شريط الأدوات المشكلة حيث يقوم محرر Discourse الجديد تلقائيًا بتهريب الأقواس المربعة المكتوبة يدويًا.

مثال على بناء الجملة

[timelines]
## يناير 2024 - إطلاق المشروع
تم إطلاق المشروع رسميًا، وتم تشكيل الفريق.
​
## مارس 2024 - الإصدار الأول
اكتمل تطوير الوظائف الأساسية وبدأت الاختبار التجريبي.
​
## يونيو 2024 - الإصدار 2.0
تحديث رئيسي بميزات جديدة:
- الميزة أ
- الميزة ب
- الميزة ج
[/timelines]

التخصيص

يمكن تخصيص جميع الألوان عبر إعدادات السمة:

  • timeline_gradient_start - لون التدرج العلوي (الافتراضي: #ff7a18)
  • timeline_gradient_end - لون التدرج السفلي (الافتراضي: #ffb800)
  • timeline_heading_color - لون نص العنوان (الافتراضي: #d96d14)
  • timeline_dot_color - لون نقطة الخط الزمني (الافتراضي: #ff7a18)
  • timeline_heading_color_dark - لون العنوان في الوضع الداكن (الافتراضي: #ff9854)
  • timeline_dot_border_color_dark - حدود النقطة في الوضع الداكن (اختياري)

آمل أن تجد هذا المكون مفيدًا! يرجى إعلامي إذا كانت لديك أي أسئلة أو ملاحظات أو اقتراحات. :blush:

25 إعجابًا

هذه مكونات لطيفة جداً! مفيدة جداً.

3 إعجابات

هل يدعم هذا أيضًا الصور/الفيديو؟

نعم، إنه يدعم الصور ومقاطع الفيديو.

إليك عرض توضيحي سريع[رابط العرض التوضيحي]

Screen-20251114144915@2x
Screen-20251114144924@2x

إعجاب واحد (1)

حلو جداً بالفعل. عمل رائع!

هل يعمل هذا مع DiscoTOC؟

يبدو أنه يعتمد على العناوين الأكبر، مما يجعله أقل مرونة قليلاً مع التسلسل الهرمي لجدول المحتويات.

لقد اختبرته باستخدام DiscoTOC ولم أجد أي مشاكل.

لقد أضفت جدول محتويات في صفحة العرض التجريبي — لا تتردد في فتحه ورؤية كيف يعمل.

إعجاب واحد (1)

شكرًا لك على هذا المرجع.

عند استخدامه في منشور مع جدول المحتويات التلقائي (autoTOC)، فإنه يبرز بالاعتماد على تنسيق العنوان 2 والعنوان 3 (markdown). هل هناك أي طريقة لتحويله لاستخدام العنوان 4 أو 5 بدلاً من ذلك/بالإضافة إليه لمزيد من المرونة؟

إذا ظهر المخطط الزمني في مكان أبعد في التسلسل الهرمي لجدول المحتويات، مثل بعد عنوان 2 أو 3، فإنه يتسبب في أن يبدو جدول المحتويات غير مرتب بصريًا.

تعديل: يمكنني وضع هذا داخل وسوم [details] وهذا يزيل عناوين المخطط الزمني من الظهور في جدول المحتويات. حل بديل معقول لأغراضي على أي حال.

إعجابَين (2)

شكرًا على الاقتراح! سأبحث في كيفية تحسين هذا.

إعجاب واحد (1)

يمكنك الآن إبقاء عناوين الخط الزمني خارج جدول المحتويات (TOC) دون حلول بديلة:

استخدم العناوين الزائفة داخل [timelines] عن طريق إضافة البادئة ##! (لتنسيق H2) أو ###! (لتنسيق H3).

مثال:

[timelines]

##! 2020 – Foundation
المحتوى...
[/timelines]

يتم عرض هذه العناوين كـ H2/H3 داخل الخط الزمني ولكن لا يتم التعامل معها كعناوين حقيقية، لذا يظل جدول المحتويات التلقائي (autoTOC) مرتبًا بغض النظر عن مكان وجود الخط الزمني.

إذا كنت تريد أن تبقى عناوين الخط الزمني في جدول المحتويات، فاستمر في استخدام ##/### العادية.

في الوقت الحالي، إذا كان هناك حتى ##! واحد (أو ###!) داخل [timelines]، فسوف يتخطى جدول المحتويات الخط الزمني بأكمله.

خلط كلا النمطين في نفس الخط الزمني غير مدعوم بعد.

يمكنك مزجها الآن: لا يزال ##/### يظهران في جدول المحتويات، بينما يتم عرض ##!/###! فقط داخل الخط الزمني ويبقى خارج جدول المحتويات.

يرجى تحديث المكون وتجربته.

3 إعجابات

هذه فكرة حل بديلة ذكية!

بدا أن هذا يعمل بشكل جيد لـ

[timelines]
##! 2020 - Foudnation
Content...
###! March
Content
[/timelines]

ولكن ليس لرأس زائف ثانٍ يتبع قائمة تنسيق أخرى:

[timelines]
##! 2020 - Foundation
* Listicle
###! March
Dooooooom!
[/timelines]

يفضل الرأس الزائف الأول أيضًا أن يكون متداخلاً مع وسم الفتح [timelines] لتجنب تنسيق سطر فارغ أعلاه. مثل:

[timelines]##! 2020 - Foundation
Content...
[/timelines]

وإلا سيكون هناك فجوة فوق الرأس الزائف الأول كما لو كان سطر كتلة زمنية عاديًا غير رأسي.

شكرًا لك على عملك في هذا الأمر، فقد أصبح مرنًا للغاية في الاستخدام الآن.

إعجاب واحد (1)

شكرًا على التنبيه.

أرى نفس الشيء. حاليًا، يتم عرض هذه بشكل صحيح:

  [timelines]##! 2020 - Foundation
  Content...
  [/timelines]

و

  [timelines]

  ##! 2020 - Foundation
  Content...
  [/timelines]

لكن هذا لا يعمل:

  [timelines]
  ##! 2020 - Foundation
  Content...
  [/timelines]

أنا أبحث في الأمر ولكني لم أستقر على الإصلاح الصحيح بعد. :joy:

إعجابَين (2)

يبدو أن الشفرة تقوم بالتنشيط أيضًا في أي مكان يوجد فيه [timelines] في المنشور، حتى لو كان مغلفًا بعلامات اقتباس خلفية مثل أعلاه. لا يبدو أن الهروب باستخدام الشرطة المائلة العكسية \\[timelines] يحدث فرقًا أيضًا.

تحديث: تبدو علامات [timelines] و [/timelines] وكأنها تهرب من فواصل الأسطر وتظهر في نفس السطر مع أقرب نص في كتل الشفرة بثلاث علامات اقتباس خلفية ```

لذا

[timelines]
Blah
Blah
[/timelines]

يظهر كـ

[timelines]Blah
Blah[/timelines]

واجهت هذا أثناء كتابة دليل لاستخدامه، لذا من المحتمل أن تكون حالة طرفية فقط.