Я установил редактор TinyMCE поверх установки fre sh Connections 6.5.1. Хотя подсветка синтаксиса с помощью плагина codeample включена по умолчанию, она работает только для определенных языков. Я нашел 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' }
]
}
}
]
Теперь их можно выбрать в редакторе. Но они не работают, потому что встроенная Prism JS из редактора поддерживает только 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
.
Итак, я загрузил недостающие плагины с компакт-диска, например, пакетный плагин . Включение его в header.jsp
не работает, потому что пространство имен Prism
не инициализировано. В footer.jsp
кажется, что это не действует, если предположить, что Prism JS уже инициализирован.
Настройка архива веб-ресурсов
Prism JS, похоже, извлекается из 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
и снова запаковал эти папки:
[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 не показывает подсветку синтаксиса?