我正在一个需要多语言支持的项目上.我决定使用Assemble(更具体地说是grunt-assemble),因为它已经是项目工具箱的一部分,所以我当前的设置使用JSON文件作为车把模板的数据/文本输入.
该站点是响应性的,并且需要使用分隔线< br />对文本进行一定程度的控制.或不间断空格避免孤立的话.有些句子要求将提及的标记或html实体包含在字符串中,否则我将*逐个单词分割句子,并将硬编码的html与json数据引用结合起来.想象这样的事情:
<p>{{word_1}}<br />{{word_2}}</p>
这种方法也不是很友好的翻译,因为另一种语言可能根本不需要换行.
为了避免这种情况,我尝试像这样通过JSON传递html:
{ "sentence" : "word<br />word" }
然而,汇编输出是文字的,因此代替功能标签或使用功能标签,我得到其字符串版本,并且页面按字面显示word< br /> word.与& nbsp;相同
通过汇编将JSON中的html标签或实体从JSON传递到车把模板的正确符号是(如果有的话)?
解决方法:
车把默认情况下会转义HTML,但是您可以避免使用三重隐藏格式{{{}}}进行转义.查看以下.hbs页面:
---
title: Test
htmlData: This is some <br/> html in data
---
<p>double-stash: {{htmlData}}</p>
<p>triple-stash: {{{htmlData}}}</p>
结果是:
double-stash: This is some <br/> html in data
triple-stash: This is some
html in data