تغيير تنسيق كتل التعليمات البرمجية المضمنة لجعلها تبرز أكثر

لدى عميل Teams يطلب كتل التعليمات البرمجية المضمنة التي تبرز أكثر. حاليًا، سواء كنت في الوضع الداكن أو الفاتح، فإن كتلة التعليمات البرمجية لا تختلف كثيرًا في اللون عن النص الآخر. هل يمكننا تغيير لون النص افتراضيًا في Discourse بحيث يتم استخدام لون مختلف يبرز أكثر، على سبيل المثال، اللون الأحمر؟

أعلم أنه بالنسبة لمعظم العملاء، هذه ليست مشكلة كبيرة لأنهم يستطيعون تخصيص السمة لتغيير CSS على موقعهم، ولكن بالنسبة لـ Discourse for Teams، هذا المستوى من التخصيص غير ممكن. وفي الوقت نفسه، بالنسبة للفرق التي تناقش التعليمات البرمجية، من المهم جدًا أن تبرز بشكل مختلف تمامًا عن النص الآخر.

إعجابَين (2)

شكراً لك توبياس. للتسجيل، أنا العميل وأريد التأكيد على أنني أتحدث حصريًا عن “الكتل المضمنة”. ليس لدي أي مخاوف بشأن الأسطر المتعددة.

إعجابَين (2)

نعم، الكتل متعددة الأسطر رائعة جدًا.

هناك طرق أخرى لإبراز النص ولكن من الواضح أن علامة الاقتباس الخلفية هي الأكثر فعالية.

إعجابَين (2)

للتسجيل، إذا كنت مبتدئًا في HTML مثلي (اضطررت للبحث عنها):

  1. Fancy! مصنوع من Fancy!
  2. Ohhhh! مصنوع من Ohhhh!

من المفيد معرفة ذلك، شكرًا @tobiaseigen.
لا يزال أعتقد أنه سيكون من المنطقي تعديل CSS لـ this أيضًا. لدينا بعض المنشورات التقنية التي تستخدم علامات الاقتباس الخلفية كثيرًا، واستخدام البديلين ليس سهل الاستخدام بالتأكيد.

3 إعجابات

نصيحة للمرة القادمة: قم فقط باقتباس المنشور الذي تريد معرفة كيفية القيام به، ثم يمكنك رؤيته.

3 إعجابات

عذرًا على ذلك! عادةً ما كنت سأكشف عن الحيلة، لكنني كنت على هاتفي وكنت على عجلة من أمري.

حيلة أخرى مفيدة لمعرفة كيفية إنشاء منشور هي استخدام عنوان URL الخام، على سبيل المثال: https://meta.discourse.org/raw/57255/7

4 إعجابات

أوه، هناك طريقة ثالثة للتمييز تبدو لطيفة أيضًا وأنا أنساها باستمرار. تبدو هكذا ويتم ذلك باستخدام علامة HTML هذه <mark>النص</mark>. هناك مكون سمة مساهمة من المجتمع (غير متوفر في Teams) يتيح لك استخدام ==النص== بدلاً من ذلك وهو مفيد جدًا. لا أجده على الفور لسبب ما.

ولكن على أي حال، سأناقش مع زملائي حول تحديث التصميم الافتراضي لكتل التعليمات البرمجية لجعلها أكثر وضوحًا. ربما يكون مجرد جعل لون خلفية كتلة التعليمات البرمجية أكثر تميزًا كافيًا.

3 إعجابات

تم الحصول على طلب سحب لتغيير كتل التعليمات البرمجية المضمنة في النواة هنا: PR: Inline code block styling edits by jordanvidrine · Pull Request #16394 · discourse/discourse · GitHub

6 إعجابات

عذرًا… سأقوم بالتراجع عن هذا في الوقت الحالي.

3 إعجابات

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

تختلف مسألة تمييز الصيغة؛ ستحتاج إلى أسطر متعددة من الكود لتحديد الصيغة التي تتعامل معها. ربما كان هذا هو أصل المشكلة - إذا كنت تريد تمييز الصيغة، فأنت بحاجة إلى كتلة من الكود، على سبيل المثال:

var x, y, z;  // Declare 3 variables
x = 5;    // Assign the value 5 to x
y = 6;    // Assign the value 6 to y
z = x + y;  // Assign the sum of x and y to z

document.getElementById("demo").innerHTML =
"The value of z is " + z + ".";

عنصر كود واحد منفصل عن كل السياق اللازم لتمييز الصيغة. يمكنك كتابة سطر واحد من JavaScript على الرغم من ذلك:

"the value of z is " + z + ".";

والذي يبدو كـ

``` javascript
"the value of z is " + z + ".";
```

لذا أعتقد أن هذا يتعلق بـ كتل الكود مقابل كلمة من الكود.

3 إعجابات

أعتقد أن @jordan.vidrine هناك أوامر بالسير. فقط للمضي قدمًا وإجراء تراجع كامل للتغيير. ربما إنشاء مكون سمة لـ “أنماط التعليمات البرمجية البديلة” يمكن أن يجعله مثل Slack بالكامل على التعليمات البرمجية المضمنة ويجعله أحمر كونه مكونًا.

3 إعجابات

كان هذا التكرار الأخير مكونًا للموضوع نشطًا على ميتا ولم يكن تغييرًا فعليًا، لذلك قمت بتعطيله.

4 إعجابات

لا بأس في عدم إجراء هذا التغيير. :+1:

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

الخط العريض والمائل موجودان أيضًا في القائمة ولا يبرزان كثيرًا. الطرق الأخرى لتسليط الضوء على النص المضمن تتطلب المزيد من ضغطات المفاتيح. كما أنها ليست موثقة بشكل بارز وبالتالي تتطلب أيضًا معرفة داخلية.

على حد علمي، هذه هي أفضل الطرق:

زر <kbd>زر</kbd>
خط سفلي أخضر <ins>خط سفلي أخضر</ins>
خط أحمر مشطوب <del>خط أحمر مشطوب</del>
تمييز <mark>تمييز</mark>
خط مشطوب <strike>خط مشطوب</strike>

بالنسبة للأشخاص الذين يمكنهم تثبيت الإضافات، هناك إضافة Discourse BBCode color الرسمية. وبالنسبة لأولئك الذين لا يستطيعون تثبيت الإضافات، قام @merefield بإنشاء مكون الثيم Discourse Coloured Text.

أعجبتني أيضًا مكون الثيم الذي حول ==highlight== إلى <mark>highlight</mark>، لكنني فقدت أثره هنا في meta.

3 إعجابات

سيحتاج هذا إلى القيام به في مكون إضافي في الوقت الحالي، لأنه ستحتاج إلى دمجه في HTML وليس فقط إجراء تحويل من جانب العميل.

بالنظر إلى https://markdown-it.github.io/ يبدو أنه ممكّن الآن افتراضيًا في markdown.it في الوضع غير الصارم @Vitaly؟

3 إعجابات

مثير للاهتمام. شكراً على شرح ذلك.

لقد وجدت الإضافة التي تفعل هذا بالصدفة اليوم أثناء التمرير عبر فئة Plugin.. من المضحك كيف أنه في بعض الحالات لا يمكنك التفكير في الكلمة المفتاحية الصحيحة للعثور على إضافة. :rofl:

إعجابَين (2)

أوه، فهمت… التنفيذ الأساسي موجود هنا:

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

بصرف النظر عن الحل، أعتقد أن هناك مشكلة واضحة في تجربة المستخدم مع التصميم الحالي لـ code block. التباين شبه معدوم.

لأقتبس @codinghorror، أود أن أقول على العكس من ذلك أن “معظم الأماكن على الويب” لا تظهر هذه المشكلة.

انظر GitHub:

أو Slack:
image

أو حتى Notion
image

أعتقد أن كل من الخط السفلي الأخضر و التمييز لهما المشكلة المعاكسة تمامًا مع تباين عالٍ غير ضروري، ولكن هذا يتعلق بالذوق أكثر من مشكلة تجربة المستخدم.

ماذا عن تطبيق نهج GitHub بخلفية رمادية داكنة وبعض المساحة؟

إعجابَين (2)

حيث تصبح الأمور معقدة هو الدعوة إلى تغيير كبير في كل مثيل من مثيلات Discourse، وكثير منها اعتاد على التصميم الحالي المعتدل. هذه حركة جبنية كبيرة.
الحل البديل المتمثل في مجرد إضافة CSS موجود بالفعل لمعظم التثبيتات.

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