初识Markdown时,发现它的书写如此简单,解析出来如此简洁,很快就喜欢上了它。
最近一段时间,在Markdown上碰到不少问题,一一解决后发现自己却怎么也喜欢不起来了。
“Keep It Stupidly Simple”是取自连城的博客《Why I hate markdown (and prefer reST)》,刚接触Markdown时第一次读到这篇文章,认为自己只不过是简简单单书写用,根本用不到复杂的排版。现今碰到Markdown的各种问题时,便把此文又读一遍。
Markdown问题一、
程序员喜欢在博客中高亮语言,Markdown恰恰天生就支持,但是Markdown有多种实现版本,各版本之间互操作性差,导致了在Markdown语言高亮在Github上正常显示,在Jekyll中使用Pygments又出现问题。
比如下面一段包含代码的Markdown文字:
在Github上预览是这样的:
而在JekyllBootstrap框架下(Pygments高亮)效果如下,测试2中竟然还把python这个单词输出了:
Markdown问题二、
对纯中文列表支持的一塌糊涂。比如如下Markdown文字:
在Github上预览,效果图如下,列表序号出错了:
在JekyllBootstrap框架下效果如下,第三、四条出现了问题:
这里我们分析一下问题所在,因为Markdown对中文列表支持太差,猜测可能是第三、四条是纯中文,试着改成以英文结尾,效果如下,解析正确了。
Markdown简洁易用,它的特长是纯文字写作,复杂的排版和长篇图文列表的文章效率就不比HMTL了。
最后分享几个Markdown的小窍门:
1.Markdown反引号中怎么转义反引号?
Tips:在最外层使用两个连续的反引号。
例如:要想预期显示`git archive master --format=zip > `git describe master`.zip`中的反引号,需要这样写:
``git archive master --format=zip > `git describe master`.zip``
2.如何在列表中缩进代码?
Tips:代码需要比列表多缩进一次。
例如本文的语言高亮测试1。
“在我看来,Markdown的应用范围应当限制在千字以内、仅包含少量格式、无复杂结构的文档撰写,典型应用如类Doxygen的代码文档注释和blog评论等。”真是对Markdown一针见血的评价。
Markdown问题一、
程序员喜欢在博客中高亮语言,Markdown恰恰天生就支持,但是Markdown有多种实现版本,各版本之间互操作性差,导致了在Markdown语言高亮在Github上正常显示,在Jekyll中使用Pygments又出现问题。
比如下面一段包含代码的Markdown文字:
---------- 1. 语言高亮测试1 import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print('Please restart Sublime Text to finish installation') 2. 语言高亮测试2 ```python import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print('Please restart Sublime Text to finish installation') ``` 3. 语言高亮测试3 ----------
在Github上预览是这样的:
Github语言高亮效果 |
而在JekyllBootstrap框架下(Pygments高亮)效果如下,测试2中竟然还把python这个单词输出了:
JekyllBootstrap语言高亮效果 |
Markdown问题二、
对纯中文列表支持的一塌糊涂。比如如下Markdown文字:
---------- 1. 搭建GAE * 第一步 * 第二步 2. 下载Goagent * 第一步 * 第二步 3. 配置 * 第一步 * 第二步 4. 配置浏览器 * 第一步 * 第二步 ----------这次我们先去stackedit上预览,效果图如下,一切正常:
StackEdit效果图 |
在Github上预览,效果图如下,列表序号出错了:
Github效果图 |
在JekyllBootstrap框架下效果如下,第三、四条出现了问题:
JekyllBootstrap效果图 |
这里我们分析一下问题所在,因为Markdown对中文列表支持太差,猜测可能是第三、四条是纯中文,试着改成以英文结尾,效果如下,解析正确了。
JekyllBootstrap修改后效果 |
最后分享几个Markdown的小窍门:
1.Markdown反引号中怎么转义反引号?
Tips:在最外层使用两个连续的反引号。
例如:要想预期显示`git archive master --format=zip > `git describe master`.zip`中的反引号,需要这样写:
``git archive master --format=zip > `git describe master`.zip``
2.如何在列表中缩进代码?
Tips:代码需要比列表多缩进一次。
例如本文的语言高亮测试1。
评论
发表评论