博客文章生成markdown版本笔记

发布于 2017-05-17 作者 [重庆SEO]

很多技术性的博客用Markdown写博客,虽然我之前看过Markdown的基本使用方法,但由于没有更多的实践和学习,所以我对Markdown并不熟悉,为了更熟悉一下Markdown格式规范,我也尝试了一下将博客文章html格式转换为Markdown格式,通过Html格式转换为Markdown格式这种逆向的方式似乎更便于我学习Markdown!

关于网页显示.md的在GIT的一些网站最常见,之前我在博客imququ.com上看到过.md版本的实现结果,所以自己也来琢磨琢磨怎么实现!

一开始我想找nginx模块直接实现,大致看了一些几乎都是Markdown转html, 为了不浪费时间,也就先放弃通过模版实现,直接用PHP类可能比较好实现!

Markdown PHP类用的是这个版本

https://github.com/Elephant418/Markdownify

我的个人笔记要点:

\1. 通过判断后缀显示不同的版本!url后缀为.md时显示Markdown版本

\2. PHP需要设置header头,因为默认text/html时,浏览器无法正确显示换行

header('Content-Type:text/plain; charset=utf-8');

\3. 由于原生的HTML版本中部分有点小问题,大致看了下问题不是特别严重,需要通过PHP进一步处理,比如多余的换行符,多余的span标签,以其他可能引起的未完整转换的情况...

//去掉2个以上的多余换行符,兼容换行符后面有空格情况
$md = preg_replace("/\n\s*\n/i","\n\n", $md);
$md = preg_replace("/(\n\n){2,}/i","\n\n", $md);

\4. 修复其他可能存在的BUG

进一步扩展的想法

后台编辑器是否集成Markdown格式编辑,这样我就可以直接保存markdown格式的内容了,虽然也许暂时无法实现,先记录一下吧!

在初步实现了这个功能后,迫不及待的看了几个文章页面,然后也尝试用Markdown写了本文,然后用第三方在线转换工具转换为html保存,看看转换前后的版本一致性是否足够高。

PS:之前我的博客都是在sublime中打草稿,但并不注意缩进和换行,最后再加上HTML标签,然后在粘贴到博客后台在线编辑器中! 在这次的Markdown格式的打草稿的时候,明显感觉轻松愉快多了。Markdown格式的可读性的确很好,相当于把我之前的写作方式优化了一下!