【问题标题】:What template language does Tumblr use?Tumblr 使用什么模板语言?
【发布时间】:2010-10-17 16:39:53
【问题描述】:

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>

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

如果是定制的,你能推荐一些参考来创建类似的东西吗?

【问题讨论】:

    标签: templates themes template-engine tumblr


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我认为 Tumbler 的模板语言与 Smarty 有很大不同,因为它使用块而不是 if/else 语句,并且几乎没有编程逻辑(与 Smarty 不同)。我觉得模板语言看起来更像是ExpressionEngineCodeIgniter的模板语言的简化版,也是定制的,相当有限。
      【解决方案3】:

      我最近发布了一个可以做到这一点的 PHP 模板引擎。 获取自:https://www.ohloh.net/p/pheme

      【讨论】:

      • 我认为这超越了客户端模板语言的想法。我认为 Tumblr 不想在他们的服务器上运行用户生成的代码。
      【解决方案4】:

      Tumblr 当然有一个自定义解析器。查看my answer on Quora 的几个例子,了解为什么会这样。

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

      【讨论】:

        猜你喜欢
        • 2011-04-30
        • 1970-01-01
        • 2010-09-12
        • 1970-01-01
        • 1970-01-01
        • 2016-07-29
        • 2015-07-03
        • 1970-01-01
        • 2015-07-19
        相关资源
        最近更新 更多