Плагины для написания кода в темах

Привет,

Подскажите, пожалуйста, есть ли в Discourse какие-либо плагины, с помощью которых можно создавать темы с кодом, как на изображении ниже?

С цветовой подсветкой, отступами и так далее.

Возможно, я что-то упускаю, но вы уже можете использовать блоки кода:

console.log("hi");

Это работает так же, как в Discord, откуда сделлен ваш скриншот.

Извините за мою неосведомлённость, но как можно использовать эти блоки кода при написании темы?

Идея как раз в том, чтобы скопировать Discord именно таким образом.

3 обратных кавычки + название языка (необязательно):

console.log("hi");

Думаю, я понял, но например в этом коде, как насчет цветов для некоторых функций? Отображаются некоторые цвета, но не такие, как на изображении в Discord.

Язык — Python.

input long  MagicN = 1234;

CTrade         negocio;
CPositionInfo  posicao;
bool           InseriuParcial = false;


void OnTrade()
{
   ExpiringOrdersPartial(_Symbol, MagicN);
}


void OnTick()
{   
   //....
   
   bool pos = posicao.SelectByMagic(_Symbol, MagicN);
   
   if (pos) && (!InseriuParcial)
   {
      string comment = "[part:" + IntegerToString(posicao.Ticket()) + "]"; 
      if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL)
      {
         negocio.BuyLimit(1.0, simbolo.Last() -500, _Symbol, 0, 0, orderTypeTime, 0, comment + " Partial");
         negocio.BuyLimit(1.0, simbolo.Last()-1000, _Symbol, 0, 0, orderTypeTime, 0, comment + " Partial");
      }
      else
      {
         //....
      }
      InseriuParcial = true;
   }
   
   //....
}

void ExpiringOrdersPartial(string symbol, long m_magic)
{  
   int total = OrdersTotal();
   for(int i = total - 1; i >= 0; i--)
   {    
      ulong  order_ticket  = OrderGetTicket(i);
      
      if((OrderGetString(ORDER_SYMBOL) != symbol) || (OrderGetInteger(ORDER_MAGIC) != m_magic))
         return;
      
      string comment = OrderGetString(ORDER_COMMENT);
      string tokenB  = "[part:";
      string tokenE  = "]";
      
      int posB = StringFind(comment,tokenB);
      if (posB != -1)
      {
         int posE = StringFind(comment,tokenE, posB + StringLen(tokenB));
         if (posE == -1)
            return;
         
         string position_ticketS = StringSubstr(comment, posB + StringLen(tokenB), posE - (posB + StringLen(tokenB)));
         ulong  position_ticket  = (ulong)StringToInteger(position_ticketS);
         
         if (!PositionSelectByTicket(position_ticket))
            OrderDelete(order_ticket);
      }
   }
}

Пожалуйста, подскажите, как исправить цвета, чтобы они соответствовали отображению в Discord.

Насколько мне известно, Discord использует ту же библиотеку для подсветки кода, что и мы: GitHub - highlightjs/highlight.js: JavaScript syntax highlighter with language auto-detection and zero dependencies. · GitHub

Если вы хотите, чтобы ваш код в посте на Discourse выглядел так же, как в Discord, установите Codeblock Theme Picker и измените тему на Solarized Dark.

На нашем сайте есть страница, демонстрирующая различные включённые варианты.