Un’opzione possibile è utilizzare un componente del tema.
Questo va inserito in header.html
<script type="text/discourse-plugin" version="0.8">
var disclaimer = settings.Disclaimer_text,
disclaimer_selector = 'div[data-theme="disclaimer"]';
$.fn.disclaimer = function() {
if (!this.length) {
return;
} else {
this.each(function() {
$(this).html(disclaimer);
});
return this;
}
};
api.decorateCooked($elem => $elem.children(disclaimer_selector).disclaimer());
// crea un pulsante nell'editor
let currentLocale = I18n.currentLocale();
I18n.translations[currentLocale].js.disclaimer_button = "Aggiungi disclaimer";
I18n.translations[currentLocale].js.composer.disclaimer_prompt = ""; // lascia vuoto
api.onToolbarCreate(function(toolbar) {
toolbar.addButton({
trimLeading: true,
id: "disclaimer-button",
group: "insertions",
icon: "exclamation-circle", // modifica l'icona
title: "disclaimer_button",
perform: function(e) {
return e.applySurround(
'<div data-theme="disclaimer">',
"</div>",
"disclaimer_prompt"
);
}
});
});
</script>
e questo va inserito nel file settings.yml del tuo componente
Disclaimer_text:
default: "Lorem ipsum dolor sit amet, ei purto complectitur has, per at quas senserit. Et malis libris eos, vix id pericula dissentiet, aliquid apeirian pro eu. Sed ex viderer inciderint, vitae officiis dissentiet eos no. Omnes percipit singulis in has, ne nam nibh tation inciderint. Quas nulla ei sit, ex eam rebum voluptaria. Id eam altera similique. Ex justo assentior persequeris mea, ei hinc paulo ubique mei. <br><br>Cu nam epicurei torquatos, et accusam accommodare vim. Vis sint saperet officiis et. Ad consequat posidonium mea, et duo paulo quidam maluisset, vel an electram expetendis. An vis repudiare tincidunt, mentitum convenire eloquentiam ut vis, summo partiendo pro ad."
description:
en: Inserisci il testo del disclaimer desiderato. Usa <br> per andare a capo.
Avrai quindi un pulsante nell’editor che appare così:
e cliccando sul pulsante verrà aggiunto
<div data-theme="disclaimer"></div>
che verrà convertito in whatever hai impostato nelle impostazioni del componente
e il risultato finale sarà simile a questo
e puoi usare
[data-theme="disclaimer"] {
}
in CSS per stilizzarlo come preferisci.


