Linee guida per l'approvazione di attributi HTML arbitrari?

Grazie Jeff, in passato sono riuscito a mettere in whitelist gli iframe, ma non è il comportamento che sto cercando.

Ciao Rafael,
immagino di essere poco bravo a spiegarmi. C’è un esempio in questo post:

In fondo a quel link, nel mio post, c’è scritto “Loading”. Si tratta di un div con attributi specifici che dovrebbe attivare gli script esterni che ho inserito nella sezione /body del tema amministrativo (dove vanno gli script) e che vengono generati con del contenuto (riempiti con barre statistiche) tramite JavaScript.

Alla fine dovrebbe apparire come nel CodePen che ho collegato precedentemente all’inizio di questo argomento, una volta generati i dati.

Gli attributi di dati personalizzati sono già in whitelist di default con Discourse e non vengono rimossi dal div come invece accadrebbe per id o class.

Il mio problema è: come posso far sì che questi script esterni vengano eseguiti e generino dati all’interno di questi div vuoti basandosi sugli attributi? In base a questi attributi, potrebbero essere diversi per ogni argomento o post e attivare lo script per visualizzare dati diversi generati da questi script esterni.

Per riassumere ciò che intendo fare

Script esterni inseriti nella sezione admin > personalizza > tema “Modifica CSS/HTML” :

<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://bloodmallet.com/js/bloodmallet_chart_import.min.js"></script>

Input nell’editor da parte di un utente o da parte mia:

<div 
  data-bloodmallet="chart"
  data-wow-class="shaman" 
  data-wow-spec="elemental" 
  data-chart-engine="highcharts"
  data-tooltip-engine="wowhead"
  data-type="trinkets"
  data-azerite-tier="all"
  data-fight-style="patchwerk"
  data-entries="7"
  data-background-color="#343a40" 
  data-font-color="#f8f9fa" 
  data-axis-color="#828282"
  data-language="en"
>Loading...</div>

Output quando il div viene rilevato e gli script JavaScript esterni (quelli che ho inserito sul lato amministrativo) vengono eseguiti e attivati per generare contenuti basati su quegli attributi di dati:

Ha senso? Mi scuso se non riesco a spiegarmi bene, essendo bilingue a volte tendo a rendere le cose più complicate di quanto non siano.