Markdown学习笔记
1.Markdown语言简介
Markdown 语法的目标是:成为一种适用于网络的书写语言。特性是「易读易书写」。Markdown是一种书写语言,是大家约定好的一种书写有结构的文本文件的方式。而HTML,pdf 是发布的格式。
一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。
Markdown的设计目标是容易转化成html发布。所有在Markdown中的标记实际都被MD编辑器转化成html元素了。Markdown实质是简化易读易写的html书写语言,解释成html。MD和html是完全兼容的,可以在MD中加入html的标签。
Markdown有许多衍生版本,GFM(GitHubFlavored Markdown)是github的一个MD语言扩展,对程序员来说很有爱。GFM的介绍https://help.github.com/articles/github-flavored-markdown。GFM部分的有爱特性:(1)代码高亮(2)任务列表(3)自动URL链接。
首先,Markdown文件就是文本文件,可以在任何文本编辑器中编辑。专业的Markdown编辑器的作用有(1)可以转换成html,html又可以转换成pdf——即可以转换成发布格式。(2)在线发布、协同编辑。(3)实时预览、工具栏。
编辑器 | stackedit插件 | Minimalist Markdown Editor插件 | ||
需要特定的浏览器 | 需要 | 不需要 | 不需要 | 需要 |
离线使用 | √ | %>_<% | %>_<% | √ |
快捷工具栏 | √ | √ | %>_<% | %>_<% |
支持导航 | √ | √ | %>_<% | %>_<% |
持续更新 | √ | √ | √ | √ |
是否支持GitHub Flavored Markdown | 支持table 支持自动链接 | 支持table 支持自动链接 | 支持~~囧~~ 即,囧 | 不支持 |
其他MD编辑器:Win Mac和Lin环境下都有自己一些编辑器。还有在线的,如简书(在线),或者chrome插件,如Made插件(不更新了)。Ps.听说vim+vim插件+chrome+chrome插件,用起来也不错。
选用stackedit挺好的,不过它的离线使用很囧,一定要先在线下载好了所有文件(js之类)才能离线,如果想真正的离线使用也可以下载stackedit的开源源码,打开index.html 使用,源码地址 https://github.com/benweet/stackedit。
主要语法很简单,但是有些琐碎和不常见的语法,如嵌套引用>>不需要特别记忆,到时候看到或者想到需要用的时候再查吧。只管主要语法。不过,和html5一样,真正的语法其实是编辑器定义的。
语法 | 如何标记 | 效果(还是要看编辑器和库的实现) |
段落 | 什么不标记自然成为段落,即正文。 一个段落是由一个或多个连续的行构成,段落间靠一个或以上视觉上的空行划分。 | 一般的段落不应该用空格或制表符缩进。 所以一个空行就可以分区段落。 |
换行 | 结尾两个空格强制换行。 在文本中输入的换行会从最终生成的结果中删除,浏览器会根据可用空间自动换行。 |
|
标题 | # 标题名 间隔一个空格,另外一种方式 一级标题名 ========== 二级标题名 ----------------- | n个#表示n级标题,字号逐级降低。共6级。 两种方式可以兼容,对于简单文档来说两级标题已经够了。而且横线的方式比较易读。
任何数量的 = 和 - 都可以有效果 |
列表 有序列表 | - 或 + 或 * 1. | 为了避免出现歧义,当写「1986. 条是***」这样的行需要加入转义标识。「1986\. 条是***」 |
链接 图片
自动链接 | [链接说明](URL) ![](URL) 链接和图片都可以放在文章最后,相当于引用 [链接文字][链接引用标签] [链接引用标签]: 链接地址 "链接标题" <URL>也会生成直接的地址 | 例子: ![alt text][logo]
[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 2" |
引用 | >引用内容
>引用 >内容 | 可以选择只在开头加一个。也可以在每行前面都加一个,效果是一样的。 |
斜体 粗体 粗斜体
横穿 | *文本* **文本** ***文本*** 用_文本_也可以,对于程序员来说不方便 ~~文本~~ | 表示强调 表示加重强调 表示特别强调 |
代码 | `行内短代码` ···语言 代码块 ··· | 反引号,也就是tab键上面那个符号 |
水平线 | --- *** ___ | 3个或以上 |
参考资料:
[中文简单MD语法,简书] http://jianshu.io/p/q81RER
[一份英文的语法表单,有例子,准确清楚] https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
[貌似是官方文档的中译版本,有点过时] http://wowubuntu.com/markdown/
[这是官方文档,格式好难读,没看] http://daringfireball.net/projects/markdown/syntax
GFM的部分语法,如横穿等被吸收到新的SM中了。最支持GFM的当然是github,可惜不支持实时预览。当然了,其中还包括一些为github专门设计的语法,如表情之类的,这里就不做介绍,参考文献中有。
任务列表 | - [x] 任务描述 - [x] 任务描述 - [ ] 任务描述 | 显示类似todolist的小框,[x]和[ ]分别表示完成和未完成 |
语法高亮 | 代码会根据语言高亮显示 |
|
自动链接 | 不需要加<> | 自动识别URL并转化显示 |
_失效 | _文本_不再表示强调 | 避免歧义 |
新的换行 | 换行符就是换行 | 不需要两个空格了 |
表格 | | Tables | Are | Cool | | ------------- |:-------------:| -----:| | col 3 is | right-aligned | $1600 | | col 2 is | centered | $12 | | zebra stripes | are neat | $1 |
Markdown | Less | Pretty --- | --- | --- *Still* | `renders` | **nicely** 1 | 2 | 3 | 首行自动强调显示 第二行表示居左/中/右格式
|
参考资料
[github help文件:GitHubFlavored Markdown] https://help.github.com/articles/github-flavored-markdown
[GFM和SM(StandardMarkdown)的区别,简书,中文] http://jianshu.io/p/cfPxyr
以后补充。