Una opción posible es utilizar un componente de tema.
Esto va en 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());
// crear botón del compositor
let currentLocale = I18n.currentLocale();
I18n.translations[currentLocale].js.disclaimer_button = "Agregar descargo de responsabilidad";
I18n.translations[currentLocale].js.composer.disclaimer_prompt = ""; // dejar vacío
api.onToolbarCreate(function(toolbar) {
toolbar.addButton({
trimLeading: true,
id: "disclaimer-button",
group: "insertions",
icon: "exclamation-circle", // cambiar icono
title: "disclaimer_button",
perform: function(e) {
return e.applySurround(
'<div data-theme="disclaimer">',
"</div>",
"disclaimer_prompt"
);
}
});
});
</script>
y esto va en el archivo settings.yml de tu 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: Ingresa el texto de descargo de responsabilidad deseado. Usa <br> para saltos de línea.
Luego tendrías un botón en el compositor que se ve así:
y al hacer clic en el botón se agregaría
<div data-theme="disclaimer"></div>
lo cual se convierte en lo que hayas configurado en la configuración del componente
y el resultado final se ve así
y puedes usar
[data-theme="disclaimer"] {
}
en CSS para darle estilo como prefieras.


