markdown是一个很轻量级的文本标记语言,其语法可直接翻译成HTML,便于编写和阅读。
比较有名的对Markdown的应用是github和stackoverflow,我是通过github知道的。有种相见恨晚的感觉,只怪自己孤陋寡闻啊!!决定以后就用它来写东西。一直想在Wordpress上能用Mardown就好了。可惜Wordpress没有对Markdown做支持,好在可以安装各种插件,扩展性就是好啊。
其实主要问题是用Markdown来写wordpress blog,但是希望之前的文章不受影响,排版格式和代码高亮等等。如果单纯的用Markdown写全新的wordpress blog,很好办,好多插件都可以,一下提到的都可以。
目标:老文章编辑显示方式不变,依旧用原来的,用markdown写的文章,编辑显示基于markdown。
到目前为之,尝试了挺多插件,最后的效果还算不错,就是代码高亮不太完美,有待优化。一下列出尝试列表和最终选择解决方案。
尝试一:Markdown for WordPress and bbPress插件。
核心是markdown.php文件。由于以上提到的老文章兼容问题(安装测试时是排版问题),未能采用。
尝试二:修改WordPress插件让Markdown与HTML格式并存
这篇blog博主貌似是台湾同胞,blog是繁体的,人很热心。修改的就是Markdown for WordPress and bbPress插件,主要是通过在页面内加标记,解析的时候通过判断页面有这个标记,就解析为Markdown,然后转成Html,没有就不做处理。测试了也是老文章排版问题。理论说这么做是应该可以了。但是具体原因未能查清,可能和wordpress版本有关系吧。
尝试三:Markdown on Save+WP MarkItUp!
依然是那位热心的台湾同胞。通过2个插件完美的解决了他的blog中Markdown与HTML格式并存。但是到我这还是有小问题。WP MarkItUp!是对编辑的时候做所视即所得支持的。但是我安装后设置页面一直提示无权打开。Markdown on Save通过在表中添加一个字段的处理方式来完成Markdown与HTML的兼容。由于WP MarkItUp!设置问题和要对表做修改,并未单独测试Markdown on Save。
尝试四:WP-Markdown
编辑完成保存时把markdown保存为html,编辑原有blog把html转成markdown。但是测试插件安装以前写得blog发现还是有问题,并为把html转成markdown。可能也修改数据库了,还是blog加入转换标记了。目前用的就是这个插件。代码高亮有点问题,使用wp-highlight.js这个插件支持代码高亮,但是不太好。
这里面有个小插曲:
写java的代码,代码中有类似这种List<ResolveInfo>
的,会在代码中自动补全 List</ResolveInfo>
。
开始以为是插件问题,关闭插件发现还是有这个问题。捣鼓半天,最后才想到是不是wordpress太“智能”了,WP-Markdown把markdown保存为html,wordpress自动补全html标记?最后在设置-撰写里找到了,果然wordpress太“智能”。有个选项“让 WordPress 自动校正嵌套错误的 XHTML 代码 ”。好吧,把选项关掉。该早点想到的。只是以前都是可视化写blog,类似这种,wordpress已经转换好了,不会在html源码中直接出现类似List<ResolveInfo>
这种代码。