本文同步于我的个人博客 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. 【Eclipse】Eclipse中打开cmd窗口和terminal窗口

    在IDEA的时候可以直接使用terminal打开类似于cmd窗口的功能,于是想着在eclipse也使用类似的功能. 1.Eclipse打开类似于cmd窗口的功能.(DOS) 1.window——> ...

  2. 为什么Docker比虚拟机快?

    1.Docker有着比虚拟机更少的抽象层,由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源,因此在Cpu.内存利用率上Do ...

  3. LogParse-Windows系统日志分析

    Windows系统日志分析 一.前言 本文将对常见的日志类型,利用微软日志分析工具(LogParser)结合已经掌握的恶意代码分析Windows系统日志,关联出系统的异常. 数据来源于Windows的 ...

  4. 【API】开机自启动- ActiveX启动

    一 学习目标 这是一段远程控制木马开机启动的代码,主要使用了ActiveX方式启动.结合自己的理解重新整理了笔记.而作为编程新手入门的自己决定要开始梳理学习目的和订下学习的目标.从今天开始要坚持做到 ...

  5. Pytorch 入门之Siamese网络

    首次体验Pytorch,本文参考于:github and PyTorch 中文网人脸相似度对比 本文主要熟悉Pytorch大致流程,修改了读取数据部分.没有采用原作者的ImageFolder方法:   ...

  6. KERMIT,XMODEM,YMODEM,ZMODEM传输协议小结

    转:http://blog.163.com/czblaze_3333/blog/static/208996228201272295236713/ Kermit协议 报文格式: 1.       MAR ...

  7. win10 + ubuntu双系统详细安装过程

    由于搞深度学习,电脑跟不上,换了一台神舟战神Z8,于是装一个ubuntu双系统,没想到几乎花了一天,还花了80个软妹币找人帮忙,蓝瘦,现在写下来供大家参考: 不得不说,win10 + ubuntu双系 ...

  8. class_create(),device_create自动创建设备文件结点【转】

    本文参考来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhenwenxian/archive/2010/03/28/5424434.aspx 本文转自:http://ww ...

  9. 半自动代码生成--方式C#

    寻找半自动代码生成方式基于C#的GUI或者其它: 1. (推荐)Millennials - A Custom Source Code Generator  https://www.codeprojec ...

  10. 现代C++之理解auto类型推断

    理解auto类型推断 上一篇帖子中讲述了模板类型推断,我们知道auto的实现原理是基于模板类型推断的,回顾一下模板类型推断: template <typename T> void f(Pa ...