标签: template-engine

如何在Mako运行时环境中优雅地处理NameError和AttributeError?

我发现尝试在Mako模板中访问一个未定义的变量会引发一个NameError,而且逻辑上也是如此.然而,在某些应用程序中,希望更优雅地失败,或许在这些错误上替换空字符串(AttributeError是另一个候选者).这是Django模板语言中的默认行为.有没有办法在Mako中获得这种行为?

python templates template-engine mako

4
推荐指数
1
解决办法
1414
查看次数

python列表和变量到html模板

将输出列表和变量很好地输入HTML模板的最佳方法是什么?

list = ['a', 'b', 'c']

template = '''<html>
<title>Attributes</title>
- a
- b
- c
</html>'''
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?

python template-engine

4
推荐指数
1
解决办法
8757
查看次数

什么取代了Smarty 3中的register_modifier

我正在寻找从2升级到Smarty 3并使用注册的少量修饰符

register_modifier($ModifierName, $FunctionName)
Run Code Online (Sandbox Code Playgroud)

我在文档中找不到它应该改变这些内容的地方,我试过了.

$Smarty->Register->Modifier(
Run Code Online (Sandbox Code Playgroud)

但得到一个错误.有人能指出我的文档.

php template-engine smarty

4
推荐指数
1
解决办法
1718
查看次数

在把手中重复使用模板

我是JS模板和Handlebars的新手我有一个嵌套的JSON结构,通常每个父节点都是一个新对象/具有不同的结构,所以递归不是我认为的解决方案.

我的问题是,是否可以从Handlebars中的模板调用另一个模板?

我的背景是XSLT

例:

<script id="entry-template" type="text/x-handlebars-template">
  <div>{{name}}</div>
  .. call template-2
</script>

<script id="template-2" type="text/x-handlebars-template">
  <div>{{name2}}</div>
   .. call template-3
</script>

<script id="template-3" type="text/x-handlebars-template">
  <div>{{name3}}</div>
</script>
Run Code Online (Sandbox Code Playgroud)

.. 等等

谁有建议?

最好的问候,鲍勃

javascript template-engine

4
推荐指数
1
解决办法
3142
查看次数

haml还是苗条的Go端口?

我发现自己使用Go编写Web内容,并发现内置的模板引擎是"有趣的".我想念我的Ruby项目中的haml(或slim).快速搜索没有给我任何类似的东西.Go有没有haml或slim的端口?

haml template-engine go slim-lang

4
推荐指数
2
解决办法
2819
查看次数

组装:注册车把辅助功能

我正在使用装配了车把1.3.0的装配 0.4.17.
我正在尝试添加一个自定义手柄助手,如此处所述.

所以我把它添加到我的Gruntfile(在文件的底部,在...之外module.exports = function(grunt) {)

Gruntfile.js

module.exports.asdf = function (str)  {  return 'asdf here!'; };
Run Code Online (Sandbox Code Playgroud)

并将其添加到
index.hbs中

{{#asdf}}
  bobo
{{/asdf}}
Run Code Online (Sandbox Code Playgroud)

我建议asdf here!将在生成的html中显示,但它不会,而是只打印一个空白行.我也试过这个module.exports.register = function (Handlebars, options)方法,但是这个方法也不行.我是否需要添加其他东西才能添加此车把助手?

我是Assemble和grunt and handlebar的新手,所以我可能只是错过了那个显而易见的东西

template-engine handlebars.js assemble grunt-assemble

4
推荐指数
1
解决办法
1872
查看次数

瓶子python中的rebase模板函数不会像应该那样呈现模板

我试图从瓶子文档中重现rebase函数的基本示例,但是当我的模板被渲染时,html代码被编码,我的标签被相应的html代码替换.

我的模板:

% rebase('base.tpl', title='Page Title')
<p>Page Content ...</p>
Run Code Online (Sandbox Code Playgroud)

我的基本模板:

<html>
<head>
  <title>{{title or 'No title'}}</title>
</head>
<body>
  {{base}}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

最终的html渲染:

<html>
<head>
  <title>Page Title</title>
</head>
<body>
      &lt;p&gt;Page Content ...&lt;/p&gt;

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我的模板包含在正确的位置,但是如果模板引擎出于安全原因而逃脱它并且我不知道为什么.

我很惊讶是唯一一个遇到这个问题的人.

我正在使用瓶子v0.12.5并在不同的环境中重现了这个问题(MacOSX和Ubuntu)

有什么想法或想法吗?谢谢

python template-engine bottle

4
推荐指数
1
解决办法
1418
查看次数

使用Hogan迁移到Typeahead 0.10+

我已经将Typeahead 0.9.3与Hogan 2一起使用了一段时间,而且设置非常简单.

在0.9.3我做了类似的事情:

$('input.search-query').typeahead([
     {
         name:     "pages"
        ,local:    localSuggestions
        ,template: '<div class="tt-suggest-page">{{value}}</div>'
        ,engine:   Hogan
    }
]);
Run Code Online (Sandbox Code Playgroud)

根据迁移指南0.10 "现在需要预编译模板",所以在0.10.3我正在尝试:

$('input.search-query').typeahead(null, {
     name:     "pages"
    ,source:   taSourceLocal.ttAdapter()
    ,templates: {
         suggestion: Hogan.compile('<div class="tt-suggest-page">{{value}}</div>')
     }
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我收到一个错误:Uncaught TypeError: object is not a function

如果还有另一个极简主义模板引擎可以工作,我也会考虑它,但它必须很小.我不想添加像Handlebars这样的大文件或像Underscore这样的整个库.

有任何想法吗?TIA!

javascript template-engine hogan.js typeahead.js twitter-typeahead

4
推荐指数
1
解决办法
1015
查看次数

什么API蓝图渲染器可以生成用于API文档目的的三列html文件?

以下是Stripe的API文档:https://stripe.com/docs/api 他们似乎使用的是三列模板.我想知道他们是否使用一些API蓝图渲染器(markdown-to-html类型的脚本)来生成它,类似于Aglio:https://github.com/danielgtaylor/aglio

如果他们不使用任何渲染器,那么还存在哪些其他类型的API蓝图渲染器?

rendering template-engine blueprint

4
推荐指数
1
解决办法
4237
查看次数

在一个js文件中预编译所有车把模板文件时出错

这是我的文件夹结构:

app
????templates
    ????templ1.hbs
    ????templ2.hbs
    ????templ3.hbs
Run Code Online (Sandbox Code Playgroud)

我想在一个templ.js文件中编译(预编译)所有templN.hbs把手模板文件,但当我尝试通过控制台进行

$ handlebars *.hbs -f templ.js
Run Code Online (Sandbox Code Playgroud)

编译因此错误而失败

(...)\AppData\Roaming\npm\node_modules\handlebars\bin\handlebars:120
    throw err;
    ^
 Error: Unable to open template file "*.hbs"
    at (...)\AppData\Roaming\npm\node_modules\handlebars\dist\cjs\precompiler.js:107:25
    at FSReqWrap.oncomplete (fs.js:82:15)
Run Code Online (Sandbox Code Playgroud)

怎么了?

javascript template-engine npm handlebars.js

4
推荐指数
1
解决办法
1175
查看次数