Añadiendo una plantilla raw a medida

Hola, estoy intentando agregar mi propia plantilla Raw… no simplemente sobrescribir una existente.

Motivo: estoy tratando de eliminar esas molestas etiquetas de Ember que aparecen al usar componentes anidados.

… inicialmente asumí que sería tan fácil como agregar una al directorio templates o templates/list, así que procedí a hacerlo, pero solo logró fallar silenciosamente (no pudo encontrar mi plantilla).

¿Quizás puedo confirmar que esto no está soportado?

Luego encontré esto:

y esto:

Así que intenté esto:

import { addRawTemplate } from "discourse-common/lib/raw-templates";
import { compile } from "handlebars";

<---alguna inicialización-->

addRawTemplate('search-result-entry', compile(`<span class='result-lala'>hola</span>`));

Solo para obtener esto:

TypeError: Handlebars.compile is undefined

¡Gracias!

Disculpas si estoy haciendo algo mal aquí…

(esto será súper útil, por cierto, ¡así que gracias por implementarlo!)

Deberías poder agregar una plantilla sin procesar directamente a la carpeta de plantillas. Lo hicimos en discourse-docs. Ahora utilizan la extensión de archivo .hbr, así que tal vez ahí es donde surgió el problema.

¿Te refieres al <div> contenedor que se agrega por defecto a los componentes de Ember? Puedes desactivarlo estableciendo tagName en una cadena vacía:

Trabajar con componentes de Ember es mucho más fácil que con plantillas sin procesar, así que definitivamente recomendaría mantenerse con Ember si es posible.

¡Argh, tenía mis plantillas de hbr en templates/components! (lo cual es obviamente incorrecto cuando lo escribes así)

¡Gracias por ese ejemplo, Justin! Lo solucioné moviéndolo a la carpeta de plantillas, ¡ay!

¡Ya funciona!

@david, ¡qué consejo tan útil, gracias! ¡También lo aprovecharé! Eso me permitirá conservar las acciones, perfecto.

Parece que lo había complicado en exceso, ¡saludos!