我想从我管理的某些网站的“关于”页面中删除我的用户。我不会删除您的帐户,或其他任何内容……
一种方法是:
但插件现在看起来有点矫枉过正,所以我有一个主题组件可以做到这一点:
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");
}
});
});
},
};
这有什么愚蠢的原因吗?onPageChange 成本很高吗?插件只会影响关于序列化器,而这会在每次页面更改时进行检查。这不好吗?
最近有一个关于这个问题的帖子,只是在 CSS 中硬编码了用户。在主题中只有一个 CSS,它只是做了:
.about-page div[data-username="pfaffman"] {
display: none !important;
}
这会更好吗?它除了我之外对任何人都没有用,这就是为什么我有点喜欢这个主题组件的想法。