最近因为一直在学习Sublime Text,所以也就顺便试用了一下ST对Markdown的支持。正好CSDN正在大力宣传新上线的Markdown编辑器,所以方便了日后的博客发布。
首先说一下与Office Word相比,最深刻的几点体会吧:
专注写作内容:不再纠结字体、标题大小、行间距等等版式问题,专注于文章内容本身的编写。一边看电子书,一边在Sublime Text里敲代码练习,还能一边在Sublime Text里敲文档,写作过程不仅变得很高效,而且变得很愉快!
代码语法高亮:Word最大的问题就是嵌入源代码很麻烦,写技术博客怎么可能不嵌入源代码?!之前也装过一些Word的扩展插件,但最终效果都不理想。
插入数学公式:这一功能Word中倒是有,但是Markdown借助MathJax实现起来更加简单。
文件占用空间小:.md因为是纯文本文件,所以很小巧。相比之下,一个只包含很少内容的.docx动辄就几十、上百k。
发布博客的确快了不少,CSDN的Markdown样式也挺漂亮的。现在感觉唯一不太方便的就是:因为Markdown是纯文本标记语言,没法嵌入本地文件,所以如果文章中引用了图片的话,还需要用老办法,先手动上传到CSDN的图片服务器。
1.基本语法
这里仅简单列一下最常用的语法,完整的语法介绍请参考网上的各种手册。
1.1 标题
从#到######表示h1到h6
1.2 加粗和斜体
*或_之间的文字会变成 斜体,**或__之间的文件会变成 加粗。
之间的文字会强调。
1.3 键盘按键
在和之间的字母会像键盘按键那样显示,例如Ctrl。
1.4 列表
-、+、*都能表示列表,要注意的是 <strong>前后都要有空行</strong>:
bullets can be -, +, or *
bullet list 1
bullet list 2
sub item 1
sub item 2
1.5 图片
图片、网址、章节引用的方法都类似,语法是:[显示文字](reference)。其中reference可以是:图片链接、网址链接、#章节标题。目前还不知道有什么方法能嵌入本地图片。
1.6 数学公式
详见[3.2 <strong>Markdown</strong> Preview](#3.2 <strong>Markdown</strong> Preview)。
2.GitHub Flavored <strong>Markdown</strong>
GitHub现在成了主流,不仅提供Git代码托管(取代SVN)、Issue追踪(取代JIRA),而且还增强了<strong>Markdown</strong>的语法GitHub Flavored <strong>Markdown</strong>,即GFM。GFM使用了Linguist进行语言检测和语法高亮,能为几乎各种语言渲染出漂亮的样式。
2.1 下划线
单词中如果有_的话,GFM会忽略,而不会变成斜体,不然真的很烦!例如,单词wow_great_stuff中的great不会变成斜体。
2.2 语法高亮
可以在“
之间敲入代码,并提示编程语言,例如“`ruby。
require ‘redcarpet’Markdown = Redcarpet.new(‘Hello World!’)puts Markdown.to_html
1
2
3
4
2.3 表格
详见[3.3 Table Editor](#3.3 Table Editor)。
3.Sublime Text插件
3.1 MarkdownEditing
一定要全局配置ignored_packages: [“Markdown”]禁用ST默认的Markdown插件,否则MarkdownEditing中看不到代码染色的效果,也不会有GFM的语法增强。
3.2 Markdown Preview
安装Markdown Preview后,有一些默认选项需要修改。例如,开启代码染色、MathJax支持、解析器列表只保留一个Markdown(因为我这github无法连接)。
{ /* Sets the parser used for building Markdown to HTML. */ ‘parser’: ‘Markdown‘, /* Enable or not mathjax support. */ ‘enable_mathjax’: true, ‘enable_highlight’: true, /* Remove github */ ‘enabled_parsers’: [‘Markdown‘]}
1
2
3
4
5
6
7
8
9
10
11
12
尝试一下,在md文件中输入:
$x^{y^z}=(1+{\rm e}^x)^{-2xy^w}$
如果MathJax配置成功的话,就能看到数学公式:
xyz=(1+ex)?2xyw
更加完整的MathJax语法请参考官方文档。
3.3 Table Editor
借助Table Editor插件可以方便的插入表格,类似Emacs中Orgmode一样。
YearTemperature (low)Temperature (high)
1900-1025
1910-1530
1920-1032
但要注意的几点是:
通过Ctrl+Shift+P->Table Editor: Enable for current view开启。
先输入标题行,回车后在第二行输入|-后,按tab键就将进入Table编辑模式。
表格必须与前面输入的文字之间有空行,否则表格会被当成普通文字渲染。