2009-04-05 11 views
8

Tumblr utiliza un lenguaje de plantillas muy simple por sus temas:¿Qué lenguaje de plantilla usa Tumblr?

{block:Text} 
    <li class="post text"> 
     {block:Title} 
      <h3><a href="{Permalink}">{Title}</a></h3> 
     {/block:Title} 

     {Body} 
    </li> 
{/block:Text} 

Start.io también utiliza el mismo formato:

<html> 
    <head> 
    <title>{Name} @ start.io</title> 
    </head> 
    <body> 
    {Groups} 
     <h1>{Name}</h1> 
     <ul> 
     {Links} 
     <li><a href="{Permalink}">{Title}</a></li> 
     {/Links} 
     </ul> 
    {/Groups} 
    </body> 
</html> 

está hecho a medida, o utiliza un lenguaje de plantilla existente?

Si está hecho a medida, ¿puede sugerir algunas referencias para crear algo similar?

Respuesta

2

Hmm ... Creo que es hecho a medida, ya que no se menciona in the tumblr docs, lo que supongo que sería si utilizaran un lenguaje de plantilla existente.

JSON Template parece ser un lenguaje de plantilla bastante similar. Pruébalo :)

+0

+1 para plantilla JSON –

3

Estos motores de plantillas aparecen hechos a medida, aunque se ven muy similares a Smarty.

+1

Creo que el lenguaje de plantilla de Tumbler es bastante diferente de Smarty porque usa bloques en lugar de sentencias if/else y casi no tiene lógica de programación (a diferencia de Smarty). Creo que el lenguaje de plantilla se parece más a una versión simplificada del lenguaje de plantilla de [ExpressionEngine] (http://expressionengine.com/user_guide/overview/tags.html) y [CodeIgniter] (http://codeigniter.com/user_guide /libraries/parser.html), que también está hecho a medida y es bastante limitado. – Blaise

1

Recientemente publiqué un motor de plantillas PHP que hace exactamente eso. Consíguelo en: https://www.ohloh.net/p/pheme

+0

Creo que esto supera la idea de un lenguaje de plantillas del lado del cliente. No creo que Tumblr quiera ejecutar código generado por el usuario en sus servidores. – Deviljho

1

Tumblr ciertamente tiene un analizador personalizado. Consulte my answer on Quora para ver un par de ejemplos de por qué esto es.

Aunque JSONTemplate y Smarty usan la misma sintaxis de llave para variables, no son compatibles. Además, uno puede decir que Start.io usa un analizador diferente ya que permite custom conditionals. El formato condicional de Start.io es {if:Var} o {if:Var < Num}. En Tumblr, esto se escribiría como un bloque de elemento único si la variable es oficial ({block:Var}); de lo contrario, si el usuario especifica la variable en una etiqueta <meta>, usaría la sintaxis {block:IfUserVar}.

Cuestiones relacionadas