CKEditor如何处理自定义语义标记?

时间:2016-01-01 13:43:50

标签: ckeditor semantic-markup

我需要一个WYSIWYG编辑器,可以为任意语义标记进行自定义 - 目前以XML语法表示。我知道CKEditor是可自定义的,但我的语义在HTML中没有对应关系。

例如:

< Place Id =' place-id'>地点参考< / Place>

我希望能够将类似于此的语义附加到任意文本位,并使用一组可配置的样式显示它们 - 每种类型的语义一个。例如,此示例中的地点引用可能会以特定字体,绿色和斜体显示(此处仅供参考)。

我简要介绍了markdown附加组件,但其功能仍然与HTML匹配。

我希望找到一个非常简单的例子,它展示了编辑器对纯自定义语义的适用性,并且没有假设他们在HTML / XHTML中有对应关系。

这可能吗?

1 个答案:

答案 0 :(得分:3)

每个自定义标记都将具有语义方面(上面示例中的地点引用和ID)和表示方面(我如何看待描述的标记引用)。如果自定义标记替换为< span>或者< div>然后,它可以代表两个方面,并且应该被HTML编辑器接受,例如CKEditor - 目前尚未经过验证。

例如,考虑具有多个属性值的自定义XML标记的另一个示例:

<Anom Mode='Intralinear' Posn='T' Ref='^'> some text </Anom>

这可以转换如下,使编辑器可以接受(其中“xx”是一些独特的专有名称,以避免名称冲突):

<span class="xx-anom" data-xx-mode="Intralinear" data-xx-posn="T" data-xx-ref="^"> some text </span>

除了捕获属性值之外,我相信这应该允许编辑器根据不同的样式显示不同的标记文本,使用一些具有选择器的CSS,例如span.xx-anom。

CKeditor已经有用于markdown和BBCode的第三方插件,这些插件演示了如何使用HTML作为临时表示来编辑它们的语法。对于自定义XML标记也应该这样做。