Je souhaite supprimer mon utilisateur de la page “À propos” de certains sites que je gère. Je ne suis pas celui qui va supprimer votre compte, ni quoi que ce soit d’autre. . .
Une façon de faire est la suivante :
Mais un plugin me semble un peu excessif de nos jours, j’ai donc un composant de thème qui fait cela :
import { withPluginApi } from "discourse/lib/plugin-api";
const hidden_admins = settings.hidden_admins.split("|");
const PLUGIN_ID = "hide-admins";
export default {
name: "theme-javascript-initializer",
initialize() {
withPluginApi("0.8.30", (api) => {
api.onPageChange((url) => {
if (url != "/about") {
return;
}
for (const admin of hidden_admins) {
var element = document.querySelector(`[data-username=${admin}]`);
if (element === null) {
break;
}
element.classList.add("hide-me");
}
});
});
},
};
Est-ce stupide pour une raison quelconque ? Est-ce que onPageChange coûte très cher ? Le plugin n’affecterait que le sérialiseur “À propos”, celui-ci effectue une vérification à chaque changement de page. Est-ce mal ?
Il y a eu récemment un sujet sur ce problème précis qui codait en dur l’utilisateur dans le CSS. Serait-il préférable d’avoir juste un seul CSS dans un thème qui ferait simplement :
C’est à peu près ce que je pensais, mais j’apprécie beaucoup votre confirmation. Je vais voir comment rendre cette chose plus présentable et la publier, puis écrire des outils pour automatiser son ajout à certains sites.