Tentativo di sostituire / auto-formattare stringhe nei post degli utenti

Ciao, sono nuovo di Discourse e ho il mio sito attivo e sto cercando di capire una funzionalità fondamentale di cui ho bisogno per una parte importante della community.

Gli utenti hanno un software che può esportare stringhe magiche che rappresentano uno stato del gioco e voglio renderizzare quello stato in modo gradevole come una tabella generata dalla stringa (al caricamento della pagina).

Idealmente, fornisco agli utenti un modello quando pubblicano o mettono la loro stringa magica all’interno di una classe nominata o qualcosa di simile e la stringa viene semplicemente renderizzata (decorata?) al caricamento della pagina.

Posso farlo? Attualmente sto pensando di scrivere uno script che analizza le stringhe per tutti gli elementi/classi di quel tipo, ma sto lottando su come/quando far eseguire lo script per modificare il post visualizzato (cotto?).

Grazie,
Brett

1 Mi Piace

Certo, dovrebbe essere possibile. Hai un’API per decorare il post cotto.
Ad esempio: decorateCookedElement

Puoi condividere un esempio visivo di ciò che stai cercando di ottenere?

1 Mi Piace

Forse puoi creare il tuo stile

1 Mi Piace

Va bene! Sembra che decorateCookedElement fosse quello di cui avevo bisogno (secondo la nota di @Arkshine).

Ho anche trovato questo post che contiene alcuni ottimi esempi per filtrare gli elementi di interesse:
How do we fire scripts after topic HTML is rendered in DOM? - dev - Discourse Meta

In particolare, ho trovato questo molto utile:

$.fn.doSomething = function() {
  const targetElement = $(this).children("[data-theme-test]").length;
  if (!targetElement) return;

  // fai il tuo lavoro
  
  return this;
};

api.decorateCooked($elem => $elem.doSomething(), { onlyStream: true });

Grazie!

2 Mi Piace

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