تكوين لغات البرمجة المتاحة لتلوين النصوص بناءً على الصياغة

:bookmark: يشرح هذا الدليل كيفية تكوين لغات البرمجة المتاحة لتمييز بناء الجملة في Discourse.

:person_raising_hand: مستوى المستخدم المطلوب: مسؤول

يعزز تمييز بناء الجملة قابلية القراءة في كتل التعليمات البرمجية عن طريق تطبيق التنسيق بناءً على لغة البرمجة. يمكنك تخصيص اللغات المتاحة لتمييز بناء الجملة في Discourse.

تكوين إعداد الموقع highlighted_languages

لتكوين قائمة لغات البرمجة لتمييز بناء الجملة:

  1. انتقل إلى لوحة تحكم المسؤول.
  2. انتقل إلى الإعدادات.
  3. ابحث عن إعداد الموقع highlighted_languages.

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

إضافة دعم للغات إضافية

إذا لم تكن اللغة التي تريدها مضمنة مع highlight.js، فستحتاج إلى إضافتها يدويًا. فيما يلي الخطوات لتحقيق ذلك:

  1. تحديد موقع وحدة للغتك: ابحث عن وحدة highlight.js تدعم اللغة التي تريد إضافتها. على سبيل المثال، لإضافة Solidity، يمكنك استخدام الحزمة highlightjs-solidity.
  • Solidity: https://github.com/highlightjs/highlightjs-solidity
  • Supercollider: https://github.com/highlightjs/highlightjs-supercollider
  1. دمج الوحدة باستخدام مكون سمة:
  • احصل على نص HighlightJS للغة المطلوبة.
  • أنشئ مكون سمة جديدًا في Discourse.
  • أضف النص إلى مكون السمة لضمان تكامله بشكل صحيح.
7 إعجابات

أريد إضافة solidity، وهي لغة غير مضمنة مع highlight.js. يتم توفيرها في هذه الحزمة: GitHub - highlightjs/highlightjs-solidity

لست متأكدًا من كيفية القيام بذلك. لقد أضفتها إلى إعدادات discourse. هل سيجد الحزمة ويتولى كل شيء، أم يجب علي وضع حزمة javascript الإضافية هذه في مكان ما؟ سأكون ممتنًا لبعض التوجيه :slight_smile:

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

أنا مهتم أيضًا بهذا، لدعم تمييز بناء الجملة للغة supercollider عبر GitHub - highlightjs/highlightjs-supercollider

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

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

أسأل لأن هناك زوجًا من اللغات غير الشائعة نسبيًا، لغة وصف النماذج الأولية (Archetype Description Language - ADL) ولغة استعلام النماذج الأولية (Archetype Query Language - AQL) التي يرغب مالكو discourse.openehr.org في تمييز صيغتها. لديهم القدرة التقنية على بناء محلل/مميز، فهم فقط بحاجة إلى معرفة كيفية جعله يعمل في Discourse.

3 إعجابات

هذا ممكن تمامًا كمكون سمة! بمجرد أن يكون لديك نص HighlightJS جاهزًا، قم بإعلامي هنا ويمكنني مساعدتك في بناء Theme component.

3 إعجابات

شكرا @Falco! سأقوم ببناء البرنامج النصي وسأعود بالنشر عند الانتهاء.

3 إعجابات

في الأسبوعين الماضيين، لاحظت أن تمييز التعليمات البرمجية لا يبدو أنه يعمل عند الحاجة. انظر هنا كمثال. عندما أحدد لغة (java في الحالة المذكورة أعلاه)، سيتم تطبيق الألوان.

إليك مثال آخر لـ XML:
https://developer.sailpoint.com/discuss/t/get-application-roles-as-well-as-search-for-the-roles/78194?u=derek_putnam

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