Привет,
Подскажите, пожалуйста, есть ли в 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.
На нашем сайте есть страница, демонстрирующая различные включённые варианты.