使用Handlebars {{each}}时如何移除条目间的多余换行符?
解决Handlebars生成Changelog时列表条目多余换行的问题
问题分析
你用Handlebars结合gitmoji生成Changelog时,列表条目间出现多余空行,尝试用{{~#each}}和{{~/each}}控制空格却导致标题与首个条目粘连,核心原因是全局控制each块的空格会误删标题与列表之间的换行。
正确解决方案
只需要在子模板引用的末尾添加空格控制符~,保留标题与首个条目之间的换行,同时移除条目内部的多余换行:
# 🎉 {{nextRelease.version}} {{#with commits}} {{#if sparkles}} ## ✨ New Features {{#each sparkles}} - {{> commitTemplate~}} {{/each}} {{/if}} {{/with}}
原理说明
{{> commitTemplate~}}中的~会移除该表达式之后的换行符,避免每个条目输出后产生额外空行- 不对
{{#each sparkles}}添加前缀~,这样标题和第一个列表条目之间的换行得以保留,不会出现粘连问题 - 如果你的
commitTemplate子模板内部末尾自带换行,也可以在子模板的最后表达式添加~来彻底消除多余换行
内容的提问来源于stack exchange,提问作者BugsForBreakfast
相关产品推荐
相关产品推荐

