¿Cuál es la mejor estrategia para encontrar la plantilla adecuada para editar?

Aún soy nuevo en Discourse, pero estoy aprendiendo más sobre cómo programar sobre él para personalizar cosas. Estoy tratando de aprender la mejor manera de insertar código en lugares específicos de una página (más dirigido que en un área general de salida). Parece que tendré que sobrescribir la plantilla que controla ese lugar.

Entiendo que, ya sea que lo haga en el área de de mi panel de personalización o en un repositorio de GitHub separado que usaré como tema, tendré que:

  1. Encontrar la plantilla correcta para editar
  2. Volver a imprimir toda la plantilla donde esté realizando la codificación (panel, repositorio, etc.), y
  3. Realizar los cambios que desee en la plantilla

El paso 1 está resultando ser un obstáculo. ¿Cómo encuentro la plantilla correcta para editar?

Esto es lo que he recopilado: Las plantillas de Discourse están aquí, y parece que las plantillas “reales” que querré editar generalmente están en el archivo de componentes aquí.

Como ejemplo, digamos que quiero agregar una línea a cada lista de grupos en la página de índice de grupos (el equivalente a esta página). ¿Dónde está la plantilla para eso? Mi mejor suposición es que es la plantilla de tarjetas de grupo, pero no estoy seguro, especialmente porque soy totalmente nuevo en Ember.

¿Existe una forma más segura para que identifique la plantilla correcta?

¿Ya probaste la extensión del navegador Ember?

Muestra plantillas y componentes:

Eso suena genial. ¿Te refieres al Ember Inspector?

Entendido. Usándolo, hay algo que no termino de entender (probablemente tenga que ver con que soy nuevo en Ember):

Si observas la página de grupos de Discourse, cada entrada de grupo tiene un nombre y un recuento de usuarios.

Usando el inspector de Ember, puedo ver que el nombre proviene de la plantilla groups-info, pero ¿de dónde viene el group-user-count? (no parece tener una entrada en el inspector de Ember)

Gracias. Veo que group-user-count aparece en la línea 55.

¿Esto significa que si quisiera, por ejemplo, agregar una línea justo antes de la línea group-user-count, tendría que copiar las 100 líneas completas de ese archivo index.hbs en mi código e insertarlo así:
<script type="text/x-handlebars" data-template-name="groups/index">
[100 líneas aquí]
</script>

  • Normalmente, debes verificar si hay una salida de plugin adecuada y utilizarla.
  • Puedes intentar apuntar a elementos con jQuery, pero eso no funcionará si estás tratando de modificar un elemento iterativo.

Si no puedes hacer ninguna de esas dos cosas:

  • Pide al equipo de Discourse que añada una salida de plugin justificando la necesidad.
  • Reemplaza la plantilla completa con la tuya propia, como sugieres.

¿Te refieres a cambiar el código en las salidas que lo rodean? (como componentes/group-info)

EDITO: Lo siento, confundí las plantillas con las salidas de plugin. Entiendo que las salidas de plugin son líneas en el código de Discourse (como {{plugin-outlet name="topic-above-post-stream" args=(hash model=model)}) que el equipo de Discourse ha colocado como un ancla que puedes usar para modificar el código.

EDIT: He movido este seguimiento aquí porque se trata de un problema ligeramente diferente.