إشارات الاقتباس

:information_source: الملخص يضيف تنبيهات بأسلوب Obsidian كبديل لأقوال Markdown.
:eyeglasses: معاينة Theme Creator
:hammer_and_wrench: المستودع GitHub - Arkshine/discourse-quote-callouts · GitHub
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

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

يضيف مكون السمة هذا دعمًا لـ التنبيهات بأسلوب Obsidian في Discourse كبديل لأقوال Markdown.

تُعد التنبيهات طريقة رائعة لإبراز المحتوى وإضافة ملاحظات أو تحذيرات أو رسائل خاصة أخرى إلى منشوراتك.


الاستخدام

لإنشاء تنبيه، تتوفر لديك عدة طرق.

بناء الجملة Markdown

أضف [!type] إلى السطر الأول من اقتباس، حيث type هو معرف النوع. يحدد معرف النوع مظهر وشكل التنبيه. لمعرفة جميع الأنواع المتاحة، راجع الأنواع المدعومة.

:information_source: معرف النوع غير حساس لحالة الأحرف.

> [!tip] 
> **نصيحة**: استخدم `مقتطفات الكود` لتعزيز قابلية القراءة. فهي توفر الوضوح والدقة.

معاينة

يمكنك تغيير النوع بالنقر فوق الأيقونة: 

![chrome_atmmLf0v3c|690x209](upload://hZYzuK1MCwo7vsMEV9uYEZZOqjn.jpeg) 

محرر النصوص الغنية

مدعوم بالكامل الآن، يرجى الرجوع إلى قسم دعم محرر النصوص الغنية.

اختصار لوحة المفاتيح

  • Ctrl + q — إدراج تنبيه فارغ

شريط الأدوات

الدردشة

يتوفر زر في شريط الأدوات لإدراج تنبيه افتراضي.

عنوان مخصص

بشكل افتراضي، يكون عنوان التنبيه هو معرف النوع بصيغة العنوان. يمكنك تغييره بإضافة نص بعد معرف النوع:

> [!question] تسمية مخصصة 🤗
> يمكن تخصيص تسميات التنبيهات.

> [!abstract] [date=2032-12-22 timezone="Europe/Paris"]
> يمكن أن تحتوي أيضًا على تنسيق مضمن خاص مثل التواريخ الديناميكية.

يمكنك أيضًا إنشاء تنبيهات تحتوي على عناوين فقط:

> [!success] تم الحل.

chrome_z53bS1GCew

تنبيهات قابلة للطي

يمكنك جعل التنبيه قابلاً للطي عن طريق إضافة علامة زائد + أو ناقص - مباشرة بعد معرف النوع.

  • + يوسع التنبيه بشكل افتراضي
  • - يطويه بدلاً من ذلك
> [!todo]- قائمة المهام الخاصة بي
>
> - [x] كتابة الوثائق
> - [ ] إضافة اختبارات
> - [ ] مراجعة الكود

> [!todo]+ قائمة المهام الموسعة الخاصة بي
>
> - [x] إنشاء المستودع
> - [ ] إعداد CI/CD
> - [ ] النشر إلى بيئة الإنتاج

تُظهر الصورة مشروع Todoist بعنوان "arkshine" يحتوي على مربعات اختيار لـ "إنشاء المستودع" و"إعداد CI/CD" و"النشر إلى بيئة الإنتاج" تحت "قائمة المهام الموسعة الخاصة بي"، مع ظهور خيارات "قائمة المهام الخاصة بي" و"قائمة المهام الموسعة الخاصة بي". (وصفها الذكاء الاصطناعي)

تنبيهات متداخلة

يمكنك تضمين تنبيهات داخل مستويات متعددة.

> [!question] هل يمكن تضمين التنبيهات؟
>
> > [!todo] نعم! يمكن ذلك.
> >
> > > [!example] يمكنك حتى استخدام مستويات متعددة من التضمين.

> [!tip]
> إليك نصيحة مفيدة
>
> > [!info]
> > مع بعض المعلومات الإضافية
> >
> > > [!example]
> > > ومثال متداخل
>
> العودة إلى النصيحة الرئيسية

الأنواع الافتراضية المدعومة

يمكنك استخدام عدة أنواع من التنبيهات وبدائلها.
يأتي كل نوع مع لون خلفية وأيقونة مختلفة.

:information_source: يمكنك إنشاء تنبيهاتك الخاصة أو إدارة الافتراضية منها.
راجع إعداد callouts.

:information_source: أي نوع غير مدعوم سيُعتبر افتراضيًا من نوع note. راجع قسم البدائل الافتراضية لمزيد من المعلومات.

:information_source: معرف النوع غير حساس لحالة الأحرف.

النوع الوصف البدائل
note للملاحظات والمعلومات العامة -
abstract للملخصات أو الأقسام الموجزة summary, tldr
info للمحتوى المعلوماتي -
todo لقوائم المهام أو عناصر المهام -
tip للنصائح والمعلومات المهمة hint, important
success لرسائل النجاح check, done
question للأسئلة والأسئلة الشائعة help, faq
warning للتحذيرات caution, attention
failure لإشعارات الفشل fail, missing
danger لرسائل الخطر أو الأخطاء error
bug لتقارير الأخطاء أو المشاكل المعروفة -
example للأمثلة -
quote للاقتباسات cite

التخصيص

الأيقونة

يمكنك استخدام أيقونة من FontAwesome أو تقديم عنصر SVG مباشرة.

عنصر SVG

في حين توفر النسخة المجانية من FontAwesome العديد من الخيارات، قد تشعر أحيانًا بالقيود.
يمكنك تقديم عنصر SVG <svg>...</svg>.

مثال: أيقونات Lucile – مجموعة رائعة تتميز بميزة اختيار عرض الخط.

  1. حدد أيقونة
  2. اضبط عرض الخط
  3. انقر فوق نسخ SVG
  4. انتقل إلى إعدادات مكون السمة والصق المحتوى



image

البدائل الافتراضية

يمكنك تعيين قيم افتراضية في حال عدم العثور على نوع تنبيه محدد باستخدام الإعدادات التالية:

  • callout_fallback_type
  • callout_fallback_icon
  • callout_fallback_color
> [!discourse is fantastic]
> نعم.

التكوين العام

يمكنك تخصيص جوانب مختلفة من التنبيهات عبر:

  • شفافية الخلفية
  • خصائص الحدود (العرض، النمط، اللون، نصف القطر)
  • الحشو
  • خصائص خط العنوان (الحجم، الوزن)
  • المسافة بين الأيقونة والعنوان

التكوين لكل تنبيه

يمكن تخصيص كل نوع تنبيه بـ:

  • أيقونة مخصصة
  • نص العنوان
  • مخطط الألوان
  • خصائص الحدود

راجع قسم الإعدادات أدناه.

الإعدادات

القائمة
الإعداد الوصف
callouts تعريف التنبيهات.
callout_fallback_type نوع التنبيه الافتراضي المستخدم عند عدم العثور على النوع المحدد.
القيمة الافتراضية: note
callout_fallback_icon الأيقونة الافتراضية المستخدمة عند عدم العثور على النوع المحدد.
القيمة الافتراضية: far-pen-to-square
callout_fallback_color اللون الافتراضي المستخدم عند عدم العثور على النوع المحدد.
القيمة الافتراضية: #027aff
callout_background_opacity شفافية الخلفية العالمية للتنبيه (من 1 إلى 100).
القيمة الافتراضية: 10
callout_border_width عرض الحدود العالمي للتنبيه.
القيمة الافتراضية: empty
callout_border_style نمط الحدود العالمي للتنبيه.
القيمة الافتراضية: empty
callout_border_color لون الحدود العالمي للتنبيه.
القيمة الافتراضية: empty
callout_border_radius نصف قطر الحدود العالمي للتنبيه.
القيمة الافتراضية: var(--d-border-radius)
callout_padding الحشو العالمي للتنبيه.
القيمة الافتراضية: 0.75em 0.75em 0.75em 1.5em
callout_title_font_size حجم الخط العالمي لعنوان التنبيه.
القيمة الافتراضية: inherit
callout_title_font_weight وزن الخط العالمي لعنوان التنبيه.
القيمة الافتراضية: bold
callout_title_gap الفجوة العالمية بين أيقونة التنبيه والعنوان.
القيمة الافتراضية: 0.5em
callout_icon_sizep الحجم العالمي لأيقونة التنبيه.
callout_transition_duration_ms مدة أنيميشن الفتح والإغلاق (مللي ثانية).
svg_icons قائمة أيقونات FontAwesome 6 المستخدمة في مكون السمة هذا.

صفحة الإعداد لكل تنبيه:

الإعداد الوصف
النوع* نوع التنبيه.
سيتم استخدام هذا المعرف في بناء جملة التنبيه: [!type]
البديل البدائل للتنبيه، مفصولة بـ |.
مثال: cite|quote
الأيقونة أيقونة fontawesome للتنبيه.
قد تحتاج إلى إضافتها إلى إعداد svg_icons إذا لم تكن متوفرة في المجموعة الافتراضية.
بدلاً من ذلك، يمكنك تقديم عنصر SVG مباشرة، مثل <svg>...</svg>
حجم الأيقونة حجم أيقونة التنبيه.
ملاحظة: استخدم قيم CSS صالحة فقط، مثل 1em، 16px، 1.5rem
العنوان عنوان التنبيه.
إذا لم يتم توفير عنوان في التنبيه، سيتم استخدام هذا الإعداد.
ملاحظة: إذا كان كلاهما فارغًا، سيكون العنوان هو نوع التنبيه.
اللون لون التنبيه.
سيتم استخدامه للخلفية والعنوان والأيقونة.
ملاحظة: استخدم رموز الألوان السداسية العشر فقط، مثل #027aff
عرض الحدود عرض الحدود للتنبيه.
نمط الحدود نمط الحدود للتنبيه.
لون الحدود لون الحدود للتنبيه.
مهم: إذا كنت تستخدم دوال CSS لإنتاج قيمة ألفا، مثل rgba، تأكد من عدم استخدام مسافات بين القيم، مثل rgba(145,145,145,0.1)
نصف قطر الحدود نصف قطر الحدود للتنبيه.

* إعداد مطلوب

دعم محرر النصوص الغنية

يدعم هذا المكون الآن محرر النصوص الغنية في Discourse، مما يجعل إنشاء التنبيهات وتعديلها وتنظيمها أسهل.

إنشاء التنبيهات

يمكنك إدراج التنبيهات بعدة طرق:

  • اختصار لوحة المفاتيح: Ctrl + Q
  • زر شريط الأدوات
  • قواعد الإدخال:
    • /callout<:type>
    • !!<type>
  • دعم اللصق
فيديو

تعديل التنبيهات

تظهر أدوات التحكم في تعديل التنبيه فقط عند تحديده مسبقًا.

  • محدد النوع
    بالنقر فوق الأيقونة، سيظهر قائمة منبثقة.

  • عنوان مخصص
    يدعم التنسيق المضمن والإيموجي

  • الطي
    اجعل التنبيهات قابلة للطي. يمكن الوصول إليها من قائمة الخيارات.

فيديو

أدوات التحكم في التحريك

  • سطح المكتب

    • السحب والإفلات باستخدام مقبض
  • الأجهزة التي تعمل باللمس

    • تحريك التنبيهات لأعلى/لأسفل
    • تضمينها داخل تنبيهات مجاورة
    • معطل افتراضيًا (يمكن تمكينه في الخيارات)
فيديو

التنقل بلوحة المفاتيح

يحسن التنقل داخل التنبيهات المتداخلة:

  • في بداية العنوان يفتح محدد النوع
  • / داخل المناطق الفارغة ينشئ/يحذف الفقرات
  • Enter في العنوان ينقل المؤشر إلى الجسم
فيديو

النقر للإدراج

  • انقر في المناطق الفارغة لإنشاء فقرة
  • تسمح الأزرار الاختيارية بإدراج المحتوى داخل أو خارج التنبيهات
فيديو

خارطة الطريق

قد تشمل خطط التطوير المستقبلية:

  • إكمال الأنواع تلقائيًا أثناء الكتابة

الاعتمادات

54 إعجابًا

رائع!\n\nأعتقد أنه يمكن استخدام هذا الغرض:\n\nAdditional Post "Colour" coding

6 إعجابات

يبدو هذا استخدامًا صالحًا!

8 إعجابات

رائع! أنت عظيم

4 إعجابات

هذه إضافة رائعة. أكثر بكثير مما بدا أن المناقشة الأساسية تتضمنه (مع العلم أنني لم أستخدم Obsidian).

إعجابَين (2)

هذا يبدو مذهلاً. هل سيتم تنسيق التنبيهات بشكل صحيح في البريد الإلكتروني أيضًا؟

إعجابَين (2)

عندما أضفت هذه المكونات إلى موقعي، تلقيت رسالة خطأ مفادها:

:warning: قد لا يعمل موقعك لأن سمة / مكون يحتوي على أخطاء.
ناتج عن ‘اقتباسات’. انقر هنا للتحديث أو إعادة التكوين أو التعطيل.

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

ما هو إصدار Discourse الذي تستخدمه؟

أنا أستخدم Tests-passed (3.5 beta) ويبدو أنه يعمل بشكل جيد.

إذا كنت تستخدم Stable، فقد لا تزال تستخدم الإصدار 3.4 أو ربما إصدارًا أقدم حيث تم طرح الإصدار 3.4 للتو على Stable.

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

آه، لم أقم بالترقية مؤخرًا بسبب أمور PostgreSQL. سأبلغ عندما أفعل ذلك!

إعجابَين (2)

لست متأكدًا مما إذا كان هذا هو الحال.. ولكن هناك مشتبه به محتمل نظرًا لأن العديد من التغييرات قد تم طرحها فيما يتعلق بكيفية تغير هياكل TC وما إلى ذلك. مثل الانتقال إلى مكونات Glimmer.

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

للأسف، لا أعتقد ذلك. سيتطلب ذلك إضافة.

ما هو إصدار Discourse الحالي لديك؟

إعجابَين (2)

لقد قمت بالتحديث إلى أحدث إصدار وهو يعمل الآن.

للأسف، فإن الافتقار إلى دعم البريد الإلكتروني يجعل هذا غير قابل للاستخدام في حالتنا. معظم أعضائنا مشتركين في مجموعات وفئات، وبالتالي يقرؤون الرسائل في بريدهم الإلكتروني. يا للأسف!

3 إعجابات

قد أحاول إنشاء إصدار إضافي لاحقًا!

7 إعجابات

هذه إضافة رائعة لـ Discourse! :heart: :heart: :heart:

هذا بالضبط ما نفتقده في جوهر Discourse، على الأقل الأنواع الأربعة الأكثر شيوعًا من التنبيهات مثل المعلومات والخطر والتحذير والنجاح. لقد كنا نستخدم تنسيق الاقتباس + الرموز التعبيرية لفترة من الوقت وبالتأكيد سنجرب هذا :slight_smile:

5 إعجابات

أحب ما قمت به هنا!

6 إعجابات

شكرا جزيلا!

إعجابَين (2)

مرحباً، هناك شيء واحد فقط، يظهر رمز استدعاء الاقتباس في المقتطفات على صفحتي الرئيسية، سيكون من الأفضل لو لم يظهر:

3 إعجابات

@patrickemin هل يمكنك اختبار الإصدار الأخير؟ يجب أن ينظف مقتطف الموضوع الآن.

4 إعجابات

نعم يعمل شكرا لك!

إعجابَين (2)

شكراً لك على مكون السمة، لقد أعجبني كثيراً!

للأسف، اضطررت إلى تعطيله مؤقتاً لأنه كان يسبب مشاكل بصرية في موقعي ورأيت ما يلي في وحدة التحكم التي تمكنت من تتبعها إلى استدعاءاتك callouts.gjs

إعجابَين (2)