javascript - programacion - Lenguaje de plantillas de JS al estilo de Jinja
programacion pug (8)
una biblioteca de plantillas javascript, destinada a ser compatible con el lenguaje de plantillas de django
Realmente me gustan los lenguajes de plantillas django / jinja2. Su sintaxis es extremadamente simple y sin embargo es muy versátil. ¿Hay algo similar a eso en la sintaxis y la capacidad en javascript, o si no ambos, al menos en la capacidad.
Miré guiones bajos, plantillas jQuery y plantillas de bigote, y ninguna de ellas parecía ser lo que estaba buscando.
Notas adicionales
Creo que de todas las libretas (que miré) el bigote es el mejor, pero realmente no me gusta la sintaxis. Por ejemplo esta plantilla de bigote
{{#people}}
{{name}}
{{/people}}
{{^people}}
No people :(
{{/people}}
En comparación con las plantillas de django:
{% for person in people %}
{{ person.name }}
{% empty %}
No people :(
{% endfor %}`
También lo mismo para aplicar filtros. Por ejemplo:
{{#filter}}{{value}}{{/filter}}
vs
{{ value|filter }}
Creo que el enfoque django / jinja2 es más limpio y se siente más natural.
Entonces, ¿hay alguna biblioteca js que haga plantillas muy similares a django / jinja? Si no, creo que tengo que vivir con muschache (o tal vez con alguna otra buena biblioteca de js, estoy abierto a sugerencias), pero no me parece bien.
Gracias.
Eche un vistazo a Nunjucks , un motor de plantillas JS inspirado en gran medida por Jinja2. Admite la herencia de bloques, macros, filtros y mucho más, y funciona tanto en el servidor (NodeJS) como en el lado del cliente (la mayoría de los navegadores).
Enlace del comentario de @pradeek. Es un puerto de jinja a js.
Esto es muy nuevo: angularjs http://googledevelopers.blogspot.nl/2012/06/better-web-templating-with-angularjs-10.html
He usado Jinja2 con Python y ahora estoy usando jinjs en un proyecto diferente en la plataforma Node.js.
La implementación de mi JavaScript Jinja se puede encontrar aquí: https://github.com/sstur/jinja
Es compatible con la sintaxis de Jinja y Liquid, se ejecuta en el navegador y en Node, compila las plantillas para JavaScript sin dependencias, y se trata de 3K gzipped
Pruebas incluidas. Soporte de Express.js en curso ..
twig.js también se ve muy interesante y pesa menos que la placa https://github.com/justjohn/twig.js
Swig es un increíble motor de plantillas tipo Django / Jinja para node.js y el navegador.
<h1>{{ pagename|title }}</h1>
<ul>
{% for author in authors %}
<li{% if loop.first %} class="first"{% endif %}>{{ author }}</li>
{% endfor %}
</ul>
Puede agregar etiquetas personalizadas para lograr varios tipos de sintaxis de plantillas:
{% filter %}{{value}}{% endfilter %}
{% filter ''value'' %}
{{ value | filter }}
Nota al margen: puede usar request.is_ajax()
Django para devolver condicionalmente una plantilla Django sin procesar y usar Swig para renderizarla con un objeto JSON.