Какой язык шаблонов использует 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>

Он сделан на заказ или использует существующий язык шаблонов?

Если это сделано на заказ, можете ли вы предложить несколько ссылок для создания чего-то подобного?


person meleyal    schedule 05.04.2009    source источник


Ответы (4)


Эти механизмы шаблонов кажутся сделанными на заказ, хотя они очень похожи на Smarty.

person Ron DeVera    schedule 05.04.2009
comment
Я думаю, что язык шаблонов Tumbler сильно отличается от Smarty, потому что он использует блоки вместо операторов if/else и почти не имеет логики программирования (в отличие от Smarty). Я думаю, что язык шаблонов больше похож на упрощенную версию языка шаблонов ExpressionEngine и CodeIgniter, который также сделан на заказ и весьма ограничен. - person Blaise; 27.06.2011

Хм... Я думаю, что это сделано на заказ, поскольку оно не упоминается в документах tumblr. , что, я полагаю, было бы, если бы они использовали существующий язык шаблонов.

Шаблон JSON кажется довольно похожим язык шаблонов, однако. Попробуй это :)

person moff    schedule 05.04.2009

Недавно я опубликовал механизм шаблонов PHP, который делает именно это. Получите его по адресу: https://www.ohloh.net/p/pheme.

person Community    schedule 03.02.2010
comment
Я думаю, что это превосходит идею языка шаблонов на стороне клиента. Я не думаю, что Tumblr хочет запускать пользовательский код на своих серверах. - person LasagnaAndroid; 19.02.2014

В Tumblr определенно есть собственный парсер. Проверьте мой ответ на Quora для пары примеров того, почему это так.

Хотя JSONTemplate и Smarty используют один и тот же синтаксис фигурных скобок для переменных, они несовместимы. Кроме того, можно сказать, что Start.io использует другой синтаксический анализатор, так как он допускает настраиваемые условия. Условный формат Start.io — {if:Var} или {if:Var < Num}. В Tumblr это будет записано как блок с одним элементом, если переменная является официальной ({block:Var}), иначе, если переменная указана пользователем в теге <meta>, будет использоваться синтаксис {block:IfUserVar}.

person Chris Lloyd    schedule 29.06.2011