2009-04-05 20 views
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> 

यह कस्टम मेड है, या यह एक मौजूदा टेम्पलेट भाषा का प्रयोग करता है?

यदि यह कस्टम बनाया गया है, तो क्या आप कुछ समान बनाने के लिए कुछ संदर्भ सुझा सकते हैं?

उत्तर

2

हम्म ... मुझे लगता है कि यह कस्टम बनाया गया है, क्योंकि इसका उल्लेख in the tumblr docs नहीं है, जो मुझे लगता है कि अगर वे मौजूदा टेम्पलेट भाषा का उपयोग करेंगे तो ऐसा होगा।

JSON Template हालांकि, काफी समान टेम्पलेट भाषा प्रतीत होती है। इसे आज़माएं :)

+0

JSON टेम्पलेट –

3

ये टेम्पलेट इंजन कस्टम-निर्मित दिखाई देते हैं, हालांकि वे Smarty के समान दिखते हैं।

+1

के लिए +1 मुझे लगता है कि टंबलर की टेम्पलेट भाषा Smarty से काफी अलग है क्योंकि यह/else कथन के बजाय ब्लॉक का उपयोग करती है और इसमें लगभग कोई प्रोग्रामिंग तर्क नहीं है (Smarty के विपरीत)। मुझे लगता है कि टेम्पलेट भाषा [ExpressionEngine] (http://expressionengine.com/user_guide/overview/tags.html) और [CodeIgniter] की टेम्पलेट भाषा के सरलीकृत संस्करण की तरह दिखती है (http://codeigniter.com/user_guide/libraries/parser.html), जो कस्टम-निर्मित और काफी सीमित है। – Blaise

1

मैंने हाल ही में एक PHP टेम्पलेट इंजन प्रकाशित किया जो वास्तव में करता है। इसे प्राप्त करें: https://www.ohloh.net/p/pheme

+0

मुझे लगता है कि यह क्लाइंट-साइड टेम्पलेटिंग भाषा का विचार धड़कता है। मुझे नहीं लगता कि टंबलर अपने सर्वर पर उपयोगकर्ता द्वारा जेनरेट किए गए कोड को चलाने के लिए चाहता है। – Deviljho

1

टंबलर के पास निश्चित रूप से एक कस्टम पार्सर है। उदाहरण के लिए my answer on Quora देखें कि यह क्यों है।

जबकि JSONTemplate और Smarty चर के लिए समान घुंघराले ब्रेस वाक्यविन्यास का उपयोग करते हैं, वे संगत नहीं हैं। इसके अलावा, कोई यह बता सकता है कि Start.io एक अलग पार्सर का उपयोग करता है क्योंकि यह custom conditionals के लिए अनुमति देता है। Start.io सशर्त प्रारूप {if:Var} या {if:Var < Num} है। टम्बलर में यह एक तत्व ब्लॉक के रूप में लिखा जाएगा यदि चर आधिकारिक ({block:Var}) अन्यथा है यदि उपयोगकर्ता द्वारा <meta> टैग में चर निर्दिष्ट किया गया है तो यह {block:IfUserVar} वाक्यविन्यास का उपयोग करेगा।