Pregunta

¿Cuáles son algunos buenos motores de plantillas para los diseñadores web? Definitivamente tengo mis preferencias en cuanto a lo que preferiría trabajar como programador. Pero los diseñadores web parecen tener una forma diferente de pensar las cosas y, por lo tanto, pueden preferir un sistema diferente.

Entonces:

  • Diseñadores web: ¿con qué motor de plantillas prefieres trabajar?
  • programadores: ¿con qué motores de plantillas ha trabajado que hizo que trabajar con diseñadores web sea fácil?
¿Fue útil?

Solución

Mire Mako .

Así es como me enfrento a los diseñadores web.

  1. Pídales que se burlen de la página. En HTML.
  2. Use el HTML como base para la plantilla, reemplazando el contenido simulado con los reemplazos de $ {...} .
  3. Dobla los bucles para manejar las repeticiones.

El uso de sentencias if requiere negociación, ya que la maqueta es una versión de la página, y generalmente hay algunas explicaciones para la presentación condicional de algún material.

Otros consejos

Tuve buenos votos cuando respondiendo el duplicado de esta misma pregunta .

Mi respuesta fue:

Jinja2 .

Agradable sintaxis , good posibilidades de personalización .

Se integra bien. Puede ser un espacio aislado, por lo que no tiene que confiar completamente en los autores de su plantilla. (Mako no puede).

También es bastante rápido, con la ventaja de compilar su plantilla a bytecode y almacenarla en caché, como se muestra en la siguiente demostración:

>>> import jinja2
>>> print jinja2.Environment().compile('{% for row in data %}{{ row.name | upper }}{% endfor %}', raw=True) 
from __future__ import division
from jinja2.runtime import LoopContext, Context, TemplateReference, Macro, Markup, TemplateRuntimeError, missing, concat, escape, markup_join, unicode_join
name = None

def root(context, environment=environment):
    l_data = context.resolve('data')
    t_1 = environment.filters['upper']
    if 0: yield None
    for l_row in l_data:
        if 0: yield None
        yield unicode(t_1(environment.getattr(l_row, 'name')))

blocks = {}
debug_info = '1=9'

Este código ha sido generado sobre la marcha por Jinja2. Por supuesto, el compilador lo optimiza aún más (por ejemplo, eliminando si 0: rendimiento Ninguno )

el motor de plantillas de Django es bastante decente. Es bastante robusto y no pisa demasiados dedos. Si estás trabajando con Python te lo recomendaría. No sé cómo divorciarme de Django, pero dudo que sea muy difícil ya que Django es bastante modular.

EDITAR: Aparentemente, mini guía para usar el motor de plantillas de Django standalone ya estaba delante de mí, gracias insin .

Personalmente, encontré que Plantillas de guepardo son muy amigables con el diseñador. Lo que necesitó algún tiempo fue la idea de crear subclases de plantillas, y esto fue algo difícil de conseguir al principio. Pero un diseñador crea una plantilla completa, duplicando su código ... Entonces, puedes limpiar todo un poco.

Para agregar al comentario de @Jaime Soriano, Genshi es el motor de plantillas utilizado en Trac post-0.11. Se puede usar como una solución de plantilla genérica, pero tiene un enfoque en HTML / XHTML. Tiene escape automático para reducir las vulnerabilidades de XSS.

Mi voto va a Clearsilver , es el motor de plantillas usado en Trac antes de 0.11, también se usa En páginas como Grupos de Google o Orkut. Los principales beneficios de este motor de plantillas es que es muy rápido e independiente del idioma.

He jugado ambos roles y en el fondo prefiero el lenguaje de plantilla de un programador. Sin embargo, soy freelance para unos pocos diseñadores gráficos que hacen el "trabajo pesado" respaldado y programación de db y puedo decirle que he tenido la mejor suerte con los lenguajes de plantillas XML (SimpleTAL, Genshi, etc.).

Cuando intento ser amigable con los diseñadores web, busco algo que se pueda cargar en Dreamweaver y vea los resultados. Esto me permite proporcionar todos los ganchos en una plantilla y dejar que el diseñador la modifique sin preocuparme por romper lo que ya escribí. Nos permite compartir el código y trabajar mejor juntos cuando ambos nos sentimos cómodos con el formato.

Si el diseñador codifica sin un editor WYSIWYG, creo que sus opciones son menos limitadas y podría ir con su favorito personal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top