LuRenJiasWorld / WP-Editor.md

或许这是一个WordPress中最好,最完美的Markdown编辑器
https://wordpress.org/plugins/wp-editormd/
GNU General Public License v3.0
746 stars 87 forks source link

对于含有闭合标签的短代码会使得包含区域的md解析异常 #503

Open Licoy opened 3 years ago

Licoy commented 3 years ago

对于含有闭合标签的短代码会使得包含区域的md解析异常,例如

[password]
### 介绍
`PHP`是世界上最好的语言!
[/password]

最终结果为包含区域原样输出

LuRenJiasWorld commented 3 years ago

你好,这个是目前的预期行为,短代码内所有文本原样输出,目的是解决某些短代码内文本被误解析为Markdown的问题。

不过你提到的这一点的确也是个问题。我会考虑在未来版本加入开关或配置,将选择权交给用户。感谢反馈。

LuRenJiasWorld commented 3 years ago

为了方便调试,请问方便告知一下[password][/password]短标签对应的插件是哪一款吗?我这边未安装该短代码插件,似乎问题无法复现。

image

Licoy commented 3 years ago

@LuRenJiasWorld 这个是我自己开发的主题内置短代码,详见 Puock-ShortCode

LuRenJiasWorld commented 3 years ago

@LuRenJiasWorld 这个是我自己开发的主题内置短代码,详见 Puock-ShortCode

好的,我试试看~

LuRenJiasWorld commented 3 years ago

你好,安装该主题后问题成功复现,原因与我所描述的情况基本一致。这里解释一下具体原因:

编辑器在Markdown解析过程中,在 src/App/WPMarkdownParser.php#L243 将Markdown文本内的短代码转换为了Token,再在Markdown解析结束后还原Token。设计目的是避免短代码和Markdown的链接/图片语法冲突,但根据你这里提到的BUG,这部分逻辑的确需要改善,至少应该为用户提供开关,以选择是否需要解析短代码内的Markdown文本。

附:根据你这里的主题,还原前后的文本如图所示:

image

我会在年底之前发布包含此选项的新版本,如果您有兴趣参与到本编辑器的开发中,也欢迎提交相关Pull Request!

Licoy commented 3 years ago

@LuRenJiasWorld 好的,期待新版本

oubayun commented 1 week ago

这个问题有修复吗?期待