Markdown语法及SublimeText下使用技巧
0.缘起
最近因为一直在学习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 键盘按键
在<kbd>和</kbd>之间的字母会像键盘按键那样显示,例如Ctrl。
1.4 列表
-、+、*都能表示列表,要注意的是 前后都要有空行:
- bullets can be
-
,+
, or*
- bullet list 1
- bullet list 2
- sub item 1
- sub item 2
1.5 图片
图片、网址、章节引用的方法都类似,语法是:[显示文字](reference)。其中reference可以是:图片链接、网址链接、#章节标题。目前还不知道有什么方法能嵌入本地图片。
1.6 数学公式
详见[3.2 Markdown Preview](#3.2 Markdown Preview)。
2.GitHub Flavored Markdown
GitHub现在成了主流,不仅提供Git代码托管(取代SVN)、Issue追踪(取代JIRA),而且还增强了Markdown的语法GitHub Flavored Markdown,即GFM。GFM使用了Linguist进行语言检测和语法高亮,能为几乎各种语言渲染出漂亮的样式。
2.1 下划线
单词中如果有_的话,GFM会忽略,而不会变成斜体,不然真的很烦!例如,单词wow_great_stuff中的great不会变成斜体。
2.2 语法高亮
可以在“`之间敲入代码,并提示编程语言,例如“`ruby。
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
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"]
}
尝试一下,在md文件中输入: $
x^{y^z}=(1+{\rm e}^x)^{-2xy^w}$
如果MathJax配置成功的话,就能看到数学公式:
xyz=(1+ex)−2xyw
更加完整的MathJax语法请参考官方文档。
3.3 Table Editor
借助Table Editor插件可以方便的插入表格,类似Emacs中Orgmode一样。
Year | Temperature (low) | Temperature (high) |
---|---|---|
1900 | -10 | 25 |
1910 | -15 | 30 |
1920 | -10 | 32 |
但要注意的几点是:
- 通过Ctrl+Shift+P->
Table Editor: Enable for current view
开启。 - 先输入标题行,回车后在第二行输入
|-
后,按tab键就将进入Table编辑模式。 - 表格必须与前面输入的文字之间有空行,否则表格会被当成普通文字渲染。