想要查看呈现的 HTML 格式与 TinyMCE Codesample 插件相同
Want to see rendered HTML with same formatting as TinyMCE Codesample Plugin
这是我的编辑页面的图片,其中包含 TinyMCE:
In my edit page
在 TinyMCE 之外呈现时,代码示例格式不显示 view page。我希望在呈现内容时使用与使用代码示例插件时在 TinyMCE 中看到的格式相同的格式。
这是我用来调用 TinyMCE (4.3.2) 的代码。
tinymce.init({
selector: 'textarea',
height: 200,
language: 'bn_BD',
plugins: [
'advlist autolink lists link image charmap print hr anchor pagebreak',
'searchreplace wordcount visualblocks visualchars code codesample fullscreen',
'insertdatetime media nonbreaking table contextmenu directionality',
'emoticons template paste textcolor colorpicker textpattern imagetools'
],
setup: function(editor) {
editor.on('FullscreenStateChanged', function(e) {
if(e.state) {
$('header').hide();
}
else {
$('header').show();
}
});
},
toolbar: 'undo redo | styleselect | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | codesample link image media | forecolor backcolor',
image_advtab: true,
imagetools_cors_hosts: ['celica.muktosoft.com'],
templates: [
{ title: 'Lesson Template', content: 'Test 1' }
],
file_browser_callback: function(field_name, url, type, win) {
if(type=='image') {
document.getElementById("fileupload_field_id").value = field_name;
document.getElementById("fileupload").value = "";
document.getElementById("fileupload").click();
}
},
content_css: [
'//fast.fonts.net/cssapi/e6dc9b99-64fe-4292-ad98-6974f93cd2a2.css',
'//www.tinymce.com/css/codepen.min.css'
]
});
解决这个问题的关键是知道 TinyMCE 依赖 Prism.js 来实现语法高亮显示功能。如果您想从 TinyMCE 中提取内容并将其显示在其他地方,您需要...
第 1 步:
在您的页面中包含 Prism.js 和 prism.css - 这些可以从 Prism 网站下载。
第 2 步:
使用 TinyMCE 的 API 从编辑器中提取内容。例如:
var htmlToLoad = tinyMCE.get('area3').getContent();
第 3 步:
将内容放入 HTML 块元素中:
document.getElementById("result").innerHTML = htmlToLoad;
第 4 步:
运行 Prism的高亮功能:Prism.highlightAll();
这会触发 Prism 重新评估 DOM 它应该突出显示的内容 - 它不会自动执行此操作。
请务必在您的 "view page" 中包含来自 prism.js download page(select 您需要的语言!)的 CSS(和 JavaScript)文件。
使用Codesample插件在TinyMCE中输入代码片段时,记得select在Codesample的window顶部对应的语言...;-)
这是我的编辑页面的图片,其中包含 TinyMCE: In my edit page
在 TinyMCE 之外呈现时,代码示例格式不显示 view page。我希望在呈现内容时使用与使用代码示例插件时在 TinyMCE 中看到的格式相同的格式。
这是我用来调用 TinyMCE (4.3.2) 的代码。
tinymce.init({
selector: 'textarea',
height: 200,
language: 'bn_BD',
plugins: [
'advlist autolink lists link image charmap print hr anchor pagebreak',
'searchreplace wordcount visualblocks visualchars code codesample fullscreen',
'insertdatetime media nonbreaking table contextmenu directionality',
'emoticons template paste textcolor colorpicker textpattern imagetools'
],
setup: function(editor) {
editor.on('FullscreenStateChanged', function(e) {
if(e.state) {
$('header').hide();
}
else {
$('header').show();
}
});
},
toolbar: 'undo redo | styleselect | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | codesample link image media | forecolor backcolor',
image_advtab: true,
imagetools_cors_hosts: ['celica.muktosoft.com'],
templates: [
{ title: 'Lesson Template', content: 'Test 1' }
],
file_browser_callback: function(field_name, url, type, win) {
if(type=='image') {
document.getElementById("fileupload_field_id").value = field_name;
document.getElementById("fileupload").value = "";
document.getElementById("fileupload").click();
}
},
content_css: [
'//fast.fonts.net/cssapi/e6dc9b99-64fe-4292-ad98-6974f93cd2a2.css',
'//www.tinymce.com/css/codepen.min.css'
]
});
解决这个问题的关键是知道 TinyMCE 依赖 Prism.js 来实现语法高亮显示功能。如果您想从 TinyMCE 中提取内容并将其显示在其他地方,您需要...
第 1 步:
在您的页面中包含 Prism.js 和 prism.css - 这些可以从 Prism 网站下载。
第 2 步:
使用 TinyMCE 的 API 从编辑器中提取内容。例如:
var htmlToLoad = tinyMCE.get('area3').getContent();
第 3 步:
将内容放入 HTML 块元素中:
document.getElementById("result").innerHTML = htmlToLoad;
第 4 步:
运行 Prism的高亮功能:Prism.highlightAll();
这会触发 Prism 重新评估 DOM 它应该突出显示的内容 - 它不会自动执行此操作。
请务必在您的 "view page" 中包含来自 prism.js download page(select 您需要的语言!)的 CSS(和 JavaScript)文件。
使用Codesample插件在TinyMCE中输入代码片段时,记得select在Codesample的window顶部对应的语言...;-)