Plugins pour écrire du code dans les sujets

Salut,

Je voudrais savoir s’il existe des plugins pour Discourse qui permettent d’écrire un sujet avec du code comme sur l’image ci-dessous ?

Avec des couleurs, des indentations, etc.

1 « J'aime »

Il se peut que j’oublie quelque chose, mais vous pouvez déjà utiliser des blocs de code :

console.log("hi");

Cela fonctionne de la même manière que Discord, d’où provient votre capture d’écran.

2 « J'aime »

Désolé pour mon ignorance, mais comment puis-je utiliser ces blocs de code en écrivant un sujet ?

L’idée est exactement de copier Discord de cette manière.

1 « J'aime »

3 accents graves + nom du langage (optionnel) :

console.log("hi");
1 « J'aime »

Je pense que j’ai compris, mais par exemple, dans ce code, qu’en est-il des couleurs pour certaines fonctions ? Elles s’affichent avec certaines couleurs, mais pas comme sur l’image montrée dans Discord.

Le langage est 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);
      }
   }
}

Note : Le code fourni semble être en MQL5 (langage de trading MetaTrader), et non en Python. Les fonctions comme CTrade, OrderGetTicket, et PositionSelectByTicket sont spécifiques à MQL5. Si vous souhaitez exécuter ce code dans un environnement Python, il faudra le réécrire entièrement en utilisant une bibliothèque appropriée pour le trading.

2 « J'aime »

À ma connaissance, Discord utilise la même bibliothèque de coloration syntaxique que nous : GitHub - highlightjs/highlight.js: JavaScript syntax highlighter with language auto-detection and zero dependencies. · GitHub

Si vous souhaitez que votre code ressemble à celui de Discord dans un message Discourse, installez Codeblock Theme Picker et changez le thème pour Solarized Dark.

4 « J'aime »

Sur notre site, nous avons une page qui présente les différentes variantes activées.

4 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.