برجسته‌سازی ایستای نحوه‌ی نگارش


برجسته‌سازی ایستای نحوه‌ی نگارش یعنی برجسته‌سازی کدی که کاربر نمی‌تواند آن را تغییر دهد. این مورد شامل قطعه‌کدها، نسخه‌های ارسال‌شده و موارد دیگر می‌شود.

Note

ویرایشگر آنلاین از برجسته‌سازی ایستای نحوه‌ی نگارش استفاده نمی‌کند، چون کاربر می‌تواند کد را همان لحظه تغییر دهد. اگر می‌خواهید بیشتر بدانید که ما در ویرایشگر آنلاین چطور برجسته‌سازی نحوه‌ی نگارش را انجام می‌دهیم، مستندات برجسته‌سازی پویای نحوه‌ی نگارش را ببینید.

پیاده‌سازی

برجسته‌سازی ایستای نحوه‌ی نگارش با کتابخانه‌ی highlightjs انجام می‌شود.

وقتی می‌خواهید پشتیبانی از زبان خودتان را اضافه کنید، سه گزینه دارید:

  1. زبان به‌صورت آماده توسط highlightjs پشتیبانی می‌شود (یعنی در فهرست زبان‌های پشتیبانی‌شده آمده است). اگر این‌طور است، به بخش پیکربندی تِرک بروید.
  2. زبان از طریق یک افزونه‌ی موجود highlightjs پشتیبانی می‌شود. اگر این‌طور است، به بخش استفاده از یک افزونه‌ی موجود بروید.
  3. زبان پشتیبانی نمی‌شود. در این صورت سه گزینه دارید:
    1. یک افزونه‌ی highlightjs را از صفر بنویسید، همان‌طور که در بخش ساخت یک افزونه‌ی جدید توضیح داده شده است.
    2. نحوه‌ی نگارش زبان شما (تا حد زیادی) شبیه نحوه‌ی نگارش زبان دیگری است (مثلاً نحوه‌ی نگارش Unison شبیه Haskell است)؛ در این صورت می‌توانید در نظر بگیرید که از برجسته‌سازی نحوه‌ی نگارش آن زبان برای زبان خودتان استفاده کنید. برای اطلاعات بیشتر بخش پیکربندی تِرک را ببینید.
    3. از برجسته‌سازی ایستای نحوه‌ی نگارش استفاده نکنید.

پیکربندی تِرک

برای فعال کردن پشتیبانی از highlightjs برای زبان تِرک شما، باید فایل config.json تِرک را تغییر دهید. در فایل config.json، کلید online_editor.highlightjs_language را به شناسه‌ی زبان مناسب highlightjs اضافه یا تنظیم کنید (این شناسه در مستندات پیدا می‌شود).

مثال

{
  "online_editor": {
    "highlightjs_language": "csharp"
  }
}

استفاده از یک افزونه‌ی موجود

برای استفاده از یک افزونه‌ی موجود، باید آن افزونه روی NPM منتشر شده باشد. اگر افزونه روی NPM منتشر نشده است، می‌توانید یکی از این کارها را انجام دهید:

  1. از نویسنده‌ی افزونه بپرسید که آیا می‌خواهد آن را روی NPM منتشر کند.
  2. مخزن را فورک کنید و خودتان آن را منتشر کنید.
  3. از ما (Exercism) بخواهید مخزن را فورک کنیم و ما آن را منتشر می‌کنیم. برای این کار، یک موضوع در فروم باز کنید و این درخواست را مطرح کنید.

قدم بعدی این است که افزونه را فعال کنید.

فعال کردن افزونه

برای فعال کردن یک افزونه (که باید روی NPM منتشر شده باشد)، یک موضوع در فروم باز کنید و از ما بخواهید که پشتیبانی از آن افزونه را به وب‌سایت اضافه کنیم. سپس ما (Exercism) یک Pull Request می‌سازیم که آن افزونه را به وب‌سایت اضافه می‌کند. پس از ادغام PR، می‌توانید پشتیبانی از highlightjs را با دنبال کردن دستورالعمل‌های بخش پیکربندی تِرک فعال کنید.

ساخت یک افزونه‌ی جدید

اگر می‌خواهید یک افزونه بسازید، دو گزینه برای میزبانی دارید:

  1. یک مخزن روی حساب شخصی خودتان بسازید و خودتان آن را منتشر کنید.
  2. از ما (Exercism) بخواهید یک مخزن بسازیم و اجازه دهید ما آن را منتشر کنیم. برای این کار، یک موضوع در فروم باز کنید و این درخواست را مطرح کنید.

وقتی مخزن را ساختید، برای پیاده‌سازی افزونه، دستورالعمل‌های مشارکت در زبان را دنبال کنید.

سپس باید افزونه را روی NPM منتشر کنید. قدم بعدی این است که افزونه را فعال کنید.

استفاده از زبانی دیگر

نحوه‌ی نگارش زبان شما (تا حد زیادی) شبیه نحوه‌ی نگارش زبان دیگری است؛ در این صورت می‌توانید در نظر بگیرید که از برجسته‌سازی نحوه‌ی نگارش آن زبان برای زبان خودتان استفاده کنید. برای این کار، تِرک را طوری پیکربندی کنید که از شناسه‌ی زبان highlightjs آن زبان دیگر استفاده کند. برای اطلاعات بیشتر بخش پیکربندی تِرک را ببینید.