Markdown
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式。
Markdown 是一种轻量级的标记语言,由John Gruber和Aaron Swartz创建。这种语言创建灵感来自于已经存在的带标记的电子邮件文本。Markdown 允许 HTML 语法,所以使用者如果需要可以直接用 HTML来表示是可以的。Markdown最初由Gruber应用在Perl语言中,但它已经有多种编程语言应用了。它是开源项目,并以BSD-style许可证的许可方式以插件形式或内容管理系统形式发布。
Markdown 的目标是实现「易读易写」
Markdown 的优点如下:
纯文本,所以兼容性极强,可以用所有文本编辑器打开。
让你专注于文字而不是排版。
格式转换方便,Markdown 的文本你可以轻松转换为 html、电子书等。
Markdown 的标记语法有极好的可读性
[标题]
这是最为常用的格式,在平时常用的的文本编辑器中大多是这样实现的:输入文本、选中文本、设置标题格式。
而在 Markdown 中,你只需要在文本前面加上 # 即可,同理、你还可以增加二级标题、三级标题、四级标题、五级标题和六级标题,总共六级,只需要增加 # 即可,标题字号相应降低。例如:
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
注:'#' 和「一级标题」之间建议保留一个字符的空格,这是最标准的 Markdown 写法。
[列表]
列表格式也很常用,在 Markdown 中,你只需要在文字前面加上 - + or * 就可以了,例如:
无序列表
- 文本1
- 文本2
- 文本3
如果你希望有序列表,也可以在文字前面加上 1. 2. 3. 就可以了,例如:
有序列表
- 文本1
- 文本2
- 文本3
注:-、1.和文本之间要保留一个字符的空格。
[链接和图片]
在 Markdown 中,插入链接不需要其他按钮,你只需要使用 显示文本 这样的语法即可,例如:
简书
在 Markdown 中,插入图片不需要其他按钮,你只需要使用
[引用]
在我们写作的时候经常需要引用他人的文字,这个时候引用这个格式就很有必要了,在 Markdown 中,你只需要在你希望引用的文字前面加上 > 就好了,例如:
一盏灯, 一片昏黄; 一简书, 一杯淡茶。 守着那一份淡定, 品读属于自己的寂寞。 保持淡定, 才能欣赏到最美丽的风景! 保持淡定, 人生从此不再寂寞。
[粗体和斜体]
Markdown 的粗体和斜体也非常简单,用两个 * 包含一段文本就是粗体的语法,用一个 * 包含一段文本就是斜体的语法。
一盏灯, 一片昏黄;一简书, 一杯淡茶。 其中「一盏灯」是斜体,「一简书」是粗体。
代码引用
需要引用代码时,如果引用的语句只有一段,不分行,可以用 ` 将语句包起来。
如果引用的语句为多行,可以将```(反引号)置于这段代码的首行和末行。
单行代码引用
hello word
多行代码引用
使用3个反引号
public void main() {
System.out.println("ok");
}
补充:要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符(tab按键)就可以
所以,对于表格,如果向下面这样书写,有些解释器,就理解为代码而非表格了。
但你只要将表格放到行首,就没有被识别为代码的问题。感觉markdown在细节实现上,各家有些不同。
比如有道就可以识别下面的表格,但简书就要删除前面的4个空格或制表符才可以。
表格
序号 | 姓名 | 电话号码
:--- |----- |:-------:
1 | 王 | 188居中
序号 | 姓名 | 电话号码 |
---|---|---|
1 | 王 | 188居中 |
注意: 表格至少需要3个-符号才可以,多了貌似无所谓。另外:代表对齐方式。
分割线
分割线的语法只需要另起一行,连续输入三个星号 *** 即可。
复选框
这个有道支持,简书不支持。
- [x] -
- [x] -复选框
- [x] -
- [ ] -
- [ ] -
markdown编辑器
win:
- 有道云笔记,优点,客户端自带markdown模式,左右窗口,实时预览。
- 简书,优点,在线markdown编辑器,同样实时预览
- pandoc 通用转换工具,功能强大。
linux:
- ReText,需要依赖库,麻烦,没有实验。
关于换行
首先,这个问题由来已久。和一般的编辑器习惯不同。
单个回车,视为空格。连续两个回车或者行尾加两个空格,才视为换行。
有道云笔记支持\换行,简书不支持,简书直接替换了换行行为,一个回车即可,符合"一般"编辑器行为。
缩进
Markdown 语言不负责实现段首缩进,段首缩进这件事,应该是 CSS 或者其他排版工具的事情。
Markdown 奉行的是样式和内容分开的哲学。即使手动输入空格, 也是很不推荐的方法。
首行缩进方法:可以在段首加入 来输入一个空格。
vim中编辑
现代的gvim支持markdown语法高亮显示,且斜体和粗体等语法直接就对文字加斜或加粗了。
update:2017.9.4