2009-04-05 12 views
8

Tumblr, temalar için çok basit bir şablon dili kullanır:Tumblr hangi şablon dilini kullanır?

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

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

Start.io de aynı formatı kullanır:

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

Özel olarak üretilmiş mi yoksa mevcut bir dil mi kullanıyor?

Özel yapılmışsa, benzer bir şey oluşturmaya yönelik bazı referanslar önerebilir misiniz?

cevap

2

Hmm ... Sanırım bu, özel bir şablon dili kullanacaklarsa, in the tumblr docs'dan bahsetmediği için özel olarak üretildiğini düşünüyorum. Yine de, oldukça benzer bir şablon dili gibi gözükmektedir. Deneyin :)

+0

+1 for JSON Şablon –

3

Bu şablon motorları, Smarty'a çok benzer görünse de, ısmarlama görünür.

+1

Sanırım Tumbler'ın şablon dili, Smarty'den oldukça farklıdır, çünkü/else ifadeleri yerine bloklar kullanır ve neredeyse hiç programlama mantığına sahip değildir (Smarty'den farklı olarak). Ben şablon dili daha basitleştirilmiş [ExpressionEngine] (http://expressionengine.com/user_guide/overview/tags.html) şablon dili sürümü ve [CodeIgniter'ın] (http://codeigniter.com/user_guide benziyor /libraries/parser.html), ayrıca özel yapım ve oldukça sınırlıdır. – Blaise

1

Son zamanlarda tam olarak bunu yapan bir PHP şablon motoru yayınladım. ondan alın: https://www.ohloh.net/p/pheme

+0

Bence bu, istemci tarafındaki templasyon dili fikrini yener. Tumblr'ın kullanıcı tarafından oluşturulmuş kodları kendi sunucularında çalıştırmak istediğini sanmıyorum. – Deviljho

1

Tumblr kesinlikle özel bir ayrıştırıcı vardır. Bunun neden olduğuyla ilgili bir çift örnek için my answer on Quora'a bakın.

JSONTemplate ve Smarty değişkenler için aynı kaşlı ayraç sözdizimini kullanırken, bunlar uyumlu değildir. Ayrıca, Start.io'nun custom conditionals için izin verdiği gibi farklı bir ayrıştırıcı kullandığını söyleyebiliriz. Start.io koşullu biçimi {if:Var} veya {if:Var < Num}'dur. Tumblr, değişken <meta> etiketinde kullanıcı tarafından belirtilmişse, {block:IfUserVar} sözdizimini kullanırsa, değişken resmi ise ({block:Var}) tek öğe bloğu olarak yazılır.