Editor.md - Markdown 编辑器 功能增强

LiarOnce 27天前 762

目前是没有问题的了,当然后台功能并没有很全面


注:高亮使用 Prism.js (没有附带在插件里)


用法

  1. 下载最新版本并解压,将文件夹更名为 gmchina-xiuno-editormd 后在后台启动插件
  2. 修改当前使用的主题的 post.htm 文件,在 id 和 name 为 message 的代码中加入两段 Hook:
<!--{hook post_editor_before.htm}-->
<!--{hook post_editor_after.htm}-->

范例:

<div class="form-group">
    <!--{hook post_editor_before.htm}-->
    <textarea class="form-control" placeholder="<?php echo lang('message');?>" name="message" id="message"><?php echo $form_message;?></textarea>    
    <!--{hook post_editor_after.htm}-->
</div>
  1. Enjoy!~~~

关于上传

由于本地上传接口没按照标准来写(不知道怎么使用附件相关函数),所以位置为 upload/images,所以没有 images 文件夹的需手动在 upload 下创建并修改插件目录下的 upload/local/upload.php如有标准方案可贡献代码。

关于多个 Parsedown 版本

Parsedown 版本Parsedown Extra 版本
1.5.40.7.0
1.7.10.7.1
1.8.0-beta50.8.0-beta1

每个 Parsedown 版本均对应一个 Parsedown Extra 版本。

1.5.4 用于 PHP 5.2 环境,原因是 Parsedown 从 1.6.0 开始不再对 PHP 5.2 提供支持,强行使用 1.6.0 以上版本会导致 500 错误。

1.7.1 为目前最新的正式版本。

1.8.0-beta5 为目前最新的 beta 版本

如需使用不同版本请修改 model_post_format_end.php 前两行,默认使用 1.7.1。

TODO List

  •  Editor.md 提供的所有功能
  •  Markdown 语法发帖
  •  上传图片(保存到本地)
  •  标准的语法高亮(<pre><code class="language-(lang)"></code></pre>)(支持 Prism.js 高亮)
  •  Parsedown Extra 扩展 Markdown 更多功能(具体查看 PHP Markdown Extra(HTML 插入并不能用,原因同已知问题第一条)
  • 未实现:

  •    
  •    
  •  不需要手动在主题加入 Hook
  •  设置界面
  •  重写图片本地上传图片接口(插件内为 Editor.md 提供的范例)
  •  更多云存储的选择
  •  加入设置页面提供设置项
  •  发布兼容 HTML

安全性问题

目前输出已使用 HTML Purifier 过滤,输出内容已经是安全的内容了。

2018-12-29:预览部分的 XSS 问题已经解决

已知问题

  1. 无法使用 Markdown 的引用块 (>),原因是 XiunoBBS 对特殊字符(&"<>)进行转义导致语法被转义(XiunoBBS 的锅)

    虽然可以通过直接调用 message (非 message_fmt)达到修复效果,但这样会导致 XSS 攻击,为了安全就只能这样咯

  2. 本地上传图片接口存储位置不规范(暂时)

  3. 使用快捷回复若有使用换行会插入 <br> 标签,在之后的编辑时会被转义 (&lt;br&gt;)(已修复,我的锅)

使用了

  • XiunoPHP
  • Editor.md
  • Parsedown (含 Parsedown Extra)
  • HTML Purifier
  • JS-XSS

协议

MIT License


已开源,GitHub地址:https://github.com/GamemakerChina/gmchina_xiuno_editormd

下载地址:下载

最后于 20天前 被LiarOnce编辑 ,原因:
最新回复 (13)
  • 一二三 27天前
    引用 2
    太强大了,不要给马化腾知道了,他们目前不能文字编辑,不然他们也会仿照咱们的
  • George 26天前
    引用 3
    这个要有代码基础才能上手吧
  • qiukong 26天前
    引用 4
    用上了,感谢楼主!
  • LiarOnce 26天前
    引用 5
    qiukong 用上了,感谢楼主!
    别随随便便就用上了啊,安全性问题还需要注意的
  • axiuno 26天前
    引用 6
    nice
  • 阿郎 25天前
    引用 7
    好东西 晚上试试 谢谢楼主
  • 有天 25天前
    引用 8
  • lweein 25天前
    引用 9
    一直在等待有人可以基于editor.md 来进行编辑器的优化。已经Star
  • LiarOnce 20天前
    引用 10
    预览部分的 XSS 问题已经解决
  • 落雪飞花 10天前
    引用 11
    给你打打气.加油!
  • Admin_1539948114 10天前
    引用 12
    踩了一天的坑  才发现你已经踩过了  哎  不过我用了七牛云上传
  • LiarOnce 10天前
    引用 13
    Admin_1539948114 踩了一天的坑  才发现你已经踩过了  哎  不过我用了七牛云上传

    可以自己写上传接口,不过我写不来(连本地上传的接口都不是很规范

  • 引用 14
    LiarOnce Admin_1539948114 踩了一天的坑 &nbsp;才发现你已经踩过了 &nbsp;哎 &nbsp;不过我用了七牛云上传 可以自 ...
    https://bbs.xiuno.com/thread-150040.htm   你可以看一下我的  你的那个上传也可以再修改一下  可以用hook
返回
发新帖