Markdown解析器不同引起的html转换问题

来源:互联网 发布:u盘怎么安装mac系统 编辑:程序博客网 时间:2024/05/29 14:37

  我们知道markdown作为一门标记语言,解析器将md文件转换为html文件后,浏览器才能正确显示其内容。虽说不同的解析器,如:kramdown、maruku,都支持标准的markdown格式,但在某些格式上还是有一些区别的。
  最近在使用github pages搭建博客,利用jykell本地调试时,md文件中的headers显示正常,也就是说,解析后的html文件是没有问题的。如下:

#header1
##header2
###header3

header1

header2

header3

  当我把项目sync到github上,项目主页的header就没有被解析出来。效果如下:

#header1
##header2
###header3

#header1 ##header2 ###header3

  经过查询,知道jekyll的默认解释器为kramdown。我查了一下kramdown的reference,如果使用kramdown来解析markdown,那么header的格式如下才能显示正常。

# header1

## header2

### header3

  也就是说在#后面需要添加一个空格,并且下方需要有一个空行。以后如果遇见同一个md文件在不同的环境下显示的格式不同,那多半就是解析器不同的原因造成的。所以,在某个环境利用markdown写作前,最好先弄清楚它是用的什么解析器。
  但我现在不清楚,为什么我本地jekyll调试解析正常,github发布后不正常。难道jekyll本地没有用kramdown解析器来解析md文件?就算jekyll本身不带kramdown解析包,但我确定,我在本地是安装了kramdown这个包的。希望知道的朋友能告知一下。

0 0
原创粉丝点击