node.js jade模板 – 自定义语法和replace?

我试图让玉为我自动生成url:

所以如果我有像这样的用户链接:

.userLink a(href="/#{user}") #{user} 

我希望能够用(假设的语法)来代替它:

 .userLink userLink(#{user}) 

无论如何要做到这一点?

谢谢

编辑:OKAY我明白了:

 mixin userLink(user) a(href="/" + user)= user mixin userLink("Bob") 

看起来像这样会工作。

更新:

这是一个使用翡翠mixins的版本。 可悲的是,我似乎无法在“a”标签的括号内的属性列表中find“用户”variables。

 mixin userLink(user) a(href="/" + user)= user mixin userLink("Bob") mixin userLink("Alice") mixin userLink("Cooper") 

生成这个HTML

 <a href="/undefined"></a> Bob <a href="/undefined"></a> Alice <a href="/undefined"></a> Cooper 

只需在你的locals对象中放一个辅助函数,然后从模板中调用它

 locals = {userLink: function(userName) { return "<a href=....."}} jade.render('myview', {locals: locals}) 

然后在你的玉模板上做:

 = userLink(user) 

你可能也想看看注册一个dynamicHelper函数 。