Questions tagged «templating»



25
Bash模板:如何使用Bash从模板构建配置文件?
我正在编写一个脚本,为自己的Web服务器自动为Apache和PHP创建配置文件。我不想使用任何CPanel或ISPConfig之类的GUI。 我有一些Apache和PHP配置文件的模板。Bash脚本需要读取模板,进行变量替换并将已解析的模板输出到某个文件夹中。最好的方法是什么?我可以想到几种方式。哪一个最好,或者可能有更好的方法呢?我想在纯Bash中做到这一点(例如,在PHP中很简单) 1)如何在文本文件中替换$ {}占位符? template.txt: the number is ${i} the word is ${word} script.sh: #!/bin/sh #set variables i=1 word="dog" #read in template one line at the time, and replace variables #(more natural (and efficient) way, thanks to Jonathan Leffler) while read line do eval echo "$line" done < "./template.txt" 顺便说一句,我如何在这里将输出重定向到外部文件?如果变量包含引号,我是否需要转义? …

8
通过把手传递变量
我目前正在express.js应用程序中处理handlebars.js。为了使事情保持模块化,我将所有模板都分成了部分。 我的问题:我找不到通过部分调用传递变量的方法。假设我有一个部分看起来像这样: <div id=myPartial> <h1>Headline<h1> <p>Lorem ipsum</p> </div> 假设我用“ myPartial”这个名字注册了这个部分。然后,在另一个模板中,我可以说: <section> {{> myPartial}} </section> 效果很好,部分将按预期渲染,我是一个快乐的开发人员。但是,我现在需要的是一种通过此调用传递不同变量的方法,例如在部分标题内检查是否给出标题。就像是: <div id=myPartial> {{#if headline}} <h1>{{headline}}</h1> {{/if}} <p>Lorem Ipsum</p> </div> 发票应如下所示: <section> {{> myPartial|'headline':'Headline'}} </section> 或者。 我知道,在渲染模板之前,我能够定义所需的所有数据。但是我需要一种像刚才解释的方法。有没有办法?


6
使用handlebars.js模板以数组中的最后一项为条件
我将handlebars.js用于模板引擎,并希望仅当条件段是模板配置对象中包含的数组的最后一项时才显示条件段。 { columns: [{<obj>},{<obj>},{<obj>},{<obj>},{<obj>}] } 我已经拉了一个助手来做一些相等/更大/小于的比较,并且已经成功地通过这种方式识别了初始项目,但是没有运气来访问目标数组的长度。 Handlebars.registerHelper('compare', function(lvalue, rvalue, options) {...}) "{{#each_with_index columns}}"+ "<div class='{{#equal index 0}} first{{/equal}}{{#equal index ../columns.length()}} last{{/equal}}'>"+ "</div>"+ "{{/each_with_index}}" 有谁知道捷径,不同的方法以及一些车把的优点,这些使我不必再进入handlebars.js引擎来确定最佳路线?

2
R:如何优雅地将代码逻辑与UI / html-tags分开?
问题 动态创建ui元素(shiny.tag,,shiny.tag.list...)时,我经常发现很难将其与代码逻辑分开,并且通常最终会产生混乱的嵌套嵌套tags$div(...),并与循环和条件语句混合在一起。尽管令人讨厌且难看,但它也容易出错,例如,在对html模板进行更改时。 可复制的例子 假设我具有以下数据结构: my_data <- list( container_a = list( color = "orange", height = 100, content = list( vec_a = c(type = "p", value = "impeach"), vec_b = c(type = "h1", value = "orange") ) ), container_b = list( color = "yellow", height = 50, content = list( vec_a …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.