找回密码
 立即注册
搜索
查看: 1072|回复: 12

[Discuz! X插件] wjz_ckeditor:可以取代dz编辑器的现代编辑器---v2.1.0 [20240324]

  [复制链接]
发表于 2023-2-22 10:06 | 显示全部楼层 |阅读模式
wjz_ckeditor for discuz是什么?
wjz_ckeditor for discuz是discuz论坛的一个内容排版插件,用于排版的在线富文本编辑器。原身为大名鼎鼎的ckeditor,知名度很高,功能及可扩展性很强,有20年历史了,且一直在更新。
先漏个脸面:
在线安装地址:https://addon.dismall.com/plugins/wjz_ckeditor.html 
更新日志:

v2.1.0:
    1、增加:增加某易网站图片下载规则
    2、修正:强力删除图片功能一处bug

v2.0.0: (这是一个具有里程碑的版本:异步取图片版本,理论上可以取到规则里所有的图片)
    1、修正:复制其它论坛图片时带有的原aid
    2、优化:将同步取图片的方式改为异步,提升用户体验

v1.3.2:
    1、优化:防止图片木马上传
    2、优化:针对ckeditor木讷的表情包优化

v1.3.0: (这是一个具有里程碑的版本:同步取图片版本,最高记录取163张图片)
    1、增加:选择文字后返回“源码”后自动选择对应位置
    2、增加:超强删除插件,主要针对图片/文件,一键删除文件及数据库对应数据
    3、增加:数学公式,可用于数学/化学教学
    4、修正:远程图片上传插件对图片小于1KB的限制改为限制10字节
    5、修正:隐藏贴子底部出现和文章内容一样的图片

v1.0.8:
    1、修正:解决ckeditor对html img元素自定义属性的过滤
    2、优化:优化代码,化繁为简

v1.0.6:
    1、增加:对ckeditor编辑器内的图片加上aid,方便其它插件对图片进行二次利用

v1.0.5:
    1、增加:增加某书图片下载规则

v1.0.4:
    1、修正:注释掉与其它插件冲突的js代码
    2、优化:css样式优化

v1.0.2:
    1、增加:美化h1,h2,h3,h4,h5,h6,pre,code,.code等元素
    2、优化:优化一处代码防止与其它插件冲突

v1.0.0:
    1、增加:编辑器ckeditor4.19.1

有网友问:discuz默认自带的编辑器功能已经很强大,何必再弄一个编辑器到discuz中?
针对这个网友的说法,只能说,每个人都有自己的用法:如果discuz论坛用于产生原创内容且内容不含有html的话,默认自带的编辑器确实足够强大,功能也足够使用,但如果内容中含有html的话,就显得力不从心了,毕竟网络上的文章内容的样式不尽相同,复制别人的知识到自己的论坛时会出现排版混乱的情况:如:Go语言高性能编程之pprof性能分析,此文章为discuz默认编辑器排版后的样式,虽然复制到编辑器的时候是正常的,但发表文章后样式就变了。一个排版差的样式,即使内容再精彩,很多人也会当成垃圾一样闭眼不看。因此,为了更好更有力的积累更多的知识,且至少要有一个不太差的排版样式,最终将discuz论坛默认的编辑器替换为ckeditor。

网上有很多知名的在线富文本编辑器,如ueditor、kindeditor、wangEditor、ewebeditor、tqeditor等,为啥偏要选择ckeditor?纵观在线富文本编辑器历史,不难发现,开源的国内编辑器多数只是昙花一现,然后便不再维护。只有ckeditor一直在更新,从我用的fckeditor一直升级到ckeditor,界面上的功能基本没变化,但底层功能一直在优化,一直在跟随时代h5的发展而发展,因此我相信,当下在线富文本编辑器中,ckeditor绝对是至强者之一,选择与强者为伍,或许能带来更多益处。
 
能做什么?
作为一个在线富文件编辑器,主要用于文章内容的编辑,比如插入图片、给文字加颜色、控制文字大小、表格编辑、插入视频等,用于网络知识的编辑作用。

除排版作用以外还可以对复制过来的html内容进行优化,对一些垃圾样式进行清除,达到我们所需要的样式。
比如:默认编辑器复制过来的源代码:

如果用ckeditor复制的网页知识是不会出现<font face="" "="">这种垃圾代码的。

注:由于discuz论坛核心以bbcode为准,因此使用ckeditor时必须在后台开启“允许使用 HTML 代码:”、“允许使用Discuz!代码:”功能,各个版块、各个用户组都要开启,否则页面会直接把html原本内容显示出来,失去了排版的能力。
 
有哪些功能?
除了基本的文字排版功能,还特别加入了粘贴剪切板中的图片、远程图片下载、图片上传、强力删除、数学/化学公式、选中文字可以对应到源码等功能。且图片相关的功能直接与discuz论坛功能保持一致。旨在创建一个高可用的在线富文本编辑器。
注:目前可以将wps文档中的文字+图片全部粘贴到ckeditor中,太方便不过了。功能确实无比强大。


在线安装地址:https://addon.dismall.com/plugins/wjz_ckeditor.html 
 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

截止2024.02.10,贴子内远程图片最多163张,使用ckeditor的远程图片下载功能全部获取成功  发表于 2024-3-14 17:47
终于发现此编辑器的一个缺点:从别的网站复制过来的内容会丢失样式。  发表于 2024-2-6 21:14
 楼主| 发表于 2023-2-25 17:17 | 显示全部楼层

用户问题答疑

问题1:此款插件为绿色插件吗?是否可以下载下来直接使用?

 答: 此款插件有修改source目录下的部分文件,非绿色插件。ckeditor for discuz 会覆盖discuzX3.5默认主题默认编辑器的相关文件,如果使用的是默认主题,可以直接覆盖对应目录对应文件;非官方默认主题,需要对比相关主题对应文件进行修改。

自20230923之后,此插件为绿色插件,不修改dz源代码。

问题2:关于图片上传都能和贴子关链吗?
  答:图片直接上传已经与贴子关链,与默认编辑器上传功能保持一致;截图的图片也可以直接上传且与贴子功能关链;网络图片下载,无须登录校验的图片均可以正常保存且与贴子关链。
问题3:ckeditor集成到discuz论坛中,安全性如何?
  答:cheditor是一款在线的富文本编辑器,本身为纯html+js实现,基本上没有安全漏洞。主要为输出html后,进入数据库,可能会有风险。本人至少复制200多篇文章,出于不同类型网站,暂时没有发现安全性问题。
  注:本人会尽可能复制更多的文章来测试安全性,以保证使用者网站的安全。
问题4:可以上传视频、mp3吗?
  答:由于视频、mp3可能会涉及到版权问题,暂时屏掉此功能。如果后期有用户需要用此功能时,再集成进来。
问题5:我用discuz论坛默认编辑器和ckeditor发出的贴子都一样,好像没有区别?你能说下区别点吗?
  答:主要区别点之一:复制各种网站信息时,输出排版会比默认编辑器强,且会清除过时/多余的样式,使得代码更简洁有效。示例一:默认编辑器复制过来的排版、编辑、输出时可能会乱。对于论坛编辑者或者知识信息收集者来说,一款功能强大的编辑器是多么的重要。好比切菜时,用菜刀拍了一下蒜,刀断了,还怎么切菜呢?工欲善其事必先利其器,就是这个道理。
   注:多数在线编辑器复制网站上的文章信息时,可以切换到“源代码”模式,看看有没有垃圾的html代码,有,说明此编辑器底层基本不够强健,且这些垃圾html也会占用数据库空间,过多的垃圾html会导致数据库存储过大甚至会有被截断的风险。看此篇文章,就是复制网站信息时,垃圾html太多,导致被截断,文章信息不全。唉,没及时发现,这次努力白费了。
问题6:ckeditor已经发展到版本ckeditor5了,你还在用过时的版本4,卖一些过时的产品给我们用,为何不给我们新版本用?
  答:最新的ckeditor5对浏览器内核是有要求的,低版本的浏览器内核可能无法正常编辑,从而带来不必要的糟糕体验。
        
   我会在众多的浏览器中测试并逐步升级ckeditor,此图为chrome36-96版本主流浏览器,肯定会舍弃某些低版本的浏览器,向主流的内核靠拢。这个需要大量的时间来做兼容性测试,相信耐心可以做到一切。
 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
 楼主| 发表于 2023-2-25 21:47 | 显示全部楼层
下图是复制网站内容时,某编辑器丢失部分内容的截图:

 
内容截断:

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
 楼主| 发表于 2023-3-2 15:09 | 显示全部楼层
注:目前 ckeditor for discuz 未实现的功能:hide隐藏内容回复可见、附件购买等非文章发布需要的功能。
 楼主| 发表于 2023-3-26 17:16 | 显示全部楼层
发现ckeditor4.20版本以后,低版本的chrome浏览器已经不兼容了,最后一个兼容低版本chrome的ckeditor为4.19.1版本。升级到此版本。

发现4.19.1版本已经可以将wps文档中的图片和文字直接复制到ckeditor并将图片上传,呵呵,可怜我之前为4.6.2版本花了一个星期写的粘贴图片插件。好心痛,又好开心:心痛的是我的付出变成为泡沫,开心的是,这货居然可以将wps文档中的图片也一并上传。我这个做后端的一直没想通原理,它居然实现了。
 楼主| 发表于 2023-9-23 20:05 | 显示全部楼层
经过不懈的努力,终于将wjz_ckeditor做成dz的一个插件,今天为20230923,用了近6个月的时间,终于成功独立为一个插件了。 之前版本有修改官方源代码,无法上应用中心。现在可以上应用中心了。 应用中心地址:https://addon.dismall.com/plugins/wjz_ckeditor.html
 楼主| 发表于 2023-9-28 10:25 | 显示全部楼层
现在论坛所使用的编辑器就是ckeditor,但主要用于排版使用。不涉及排版的文字,还用dz简单的回复贴子编辑器。

有客户问:贴子底部的回复为啥不弄成ckeditor呢?
答:dz论坛默认已经加载了mini版的编辑器,而且简单的回复不涉及复杂的排版,无须加载ckeditor。

注:此插件为绿色版,不想用就禁用或者某版块不开启html功能,就不会加载ckeditor。做一个学习论坛,你确定不用ckeditor吗?
 楼主| 发表于 2023-10-14 08:10 | 显示全部楼层
2023.10.11正式将wjz_ckeditor上线,取代了之前修改官方源代码的方式作为排版编辑器。
同时,也为wjz_removewater无痕去水印留了一个标识(这个标识在其它编辑器中可能非常好做,但到了ckeditor后必须要额外声明extraAllowedContent内容,否则会将元素的非标准属性给去掉。这也是为啥ckeditor正规的原因:遵循html标准)。

注意:使用时,可以将管理后台设置为:管理后台-上传设置-论坛附件-贴子中显示图片附件:否 勾选。如果不这样做,内容中显示一次图片,附件也显示一次图片,会走两次图片流量。不知道官方为什么要这样设计。
 楼主| 发表于 2023-10-25 10:01 | 显示全部楼层

客户使用疑问:

1、我在排版时,无法跳出格式/样式,这是怎么回事?是不是有缺陷?
  答:ckeditor默认回车使用html元素p标签,但是,这会让文章行距变高。于是将回车使用的p标签改为br换行标签。  可以使用 shift+回车 即可跳出正在排版的格式/样式。

2、我用ckeditor下载远程图片时无法下载,这是怎么回事?
  答:如果能够确定非登录时才能看到的图片无法下载,请在 这一主题贴 直接贴出无法下载图片的文章url地址或者QQ上联系我发我文章url地址。处理后,我会挨个回复。
  注:如果你非常忙,没时间联系我,但又必须要将这篇文章放到自己网站上,教你一招:截图粘贴图片或者将该网站图片下载下来再上传,都可以实现。

 
 楼主| 发表于 2024-2-6 21:14 | 显示全部楼层

2024.02.05增加几个插件

1、textselection
       在编辑模式下选中内容,然后切换到“源码”模式,依然可以看到选中的内容
2、aligncenter:从别的网页复制过来的图片、段落标题等都会失去原来的样子,此插件是让图片、段落标题居中。
      注:此插件默认不开启,并不是所有复制过来的内容都必须要整理。非必需,因此不主动开启此插件。
3、powerdel:强力删除图片
     在编辑模式下,点击图片,再点击编辑器上的X,就可以直接将图片彻底删除(包括文件和数据库信息)。
     注:写这个插件一方面是为了弥补一键“远程图片下载”的不足:要么全部下载完,要么不下载。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|学习笔记

GMT+8, 2024-12-21 21:10 , Processed in 0.033963 second(s), 14 queries , APCu On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表