Tumblr使用什么模板语言?

时间:2009-04-05 18:40:16

标签: templates themes template-engine tumblr

Tumblr为其主题使用了一种非常简单的模板语言:

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

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

Start.io也使用相同的格式:

<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>

是自定义的,还是使用现有的模板语言?

如果它是定制的,你能建议一些类似的创建参考吗?

4 个答案:

答案 0 :(得分:3)

这些模板引擎看起来是定制的,但它们看起来与Smarty非常相似。

答案 1 :(得分:2)

嗯......我认为这是定制的,因为没有提及in the tumblr docs,我想如果他们使用现有的模板语言就会这样做。

但是,

JSON Template似乎是一种非常相似的模板语言。试试吧:))

答案 2 :(得分:1)

我最近发布了一个PHP模板引擎。 从https://www.ohloh.net/p/pheme

获取

答案 3 :(得分:1)

Tumblr当然有一个自定义解析器。查看my answer on Quora,了解其原因。

虽然JSONTemplate和Smarty对变量使用相同的大括号语法,但它们不兼容。另外,可以看出Start.io使用了不同的解析器,因为它允许custom conditionals。 Start.io条件格式为{if:Var}{if:Var < Num}。在Tumblr中,如果变量是官方的({block:Var}),则会将其写为单个元素块。如果用户在<meta>标记中指定变量,则它将使用{block:IfUserVar}语法