我正在创建一个服务,希望允许终端用户编辑HTML模板,以便在模板中访问特定的“变量”。
我知道Liquid是为此目的而设计的,相对而言比较安全,并且被广泛生产使用。但是,与Mustache之类的语言相比,我认为它对终端用户来说相当复杂。
Mustache听起来很棒,但我担心安全问题... 它是否曾经用于终端用户模板?
基本上,我正在寻找一种可以用于Rails的模板引擎,适用于终端用户,具备以下特点:
- 安全 - 不会允许用户执行代码... 至少不在服务器上。 用户将被允许插入客户端javascript。
- 功能强大 - 允许终端用户使用提供的“变量”创建几乎任何想象出的网页,并符合#1的上下文
- 简单 - 语法明确,易于终端用户应用
- 如果支持在javascript和其他语言中呈现模板语法,则奖励点。
Liquid满足#1&2,但不满足3-4。 Mustache满足2-4,但我不确定#1,并且这是不可协商的。
非常感谢任何见解,经验或评论。