Comment passer le réglage d'un composant comme valeur à un attribut ?

Salut, j’essaie simplement d’ajouter une bibliothèque de scripts externe via une balise <script src="..."></script> dans le modèle head_tag.html comme ceci, ce qui n’est clairement pas la bonne syntaxe.

<script type="text/discourse-plugin" version="1.6.0">

  <script src="https://example.com/library.js"
        charset="UTF-8"
        data-lib-xyz=`${ settings.data_lib_xyz }`
        />

</script>

Et j’obtiens une erreur dès que je l’active :

SyntaxError: /discourse/theme-8/initializers/theme-field-54-common-html-script-1: La prise en charge de la syntaxe expérimentale ‘jsx’ n’est actuellement pas activée (14:3) :

Quelle serait la manière Discourse d’utiliser la valeur d’un paramètre de thème pour la valeur d’un attribut de balise SCRIPT ?

Salut Osman,

C’est peut-être le meilleur endroit pour commencer : Theme Developer Quick Reference Guide.

Il y a aussi beaucoup d’informations sur le pluginAPI ici : Developing Discourse Themes & Theme Components, y compris des démos de code.

Vous voudrez également consulter notre documentation CSP si vous ajoutez des scripts, afin qu’ils soient autorisés à s’exécuter : Mitigate XSS Attacks with Content Security Policy.

J’espère que cela vous aidera, mais comme toujours, n’hésitez pas à nous envoyer d’autres questions.

Mark

1 « J'aime »