8

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

4 回答 4

3

这些模板引擎看起来是定制的,尽管它们看起来与Smarty极为相似。

于 2009-04-05T19:25:31.897 回答
2

嗯...我认为它是定制的,因为tumblr 文档中没有提到它,我想如果他们使用现有的模板语言就会这样做。

不过, JSON 模板似乎是一种非常相似的模板语言。试试看 :)

于 2009-04-05T18:57:44.943 回答
1

我最近发布了一个 PHP 模板引擎,它正是这样做的。从以下网址获取:https ://www.ohloh.net/p/pheme

于 2010-02-03T22:06:48.810 回答
1

Tumblr 当然有一个自定义解析器。看看我在 Quora上的回答,举几个例子说明为什么会这样。

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

于 2011-06-29T05:53:09.390 回答