Si está listo, escriba un poco de javascript, puede hacerlo. No sé los framwork (s) que está utilizando, por lo que supongo que tiene jQuery, pero puede utilizar la idea sin utilizar jQuery si no lo desea.
En primer lugar, escribir todas las etiquetas que sirven como plantilla en divs con los "tmpl_handlebars" clase CSS en lugar de guiones:
<div class="tmpl_handlebars" id="tmpl_places">
<article>
<h1>Hello, World!</h1>
<p>This is a template...</p>
</article>
</div>
Entonces, cuando la página se ha cargado, vuelva a colocar dinámicamente las etiquetas div con el guión etiquetas, y transfiera la identificación y el contenido de las etiquetas div al script. Con jQuery solo tiene que agregar esta pequeña secuencia de comandos en su cabeza html.
$(function() {
$(".tmpl_handlebars").each(function() {
var $this = $(this);
var children = $this.children().detach();
var id = $this.attr("id");
$this.replaceWith(
$('<script type="tmpl_handlebars"/>')
.attr("id", id)
.append(children);
);
});
});
Esto puede funcionar fuera de la caja, pero ya que no soy un especialista del bigote y el manillar, no sé exactamente cuando procesan el DOM para encontrar las plantillas, así que si quieres estar perfectamente seguro, debe hacer este tercer paso: elimine las etiquetas de script que incluyen estas bibliotecas del html estático de su cabecera, y en su lugar, agréguelas dinámicamente con javascript después del procesamiento de los divs, para que su dom esté lista cuando lleguen los scripts .
Antes de la última });
en el código del procesamiento divs, añadir las siguientes líneas para agregar secuencias de comandos:
$("head").append('<script type="text/javascript"'
+ 'src="**LOCATION_OF_DYNAMICALLY_LOADED_FILE**"></script>'");
//etc...
Funcionaría igual de bien, entonces, simplemente cambiar el nombre de la etiqueta del script temporalmente. – nitind