render template that it is contains one '\r\n' string will return more than one
还没有人认领这个 Issue。
评估
调研方向
从报告中所示的 Jinjava 渲染调用和 withLstripBlocks(true)/withTrimBlocks(true) 配置开始。使用已设置的三个变量重现 CRLF 模板,然后跟踪块裁剪如何处理 '\r\n';为渲染结果中预期的行间距添加回归测试。
由索引模型根据 Issue 内容生成。
描述
render method with config withLstripBlocks(true).withTrimBlocks(true)
public static String render(String template, Map<String,Object> params) {
final JinjavaConfig config = JinjavaConfig
.newBuilder()
.withLstripBlocks(true).withTrimBlocks(true).build();
final Jinjava jinjava = new Jinjava(config);
final JinjavaInterpreter jinjavaInterpreter = jinjava.newInterpreter();
jinjavaInterpreter.getContext().putAll(params);
final String renderStr = jinjavaInterpreter.render(jinjavaInterpreter.parse(template));
return renderStr;
}
test code:
String template = "{% if bootefiDev %}\r\n" +
"part /boot/efi --fstype=\"efi\" --size=500 --ondisk={{ bootefiDev }}\r\n" +
"{% endif %}\r\n" +
"{% if bootDev %}\r\n" +
"part /boot --fstype ext4 --size=2048 --ondisk={{ bootDev }}\r\n" +
"{% endif %}\r\n" +
"{% if rootDev %}\r\n" +
"part / --fstype ext4 --size=1 --grow --ondisk={{ rootDev }}\r\n" +
"{% endif %}\r\n";
Map<String,Object> param = new HashMap<>();
param.put("bootefiDev","sda");
param.put("bootDev","sda");
param.put("rootDev","sda");
System.out.println(render(template,param));
and then i will get a render result below:
part /boot/efi --fstype="efi" --size=500 --ondisk=sda
part /boot --fstype ext4 --size=2048 --ondisk=sda
part / --fstype ext4 --size=1 --grow --ondisk=sda
- 主要语言
- Java
- 星标
- 785
- 派生
- 184
- 平均合并
- 6 天 22 小时
- 30 天内合并 PR
- 1
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
HubSpot/jinjava 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 64/100
-
Jinjava 3.0 未关闭
-
难度 4/5 3-5 天 新手友好度 35/100
-
难度 3/5 1-2 天 新手友好度 68/100
-
难度 3/5 1-2 天 新手友好度 45/100
相似的 Issue
-
documentation
难度 2/5 1-3 小时 新手友好度 65/100
inu-appcenter/memorIN-backend#288 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
-
frontend maui-pilot pilot-ask question
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
area/plugin
难度 2/5 1-3 小时 新手友好度 75/100
kestra-io/plugin-kestra#190 ·