撇号富文本小部件样式

时间:2017-12-11 05:50:24

标签: apostrophe-cms

我现在在撇号富文本小部件中遇到了一个小问题。出于某种原因,编辑富文本小部件时保存的唯一配置选项是元素类型,甚至只有部分时间。我现在有7个测试配置:

{{1}}

其中,当在样式下拉列表中选择该选项时,所有这些都正确显示。但是当页面重新加载时,显然很少保存。在前3个示例中(来自Apostrophe文档),元素类型被保存并正确显示,但该类未应用于元素。在第4个示例中,元素类型或类都没有在页面重新加载时正确应用(它似乎默认返回“标题”样式)。最后3个根本没有保存 - 样式在重新加载之前显示,但在重新加载后,它们默认为标题样式。

是否有正确配置的内容才能正确保存/应用这些样式?

谢谢!

1 个答案:

答案 0 :(得分:2)

为富文本配置自定义属性分为两部分:首先,正如您所知,在编辑和编写时定义CKEditor的内容。第二个是配置sanitize-html以将这些属性列入白名单,这可以防止它们在保存期间被剥离。

在项目级/lib/modules/apostrophe-rich-text-widgets/index.js中,您可以为sanitize-html提供配置。

module.exports = {
  ...
  sanitizeHtml: {
    allowedClasses: {
      'p': ['testClass'],
      'h1': ['testClass']
    },
    allowedAttributes: {
      '*': ['style', 'href', 'color']
    }
  }
}

查看sanitize-html的自述文件以更好地了解其默认设置和其他配置https://github.com/punkave/sanitize-html