zoukankan      html  css  js  c++  java
  • mustache

    mustache官网是这么介绍的:

    Logic-less templates.

    Available in RubyJavaScriptPython,ErlangPHPPerlObjective-CJava.NET,AndroidC++GoLuaoocActionScript,ColdFusionScalaClojureFantom,CoffeeScriptD, and for node.js.

    Works great with TextMateVimEmacs, andCoda.

    The Manual: mustache(5) and mustache(1)

    总而言之,支持很多语言,作者是facebook的蒋博士。

    全部用法详见http://mustache.github.com/mustache.5.html

    github的html彩蛋:

    1. <!--  
    2.                                       _  _  
    3.                             _____*~~~  **  ~~~*_____  
    4.                          __* ___     |/__/|     ___ *__  
    5.                        _*  / 888~~/__(8OO8)__/~~888 /  *_  
    6.                      _*   /88888888888888888888888888/   *_  
    7.                      *   |8888888888888888888888888888|   *  
    8.                     /~*  /8888/~/88/~/8888/~/88/~/8888/  *~  
    9.                    /  ~*  /88/   //   (88)   //   /88/  *~  
    10.                   /    ~*  //          //          //  *~  
    11.                  /       ~~*_                      _*~~/  
    12.                 /            ~~~~~*___ ** ___*~~~~~  /  
    13.                /                      ~  ~         /  
    14.               /                                  /  
    15.              /                                 /  
    16.             /                                /  
    17.            /                    t__n__r__  /  
    18.           /                    | ####### |  
    19.          /            ___      | ####### |             ____i__           /  
    20.         /  _____p_____l_l____  | ####### |            | ooooo |         qp  
    21. i__p__ /  |  ##############  | | ####### |__l___xp____| ooooo |      |~~~~|  
    22.  oooo |_I_|  ##############  | | ####### |oo%Xoox%ooxo| ooooo |p__h__|##%#|  
    23.  oooo |ooo|  ##############  | | ####### |o%xo%%xoooo%| ooooo |      |#xx%|  
    24.  oooo |ooo|  ##############  | | ####### |o%ooxx%ooo%%| ooooo |######|x##%|  
    25.  oooo |ooo|  ##############  | | ####### |oo%%x%oo%xoo| ooooo |######|##%x|  
    26.  oooo |ooo|  ##############  | | ####### |%x%%oo%/oo%o| ooooo |######|/#%x|  
    27.  oooo |ooo|  ##############  | | ####### |%%x/oo/xx%xo| ooooo |######|#%x/|  
    28.  oooo |ooo|  ##############  | | ####### |xxooo%%/xo%o| ooooo |######|#^x#|  
    29.  oooo |ooo|  ##############  | | ####### |oox%%o/x%%ox| ooooo |~~~$~~|x##/|  
    30.  oooo |ooo|  ##############  | | ####### |x%oo%x/o%//x| ooooo |_KKKK_|#x/%|  
    31.  ooo~/|ooo|~/##############  | ~/####### |oox%xo%%oox%~/ooooo |_|~|~/|xx%/|  
    32.  ooo ||oHo| |####AAAA######  |h||##XX### |x%x%WWx%%/ox||ooDoo |_| |Y||xGGx|  
    33.  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  | ~~~~~~~  
    34. -->  

    个人觉得比smarty好用多了。不为别的,因为简洁明了。

    传闻 豆瓣说(http://shuo.douban.com) 运用了这种模板?关注中

    简要介绍下用法:

    1A typical Mustache template:

    1. Hello {{name}}  
    2. You have just won ${{value}}!  
    3. {{#in_ca}}  
    4. Well, ${{taxed_value}}, after taxes.  
    5. {{/in_ca}}  

    Given the following hash:

    [javascript] view plaincopyprint?
    1. {  
    2.   "name""Chris",  
    3.   "value": 10000,  
    4.   "taxed_value": 10000 - (10000 * 0.4),  
    5.   "in_ca"true  
    6. }  

    Will produce the following:

    1. Hello Chris  
    2. You have just won $10000!  
    3. Well, $6000.0, after taxes.  
    Mustache可以用在包括html 配置文件 源代码之类的任何地方。通过提供hash或者对象可以渲染出模板中的变量。模板没有if-else,for-loop标记,只有标记(tag)。
    常用标签有类似{{name}},{{#person}}这样语法的标签.如果不提供值,将不会渲染出来。{{{html}}}和{{& html}}将会渲染出没有转义的html内容。
    区域渲染通过{{#person}} ... {{/person}}来实现。例如
    1. Shown.  
    2. {{#nothin}}  
    3.   Never shown!  
    4. {{/nothin}}  
    输出Shown.(如果没有提供nothin)
    如果提供了非空列表或者数组,区域渲染将会重复渲染列表或数组每一项。例如

    Template:

    1. {{#repo}}  
    2.   <b>{{name}}</b>  
    3. {{/repo}}  

    Hash:

    1. {  
    2.   "repo": [  
    3.     { "name": "resque" },  
    4.     { "name": "hub" },  
    5.     { "name": "rip" },  
    6.   ]  
    7. }  

    Output:

    1. <b>resque</b>  
    2. <b>hub</b>  
    3. <b>rip</b>  
    另外,Mustache支持lambda表达式

    Template:

    1. {{#wrapped}}  
    2.   {{name}} is awesome.  
    3. {{/wrapped}}  

    Hash:

    1. {  
    2.   "name": "Willy",  
    3.   "wrapped": function() {  
    4.     return function(text) {  
    5.       return "<b>" + render(text) + "</b>"  
    6.     }  
    7.   }  
    8. }  

    Output:

    1. <b>Willy is awesome.</b>  
    打注释也很方便:{{! ignore me }}
    导入别的文件只要像这样:
    1. base.mustache:  
    2. <h2>Names</h2>  
    3. {{#names}}  
    4.   {{> user}}  
    5. {{/names}}  
    6.   
    7. user.mustache:  
    8. <strong>{{name}}</strong>  
    便能输出
    1. <h2>Names</h2>  
    2. {{#names}}  
    3.   <strong>{{name}}</strong>  
    4. {{/names}}  
    另外的另外{{}}也是可以自行配置的!
  • 相关阅读:
    STL中的distance和advance的简单用法
    Excel 根据数据 快捷生成sql语句
    vi | vim 用法
    常用windows 命令
    .NETCore3.0 + EFCore中使用Oracle报“ORA-12154: TNS:could not resolve the connect identifier specified"的错误处理
    CentOS虚拟机上安装java
    Eclipse快捷键
    Spring学习笔记
    ifconfig: command not found(CentOS专版,其他的可以参考)
    利用正则表达式截取带有嵌套方括号中最内层的字符串, 无论嵌套多少层始终要最里面的方括号的内容
  • 原文地址:https://www.cnblogs.com/taoze/p/2892086.html
Copyright © 2011-2022 走看看