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>
是自定义的,还是使用现有的模板语言?
如果它是定制的,你能建议一些类似的创建参考吗?
答案 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}
语法