Consejo sobre un componente de tema de página 'acerca de' para ocultar administrador--¿esto va a ralentizar las cosas?

Quiero eliminar mi usuario de la página “Acerca de” de algunos sitios que administro. No soy yo quien va a eliminar tu cuenta, ni nada por el estilo. . .

Una forma es esta:

Pero un plugin parece un poco exagerado hoy en día, así que tengo un componente de tema que hace esto:

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

¿Es eso estúpido por alguna razón? ¿Cuesta mucho onPageChange? El plugin solo afectaría al serializador “Acerca de”, este realiza una comprobación en cada cambio de página. ¿Es eso malo?

Hubo un tema sobre este mismo problema últimamente que simplemente codificó el usuario en CSS. ¿Sería mejor tener solo un CSS en un tema que hiciera esto:

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

No sería útil para nadie más que para mí, por eso me gusta la idea de este componente de tema.

2 Me gusta

¿Así que por cada cambio de página, excepto en “acerca de”, procesas ~dos líneas de javascript extra?

No, no creo que eso sea malo dada la enorme cantidad de javascript que se ejecuta todo el tiempo en Discourse :slight_smile:

2 Me gusta

Eso es en gran parte lo que pensaba, pero agradezco mucho tu confirmación. Veré cómo arreglar esto un poco y hacerlo público, y luego escribiré herramientas para automatizar su adición a algunos sitios.

Muchas gracias.

2 Me gusta

Entonces Jay, ¿sería un plugin para instalar o un componente temático?

Creo que esto podría ser útil incluso para extender la funcionalidad a los mods. Para algunos casos de uso.

Este es un componente temático. Todavía lo estoy limpiando un poco. Haré una página temática adecuada para él la próxima vez, pero puedes ver GitHub - literatecomputing/discourse-hide-admins-about: Theme component to hide some admin users from about page si estás emocionado por probarlo.

2 Me gusta

Eso es bastante genial. Sin embargo, estoy contento de esperar su lanzamiento oficial.

1 me gusta

Este tema se cerró automáticamente 30 días después de la última respuesta. Ya no se permiten nuevas respuestas.