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

قد يكون هناك خطأ هنا، فتمكين هذا (مع تعطيل الأصلي) أدى إلى مشاكل للحسابات التي لا تملك صلاحيات المسؤول. لست متأكدًا مما تعارض بالضبط، ولكن تم إخفاء بعض المواضيع وأصبح التنقل في الفئات/العلامات غير قابل للاستخدام على الإطلاق للحسابات غير المسموح لها (TL1).

سأنتظر تحديث Arkshine.

إعجابَين (2)

أرى ما يلي عند التحديث اليوم

[إشعار المسؤول] يحتوي المظهر ‘اقتباس الدعوات’ على رمز يحتاج إلى تحديث. (id:discourse.widgets-decommissioned) (تعلم المزيد)

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

لقد دفعت إصلاحًا، هل يمكنك تحديث المكون وتجربته؟ :folded_hands:

7 إعجابات

يعمل بشكل جيد حتى الآن!

إعجابَين (2)

أواجه مشكلة الآن، حيث لا يمكن طي/توسيع كتل الاقتباس الآن

هل تمانع في لصق مثال قابل للاستنساخ هنا أو رابط لمنشورك في المنتدى (لا تتردد في إرسال رسالة خاصة لي إذا كنت تفضل ذلك)؟

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

بالتأكيد، هذا هو أسفل الموضوع

إليك تحديث يحدّث المكوّن ويدعم محرر النصوص المنسّق! :rocket:
قد يحتاج إلى بعض التنقيح أو قد تكون هناك حالات طرفية غير متوقعة، لكنني أعتقد أنه بداية جيدة إلى حد ما. :folded_hands:

باختصار

  • يضيف دعم محرر النصوص المنسّق (انظر أدناه للحصول على نظرة عامة مفصّلة)
  • يحوّل العرض إلى مكوّن glimmer
  • يصلح لون CSS مع الاستدعاءات المتداخلة
  • يصلح لون CSS مع الاسم المستعار (alias)
  • يجب أن يكون الرسوم المتحركة للطي أكثر سلاسة
  • يضيف الإعداد callout_transition_duration_ms (رسوم متحركة للطي)
  • يضيف اختصار Ctrl + q لإدراج استدعاء افتراضي.
    يعمل هذا الاختصار في كلا المحررين، ويُضاف إلى نافذة اختصارات لوحة المفاتيح.
    صور
  • الدردشة (Chat): يضيف زرًا في الشريط العلوي لإدراج استدعاء افتراضي
    صور
  • معاينة ماركداون (Markdown Preview): يضيف القدرة على تغيير النوع عن طريق النقر على الأيقونة
    صورة

محرر النصوص المنسّق

دعنا نتحدث عن محرر النصوص المنسّق وما يمكن توقعه!

إنشاء الاستدعاءات (Callouts):

لديك أربع طرق لإدراج الاستدعاءات:

  • اختصار لوحة المفاتيح
  • الشريط العلوي (Toolbar)
  • قواعد الإدخال (Input rules)
    • /callout<:type>
    • !!<type>
  • دعم اللصق (Paste support)
    فيديو

تعديل الاستدعاءات

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

  • مُحدِّد النوع (Type chooser)
    بالنقر على الأيقونة، ستظهر قائمة عائمة.
  • عنوان مخصص (Custom Title)
    يدعم التنسيق المضمن والرموز التعبيرية (emoji)
  • الطي (Folding)
    يمكن جعل الاستدعاءات قابلة للطي. يمكن الوصول إليه من قائمة الخيارات.
    فيديو

تنظيم الاستدعاءات

  • أدوات النقل (Move controls)

    • سطح المكتب (Desktop)
      يوجد مقبض تسحبه لإفلات الاستدعاء بالسحب والإفلات.
    • جهاز يعمل باللمس (Touch device)
      يمكنك تحريك الاستدعاءات لأعلى/لأسفل أو تعشيشها داخل الاستدعاءات المجاورة. يتم تعطيل هذا افتراضيًا لتجنب التضخم في العرض، حيث أن هذا ليس شيئًا ستفعله بشكل متكرر. يمكنك التبديل في الخيارات.
    فيديو

  • التنقل بلوحة المفاتيح (Keyboard navigation)
    يساعد هذا في تسهيل الانتقال داخل الاستدعاءات المتداخلة والخروج منها.
    قد يتطلب بعض التعديلات المستقبلية لجعل السلوك متسقًا في هذا الإصدار.

    • عند بداية العنوان، سيتم فتح مُحدِّد الاستدعاء تلقائيًا.
    • داخل نص الاستدعاء الذي لا يحتوي على فقرة للهبوط عليها، سيقوم بإنشاء فقرة؛ إذا خرجت بمحتوى فارغ، تتم إزالة الفقرة.
    • Enter داخل العنوان ينقل المؤشر إلى النص (ويقوم بإنشاء فقرة إذا لزم الأمر).
    فيديو

  • النقر للإدراج (Click-to-insert)

    • في المناطق التي لا يوجد بها فقرة، يمكنك النقر في الداخل لفتح فقرة.
    • إذا كنت تفضل، يمكنك أيضًا استخدام الأزرار لفتح فقرة داخل أو خارج الاستدعاء.
      فيديو

من المحتمل أن أبحث لاحقًا عن:

  • إكمال تلقائي لقواعد الإدخال
  • تحسين اللون باستخدام CSS الحديث، لضمان الاتساق والرؤية، خاصة في الوضع الداكن.
  • أتمنى إزالة جميع الإعدادات والتركيز على البساطة أولاً، مع تخصيص متقدم باستخدام CSS فقط، لكن فات الأوان لذلك :rofl:

شكر خاص لـ Moin لإعطائي ملاحظات.

هذا كل شيء. أخبرني برأيك. التقييمات مرحب بها للغاية!

7 إعجابات

لاحظت أنك صممت تأثيراً كهذا: إذا كان لنوع معين أسماء مستعارة متعددة، فعند تحديد النوع في محرر النص المنسق، يظهر كل اسم مستعار كخيار، ويتم وضعهما بشكل متتالٍ.
هذا تصميم جيد، ولكن يبدو أنه يحتاج إلى مزيد من التوسع: إذا لم يتم تحديد عنوان (Title)، فسيظهر نوع “callout” (تنبيه)، وبالتالي ستعرض هذه الخيارات المتتالية التي تشترك في نفس مخطط الألوان النهائي أسماء وعناوين مختلفة؛ ولكن إذا تم تحديد عنوان، فسيتم عرض واستخدام نفس العنوان في القائمة كما هو الحال عند إنشاء اقتباس (Quote) فعلياً، وهو أمر مربك بعض الشيء.
إذا كان تطبيق هذا التوسع صعباً، أعتقد أنه ربما يمكن توفير خانة اختيار لمنع إضافة إدخالات إضافية في قائمة اختيار النوع تتوافق بشكل واحد لواحد مع الأسماء المستعارة عند تحديد عنوان. :slightly_smiling_face:

3 إعجابات

أنت على حق! شكرًا على الملاحظات، من الجيد رؤية أشخاص يستخدمون مركز التحكم (TC).
في الواقع، فكرت في الأمر في مرحلة ما، لكنني نسيت تمامًا إصلاحه. :grinning_face_with_smiling_eyes:
سأعمل على إصلاح لتصفية القائمة بشكل صحيح عند تعيين العنوان.

إعجابَين (2)

لقد دفعت إصلاحًا. أعلمني كيف يسير الأمر! :+1:

3 إعجابات

لقد اختبرت للتو أحدث إصدار، والآن لن يعرض سوى تلك التي تحمل عنوانًا واحدًا فقط في قائمة اختيار الفئة، بغض النظر عن عدد الأسماء المستعارة الموجودة. :smiley:

3 إعجابات

أواجه الخطأ التالي، فقط عند استخدام الترجمة de*:

لقطة شاشة لشريط أحمر يشير إلى خطأ في Quote Callouts

وحدة تحكم JS:

client-error-handler.js:109 [THEME 6 'Quote Callouts'] TypeError: Cannot set properties of undefined (setting 'callout_sample')
    at new po (callouts.gjs:30:19)
    at callouts.gjs:265:23
    at eK (plugin-api.gjs:3582:10)
    at Object.initialize (callouts.gjs:264:5)
    at i.initialize (app.js:304:28)
    at index.js:375:19
    at e.each (index.js:183:7)
    at e.walk (index.js:112:10)
    at e.each (index.js:59:20)
    at e.topsort (index.js:65:10)
    at ij._runInitializer (index.js:388:11)
    at ij.runInstanceInitializers (index.js:373:10)
    at l._bootSync (instance.js:111:22)
    at ij.didBecomeReady (index.js:780:18)
    at invoke (index.js:262:14)
    at m.flush (index.js:180:11)
    at g.flush (index.js:334:19)
    at Y._end (index.js:762:32)
    at Y._boundAutorunEnd (index.js:499:12)
h	@	client-error-handler.js:109

يحدث الخطأ في السطر الأخير من هذا الاقتباس:

class QuoteCallouts {
  constructor(owner, api) {
    [...]
    window.I18n.translations[
      window.I18n.fallbackLocale || "en"
    ].js.composer.callout_sample = ``;

* تعيين /u/<username>/preferences/interface “لغة الواجهة” إلى “الألمانية (Deutsch)”

يبدو أن الخطأ قد تم إدخاله في أحد آخر تحديثات Discourse بين 2026.3.0-latest و 2026.4.0-latest، لكنني لا أستطيع تحديد مكانه بدقة أكبر. حاليًا، أنا عند الإصدار 2026.4.0-latest 4b2c45376d و Quote Callout v0.0.1 9aa6548

إعجابَين (2)

كنت أعتقد حقًا أن هذه المشكلة قد تم حلها.
هل تم ضبط موقع اللغة الافتراضي على الإنجليزية (الولايات المتحدة)، بينما تم ضبط لغة المستخدم على الألمانية، هل هذا صحيح؟

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

نعم، هذا قد حل المشكلة. شكرًا لك! <3

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

مرحبًا @Arkshine، شكرًا لك على إضافة رائعة!

هل من الممكن استخدام الملاحظة دون عنوان على الإطلاق أو مع أيقونة فقط بدلاً من ذلك؟

إعجابَين (2)

لا أعتقد أنه يمكنك فعل ذلك في الوقت الحالي، لكنني سأفكر في طريقة للقيام بذلك في التحديث القادم!

في غضون ذلك، هناك حيلة: قم بإدراج مساحة عريضة صفرية، وستعمل :grinning_face_with_smiling_eyes:. يمكنك نسخها من هذه الصفحة على سبيل المثال: ​ U+200B ZERO WIDTH SPACE - Unicode Explorer


أخبرني إذا كان ذلك يعمل معك.

4 إعجابات

أعتقد أن الأمر نجح! شكرًا لك! :heart_eyes:

إعجابَين (2)

مرحبًا بك، @Arkshine :waving_hand:

هل من الممكن الاحتفاظ بلون الملاحظة الأصلي عند استخدام ميزة إخفاء التفاصيل؟

في وضع محرر المنشورات، يتم حفظ الألوان الأصلية، لكن الخلفية تصبح رمادية بعد حفظ التغييرات:

إعجابَين (2)

شكرًا على البلاغ!
لقد دفعت إصلاحًا. هل يمكنك تحديث المكوّن ورؤية ما إذا كان سيحدث مرة أخرى؟

3 إعجابات