Conselho sobre um componente de tema da página sobre para ocultar o administrador--isso vai desacelerar as coisas?

Quero remover meu usuário da página “sobre” de alguns sites que gerencio. Não sou eu quem vai excluir sua conta, nem nada do tipo. . .

Uma maneira é esta:

Mas um plugin parece um pouco exagerado hoje em dia, então tenho um componente de tema que faz isso:

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");
        }
      });
    });
  },
};

Isso é estúpido por algum motivo? O onPageChange consome muitos recursos? O plugin afetaria apenas o serializador “sobre”, este faz uma verificação a cada mudança de página. Isso é ruim?

Houve um tópico sobre essa mesma questão recentemente que apenas codificou o usuário no CSS. Seria melhor ter apenas um CSS em um tema que fizesse apenas:

.about-page div[data-username="pfaffman"] {
  display: none !important;
}

Não seria útil para ninguém além de mim, é por isso que gosto dessa ideia de componente de tema.

2 curtidas

Então, para cada virada de página, exceto “sobre”, você está processando cerca de duas linhas de JavaScript extra?

Não, não acho que isso seja ruim, dada a enorme quantidade de JavaScript que roda o tempo todo no Discourse :slight_smile:

2 curtidas

É em grande parte o que eu pensava, mas aprecio muito sua confirmação. Vou ver como deixar isso mais bonito e torná-lo público, e então escrever ferramentas para automatizar a adição a alguns sites.

Muito obrigado.

2 curtidas

Então Jay, isso seria um plugin para instalar ou um componente de tema?

Eu acho que isso poderia ser útil até mesmo para estender a funcionalidade para Mods. Para alguns casos de uso.

Este é um componente de tema. Ainda estou limpando um pouco. Farei uma página de tema adequada para ele em breve, mas você pode ver GitHub - literatecomputing/discourse-hide-admins-about: Theme component to hide some admin users from about page se estiver animado para experimentá-lo.

2 curtidas

Isso é muito legal. Fico contente em esperar pelo seu lançamento oficial.

1 curtida

Este tópico foi fechado automaticamente 30 dias após a última resposta. Novas respostas não são mais permitidas.