标签: template-engine

如何避免在mako%def中重复过滤规范?

我发现自己在我的mako代码中的所有%def上重复了相同的过滤器属性:

<%def name="mydef1(a,b)" filter="trim">
# something something something
</%def>

... 

<%def name="mydef2(b)" filter="trim">
# something something something
</%def>
Run Code Online (Sandbox Code Playgroud)

有没有办法为所有%def指定一组默认过滤器,并避免在我的代码中重复'filter ="trim"'?

我注意到有一个选项可以为表达式过滤器指定默认过滤器,但我找不到类似于%def的东西.

python template-engine mako

13
推荐指数
1
解决办法
220
查看次数

框架和模板引擎有什么区别?

zendframework和像smarty这样的模板引擎之类的框架有什么区别?

作为初学者,我应该从哪开始?

php frameworks template-engine

12
推荐指数
2
解决办法
9541
查看次数

在Jade模板中对对象进行递归迭代?

我有一个混合类型属性的对象 - 一些字符串,一些字符串数组,一些包含字符串数组的对象 - 可能会深入多层次.

我想遍历所有属性,以便对象创建div,数组创建div,字符串属性创建包含文本的span.

{ "string" : "some text", "object" : { "array" : [ "text" ] } }
Run Code Online (Sandbox Code Playgroud)

上面的对象将呈现为:

<span>some text</span>
<div>
  <div>
    <span>text</span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

但通常结构要复杂得多.我应该如何实现这一目标呢?

recursion template-engine pug

12
推荐指数
3
解决办法
6776
查看次数

Jade textarea的长文本块?

我在我最新的node.js应用程序中使用Jade.我希望默认情况下在textarea中有一长串文本.

如果我做这样的事情:

textarea(id="theTextarea")
Run Code Online (Sandbox Code Playgroud)

它渲染得很好:

<textarea id="theTextarea"></textarea>
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做:

textarea(id="theTextarea")
  Hello world.
Run Code Online (Sandbox Code Playgroud)

我明白了:

<textarea id="theTextarea">
  <hello>world</hello>
</textarea>
Run Code Online (Sandbox Code Playgroud)

但我希望它是这样的:

<textarea id="theTextarea">
  hello, world
</textarea>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

javascript template-engine node.js pug

12
推荐指数
3
解决办法
1万
查看次数

如何自定义Blueimp jQuery File Upload的上传/下载模板

我正在尝试使用jQuery文件上传演示.我已经搜索了wiki和模板引擎wiki但是找不到如何在不使用表格行标签的情况下自定义上传/下载模板的答案.每次我删除/更改表行标记它都不起作用.

Bellow是我自定义的上传模板,它不起作用.我不知道为什么,有人可以帮忙吗?

uploadTemplate: function (o) {
        var rows = $();
        $.each(o.files, function (index, file) {
            var row = $('<li class="span3"><div class="thumbnail template-upload">' +
                '<div class="preview"><span></span></div>' +
                '<div class="caption"><h5 class="name"></h5>' +
                '<p class="size"></p>' +
                (file.error ? '<div class="error" colspan="2"></div>' :
                        '<div><div class="progress">' +
                            '<div class="bar" style="width:0%;"></div></div></div>' +
                            '<div class="start"><button>Start</button></div>'
                ) + '<div class="cancel"><button>Cancel</button></div></div></div></li>');
            row.find('.name').text(file.name);
            row.find('.size').text(o.formatFileSize(file.size));
            if (file.error) {
                row.find('.error').text(
                    locale.fileupload.errors[file.error] || file.error
                );
            }
            rows = rows.add(row);
        });
        return rows;
    },
Run Code Online (Sandbox Code Playgroud)

javascript jquery template-engine

12
推荐指数
1
解决办法
2万
查看次数

如何将node.js服务器变量传递到我的angular/html视图中?

我在启动服务器的app.js文件中有这条路线

app.get('/view/:item_id', function(req,res){
    var A = 5;
    res.render('view_item');
Run Code Online (Sandbox Code Playgroud)

我在view_item.html中有这个:

<p>{{A}}</p>
Run Code Online (Sandbox Code Playgroud)

我希望它显示变量值 - 5.如果我使用的是模板引擎,如jade,那将很容易.我可以将我的服务器代码的第三行更改为res.render({A:A},'view_item');

但我使用html作为我的模板引擎.到目前为止,我的研究告诉我,使用带有角度的模板引擎通常是一个坏主意,并且始终有一种方法可以使用angular的内置模板系统来完成它.那我该怎么做?我以某种方式将它传递给$ scope并包含类似

<script>
    $scope.A = {{A}};
</script>
Run Code Online (Sandbox Code Playgroud)

我没有在任何地方看到这样做,所以我认为它没有办法.

javascript template-engine node.js angularjs

12
推荐指数
1
解决办法
2万
查看次数

快递4支持布局的模板引擎

我正在寻找Express 4.x中Jade模板的替代品,因为我真的不喜欢Jade的语法.我正在倾向于EJS,因为它基本上只是类固醇上的HTML.

但是,Jade模板的一个非常好的功能是能够使用布局.我找到了https://www.npmjs.org/package/express-ejs-layouts,但它似乎是针对express 3而且它的构建失败了:/.

我还发现https://www.npmjs.org/package/ejs-mate是为express 4.x而制作的,但它似乎只支持单个内容块(正文).

我想要这样的东西:

layout.something:

<html>
    <head>
        <% block styles %>
        <% block scripts %>
    </head>
    <body>
        <% block body %>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

index.html:

uses layout "layout.somehing"
scripts:
    <script src="my_custom_script.js"></script>

styles:
    <link rel="stylesheet ...></link>

body:
    <h1>This is my body!</h1>
Run Code Online (Sandbox Code Playgroud)

这样产生:

<html>
    <head>
        <link rel="stylesheet ...></link>
        <script src="my_custom_script.js"></script>
    </head>
    <body>
        <h1>This is my body!</h1>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

有没有人知道除了玉之外还有能力的发动机?

template-engine node.js express

12
推荐指数
1
解决办法
4977
查看次数

Thymeleaf:如何在使用th时排除外部标签:每个?

Thymeleaf 2.1.4官方文档演示了for each如下用法:

 <tr th:each="prod : ${prods}" th:class="${prodStat.odd}? 'odd'">
    <td th:text="${prod.name}">Onions</td>
    <td th:text="${prod.price}">2.41</td>
    ...
 </tr>
Run Code Online (Sandbox Code Playgroud)

它<tr>在每次迭代中生成一个,这在这种情况下是完美的.但是在我的情况下,我不需要外部标签(这里<tr>).


我的用例是以<bookmark>递归方式生成标记,没有其他标记包含,<bookmark>标记必须包含名称和href属性.

<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-4.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<body>

<div th:fragment="locationBookmark(location)">
    <bookmark th:each="map : ${location.subMaps}">
        <bookmark th:name="${map.name}"
                  th:href="'#'+${map.id}" th:include=":: locationBookmark(${map})">
        </bookmark>
    </bookmark>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

包括方面:

<bookmark th:include="bookmark : locationBookmark(${rootLocation})"/>
Run Code Online (Sandbox Code Playgroud)

非常感谢.

java template-engine thymeleaf

12
推荐指数
1
解决办法
7835
查看次数

我应该在CherryPy中使用哪种模板技术?

我正在使用cherrypy构建Web应用程序.

你推荐我使用什么模板技术?

python templates template-engine cherrypy

11
推荐指数
2
解决办法
7668
查看次数

在Handlebars模板中执行javascript

我是js模板引擎的新手.把手似乎是最受欢迎的选择.我不喜欢做条件,循环等的语法,但因为我完全有能力并且感觉更舒服使用普通的旧js而且我不打算让任何不懂js的人触摸我的模板,我在问Handlebars是否支持这个.

当然,最受欢迎的选择并不总是最好的.我更像是一个Mootools家伙,jQuery让我疯狂(伟大的图书馆,不适合我).因此,如果Handlebars是jQuery的模板引擎,Mootools会是什么?

javascript template-engine handlebars.js

11
推荐指数
2
解决办法
1万
查看次数