我在全新的 Connections 6.5.1 安装之上安装了TinyMCE 编辑器。虽然使用codesample 插件的语法突出显示是开箱即用的,但它仅适用于某些语言。我找到了codesample_languages
,它们像本文中描述的那样被覆盖。
externalPlugins: [{
name: "codesample",
url: "/connections/resources/web/tiny.editors.connections/tinymce/plugins/codesample/plugin.min.js",
settings: {
codesample_global_prismjs: true,
codesample_languages: [
{ text: 'ASP.NET (Core)', value: 'aspnet' },
{ text: 'Apache', value: 'apacheconf' },
{ text: 'Bash', value: 'bash' },
{ text: 'C#', value: 'csharp' },
{ text: 'C++', value: 'cpp' },
{ text: 'CSS', value: 'css' }
]
}
}
]
现在可以在编辑器中选择它们。但它们不起作用,因为编辑器中嵌入的 PrismJS 仅支持extend, insertBefore, DFS, markup, xml, html, mathml, svg, css, clike, javascript, js, c, csharp, cs, dotnet, cpp, java, markup-templating, php, python, py, ruby, rb
.
所以我从一个 CDN 加载了缺少的插件,例如批处理插件。将其包含在内header.jsp
不起作用,因为Prism
名称空间未初始化。在footer.jsp
它似乎没有任何效果,假设 PrismJS 已经初始化。
自定义网络资源存档
PrismJS 似乎是从中提取的,https://cnx65.internal/connections/resources/web/tiny.editors.connections/render/prism.js
所以我提取tiny.editors.connections_4.2.1.1.jar
了/opt/IBM/shared/provision/webresources
,修改resources/render/prism.js
并重新打包了这些 folter:
[centos@cnx65 webresources]$ zip -r tiny.editors.connections_4.2.1.1.jar resources/render/
重新启动 Common 和 Wiki(我正在测试 TinyMCE 的应用程序)后,Bash 仍然没有语法高亮显示。当我导航到 时https://cnx65.internal/connections/resources/web/tiny.editors.connections/render/prism.js
,我看到了我插入的 Bash 插件代码。要查看可用的语言,我附加
console.log(Object.keys(Prism.languages))
在文件的末尾。这给了我一个包含bash
. 所以插件是可用的,但为什么 TinyMCE 不显示语法高亮?