本文同步于我的个人博客 emlog编辑器探寻之旅

一直想要寻找一个好用的emlog文本编辑器,寻觅了很久,从默认的KindEditor编辑器开始,用了几天就感觉特别难用,很多需求根本满足不了。后来想要在emlog内嵌一个markdown编辑器,用了插件,不过效果不是太好,支持不是太好。就自己撸了一个markdown编辑器,感觉还是不好用,由于markdown只支持最基本的HTML结构,不能自定义很多样式。最终还是打算回归富文本编辑器。

在网上搜寻了很多编辑器,优秀的编辑器屈指可数,百度的UEditor算是不错的了,不过很多功能还不太完善,用了1个月,还是受不了。后来发现了CKEditor,是我目前见过的最好用的编辑器了,可以自定义插件,主题,扩展性强。

下面谈谈如何更换emlog自带的KindEditor吧。

1.去官网下载最新的CKEditor,最好是下载Full Package,功能齐全。

2.将下载好的压缩包解压到 emlog站点根目录/admin/ckeditor

3.修改 admin/views/ 文件夹下的 add_log.php(用于添加文章)和 edit_log.php 文件,找到

<script charset="utf-8" src="./editor/kindeditor.js?v=<?php echo Option::EMLOG_VERSION; ?>"></script>
<script charset="utf-8" src="./editor/lang/zh_CN.js?v=<?php echo Option::EMLOG_VERSION; ?>"></script>
<script>
loadEditor('content');
loadEditor('excerpt');
</script>

替换为

<script type="text/javascript" src="./ckeditor/ckeditor.js"></script>
<script>
CKEDITOR.replace( 'content' );
</script>

如果要使用UEditor,则改为

<script type="text/javascript" src="./ueditor/ueditor.config.js"></script>
编辑器源码文件
<script type="text/javascript" src="./ueditor/ueditor.all.js"></script>
语言包文件
<script type="text/javascript" src="./ueditor/lang/zh-cn/zh-cn.js"></script>
<script>
UE.getEditor('content');
</script>

4.修改配置文件 ckeditor/config.js

详细配置将在下一篇博文中写出

参考资料:

EMLOG更换KindEditor编辑器为CKEditor 4.4.5

EMLOG升级默认编辑器kindeditor最新版

CKSource

emlog编辑器探寻之旅的更多相关文章

  1. [c++] Templates

    Template是编译时多态.所有的模板都是在编译时产生对应的代码,它没有面向对象中的虚表,无法实现动态多态. Function Template A function template is a p ...

  2. Ubuntu 16.04安装Matlab 2016b教程

    由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...

  3. 浅谈PageHelper插件分页实现原理及大数据量下SQL查询效率问题解决

    前因:项目一直使用的是PageHelper实现分页功能,项目前期数据量较少一直没有什么问题.随着业务扩增,数据库扩增PageHelper出现了明显的性能问题.几十万甚至上百万的单表数据查询性能缓慢,需 ...

  4. PyQt QString 与 Python str&unicode

    昨日,将许久以前做的模拟网页登录脚本用PyQt封装了一下,结果出大问题了, 登录无数次都提示登录失败!!而不用PyQt实现的GUI登录直接脚本登录无数次都提示登录成功!!心中甚是伤痛,于是探究起来,解 ...

  5. 转载:C++ typename的起源与用法

    转载:http://feihu.me/blog/2014/the-origin-and-usage-of-typename/#typename 侯捷在Effective C++的中文版译序中提到: C ...

  6. c++类模板template中的typename使用方法-超级棒

    转载:https://blog.csdn.net/vanturman/article/details/80269081 如有问题请联系我删除: 目录 起因 typename的常见用法 typename ...

  7. Glide图片加载过程(简)

    iceIC 关注 2018.10.25 20:53* 字数 906 阅读 529评论 0喜欢 1 调研版本为4.7.1为了更加简单的理解,会将函数代码简化,详细代码请自行照源码对比 Glide用法 G ...

  8. CentOS6.5菜鸟之旅:中文编辑器忍痛放弃Sublime

    一.前言 Windows下习惯使用Sublime作为编辑器,谁知道Linux下的Sublime是如此不照顾中文用户,找了N久终于找到一个蹩脚的解决方案,于是我毅然决然地加入Vim的阵营. 二.苦苦追寻 ...

  9. 我的Android进阶之旅------>关于使用CSDN-markdown编辑器来编写博客

    关于使用MarkDown编辑器的原因 什么是 Markdown 制作一份待办事宜 Todo 列表 书写一个质能守恒公式LaTeX 高亮一段代码code 高效绘制 流程图 高效绘制序列图 绘制表格 更详 ...

随机推荐

  1. Java中eclipse与命令行向main函数传递参数

    我们知道main函数是java程序的入口,main函数的参数类型是String[]. 1.Eclipse中向main方法传递参数 例如: public class Mytest { public st ...

  2. Weblogic的安装与卸载

    一.下载weblogic 到Oracle官网https://www.oracle.com/downloads/index.html,我在这里下载的是weblogic12C进行安装:https://ww ...

  3. Gaussian discriminant analysis 高斯判别分析

    高斯判别分析(附Matlab实现) 生成学习算法 高斯判别分析(Gaussian Discriminant analysis,GDA),与之前的线性回归和Logistic回归从方法上讲有很大的不同,G ...

  4. CodeForces Contest #1137: Round #545 (Div. 1)

    比赛传送门:CF #1137. 比赛记录:点我. 每次都自闭的 div1 啊,什么时候才能上 IM 呢. [A]Skyscrapers 题意简述: 有一个 \(n\times m\) 的矩阵 \(a_ ...

  5. 集群下Dubbo负载均衡配置

    在集群负载均衡时,Dubbo提供了4种均衡策略,默认为Random(随机调用) 负载均衡策略: 1).Random LoadBalance(随机,按照权重的设置随机概率) 2).RoundRobin  ...

  6. Java 集合系列0、概述

    概述: Collection 框架中 从最上层的核心主干可以看到:Iterator.Collection.Map 三个接口(拓展思考1)1.Collection 接口:主要包括了集合中的一些常用操作, ...

  7. 如何将SVN仓库转换为Git仓库

    按如下步骤操作就可以将SVN仓库完整的转换为Git仓库: 1) 将远程SVN仓库搬到本地(这一步主要是为了提高转换的速度,也可以忽略)     参考这篇文章: http://rongjih.blog. ...

  8. oem 重建

    OracleDBControl启动失败to local from URL=http://your-url.co     方法: emca -deconfig dbcontrol db -repos d ...

  9. Date ——日期型函数Date常用API

     获取当前时间戳: let now = new Date().getTime() 获取某个时间点(比如12点)的时间戳: let date = new Date('2019-01-12 12:00:0 ...

  10. jquery学习集合

    跳转网页:$(location).attr('href', '/index');