tinymce与prism代码高亮实现及汉化的配置

Posted jiyuwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tinymce与prism代码高亮实现及汉化的配置相关的知识,希望对你有一定的参考价值。

简单介绍:TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,由javascript写成。它对IE6+和Firefox1.5+都有着非常良好的支持。功能方强大,并且功能配置灵活简单。另一特点是加载速度非常快的。最重要的是,TinyMCE是一个根据LGPL license发布的自由软件,你可以把它用于商业应用,好了不多说,想了解更多自行百度,我们进入正题。

一、编辑页配置

1.首先我们需要引用网页样式控制文件及脚本语言编辑文件(其中前两个是tinymce脚本文件,后两个是prism高亮文件)

1 <script type="text/javascript" src="tinymce.min.js"></script>
2 <script type="text/javascript" src="jquery.tinymce.min.js"></script>
3 <link href="prism.css" rel="stylesheet" />
4 <script src="prism.js"></script>

2.在body中设计好我们的文本

1 <textarea name="content" style="width:100%"></textarea>

3.在js中进行文本的初始化

(1)tinymce.init配置并初始化tinymce

(2)selector: "textarea"根据你的选择器来指定,我这里是textarea,可以绑定id(#···)或class(.····)

(3)plugins填写要使用的插件名称

(4)toolbar设置工具栏指定显示插件,这里我展示了三个工具栏

(5)menubar禁用菜单栏模板

(6)toolbar_items_size工具栏标签大小设置为小

(7)style_formats初始化的默认样式,这个根据自己喜好调节

(8)templates模板,toolbar3中的template选中标题后自动追加值content到文本框

(9)language:‘zh_CN‘语言本身默认英文,这里指定语言为中文

 1 <script type="text/javascript">
 2     tinymce.init({
 3         selector: "textarea",
 4         plugins: [
 5             "advlist autolink autosave link image lists charmap print preview hr anchor pagebreak spellchecker",
 6             "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
 7             "table contextmenu directionality emoticons template textcolor paste fullpage textcolor codesample"
 8         ],
 9  
10         toolbar1: "undo redo | cut copy paste | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | styleselect formatselect fontselect fontsizeselect",
11         toolbar2: " searchreplace | bullist numlist | outdent indent blockquote | link unlink anchor image media code codesample | inserttime preview | forecolor backcolor",
12         toolbar3: "table | hr removeformat | subscript superscript | charmap emoticons | print fullscreen | ltr rtl | spellchecker | visualchars visualblocks nonbreaking template pagebreak restoredraft",
13  
14         menubar: false,
15         toolbar_items_size: small,
16  
17         style_formats: [
18             {title: Bold text, inline: b},
19             {title: Red text, inline: span, styles: {color: #ff0000}},
20             {title: Red header, block: h1, styles: {color: #ff0000}},
21             {title: Example 1, inline: span, classes: example1},
22             {title: Example 2, inline: span, classes: example2},
23             {title: Table styles},
24             {title: Table row 1, selector: tr, classes: tablerow1}
25         ],
26  
27         templates: [
28             {title: Test template 1, content: Test 1},
29             {title: Test template 2, content: Test 2}
30         ],
31         language:zh_CN
32     });</script>

另外当我们用codesample进行插入会产生技术分享图片class=“language-**”标签,这个一眼看去和prism高亮显示插件是迎合的,也表示官方的支持。所以我们使用prism作为代码高亮插件。

(4)赋值及设置值操作

1 var context=tinyMCE.activeEditor.getContent();//进行值得获取
2  
3 tinyMCE.activeEditor.setContent("你的数据");//进行值得获取

二、展示页相关配置

1、引用网页样式控制文件及脚本语言编辑文件(两个高亮显示脚本)

1 <link href="prism.css" rel="stylesheet" />
2 <script src="prism.js"></script>

2、你的编辑器保存的值取出显示到页面就可以了。

源码demo:https://download.csdn.net/download/silverbutter/10557703

以上是关于tinymce与prism代码高亮实现及汉化的配置的主要内容,如果未能解决你的问题,请参考以下文章

前端代码高亮显示解决方案: prism

前端代码高亮显示解决方案: prism

TinyMCE 本地 | 下载 | 部署 | 汉化 |

使用prismjs为网站添加代码高亮功能

如何从 TinyMCE 获取高亮文本?

使用 prismjs 在网页中高亮显示代码