Markdown 是一种用来写作的轻量级标记语言,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、字体设置。它使我们专心于码字,用「标记」语法,来代替常见的排版格式。例如此文从内容到格式,甚至插图,键盘就可以通通搞定了。目前来看,支持 Markdown 语法的编辑器有很多,包括很多网站(例如简书)也支持了 Markdown 的文字录入。Markdown 从写作到完成,导出格式随心所欲,你可以导出 HTML 格式的文件用来网站发布,也可以十分方便的导出 PDF 格式,这种格式写出的简历更能得到 HR 的好感。甚至可以利用 CloudApp 这种云服务工具直接上传至网页用来分享你的文章,全球最大的轻博客平台 Tumblr,也支持 Mou 这类 Markdown 工具的直接上传。
二八定律说:
百分之二十的知识解决百分之八十的问题。
如果你想学习和使用Markdown
,我建议:
__常用标记__要先花一些时间熟记,后面经常使用的话就会形成习惯;
__次常用标记__要有基本的印象,能记住也是可以的;
__不常用标记__和专用标记看看就好,等到使用的时候再百度一下。
1 简介
:markdown是html
的一个子集,它通过在文本中插入标示符的方式来构造文章排版。
markdown源文件是以.md
为后缀名的纯文本格式保存。
2 正文
- 段落:前后为空行
- 换行:行末双空格
- 区块:行前四空格
- 引用:行前加
>
号
3 常用标记
3.1 标题
- 使用
#
表示标题,一级标题使用一个#
,二级标题使用两个##
,以此类推,共有六级标题。 - 使用
=====
表示高阶标题,使用---------
表示次阶标题。 -
#
和标题之间最好加一个空格。====
和----
表示标题时,大于等于2个都可以表示。
3.1.1分级标题的例子
第一种写法:
这是一个一级标题
============================
这是一个二级标题
--------------------------------------------------
第二种写法:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
一级标题字号最大,依级递减。效果如下:
这是一个一级标题
============================
这是一个二级标题
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
3.2 目录
- 使用[TOC]生成目录。
- 注意:
如果你的标题都是按照Markdown语法书写的话,可以自动生成层级目录。
[TOC] 标记可能只能放在一级标题的前面,视不同的编译器而定。 - 如果不支持,当然你也可使用word生成目录
3.3 引用
使用>
表示引用,>>
表示引用里面再套一层引用,依次类推。
- 示例
例1:
代码:
> 这是一级引用
>>这是二级引用
>>> 这是三级引用
>这是一级引用
效果:
这是一级引用
这是二级引用
这是三级引用
这是一级引用
注意
如果>
和>>
嵌套使用的话,从>>
退到>
时,必须之间要加一个空格或者>
作为过渡,否则默认为下一行和上一行是同一级别的引用。如示例所示。
引用标记里可以使用其他标记,如:有序列表或无序列表标记,代码标记等。
***
3.4 代码块
使用``` 表示代码块。(与上行距离一空行)
- 示例:
```python
a=range(10)
for i in a:
print(i)
```
- 效果:
a=range(10)
for i in a:
print(i)
- 注意
` 这个符号是在Esc键下面,切换到英文下即可。```
后面的python
表示此段代码为python代码,Markdown会自行使用python代码颜色渲染。也可以不写。
Tab缩进(与上行距离一空行)
<div>
<div></div>
<div></div>
<div></div>
</div>
即:
<div>
<div></div>
<div></div>
<div></div>
</div>
3.5 行内代码
使用 ` 表示行内代码。
- 示例:
这是`javascript`代码
这是javascript
代码
3.6 列表
使用1. 2. 3.
表示有序列表,使用*
或-
或+
表示无序列表。
例1:有序列表
代码:
1. 第一点
2. 第二点
4. 第三点
效果:
- 第一点
- 第二点
- 第三点
例2:无序列表
+ 呵呵
* 嘉嘉
- 嘻嘻
- 吼吼
- 嘎嘎
+ 桀桀
* 哈哈
效果:
- 呵呵
- 嘉嘉
- 嘻嘻
- 吼吼
- 嘎嘎
- 桀桀
- 哈哈
注意:
- 无序列表或有序列表标记和后面的文字之间要有一个空格隔开。
- 有序列表标记不是按照你写的数字进行显示的,而是根据当前有序列表标记所在位置显示的,如示例1所示。
- 无序列表的项目符号是按照实心圆、空心圆、实心方格的层级关系递进的,如例2所示。通常情况下,同一层级使用同一种标记表示,便于自己查看和管理。
3.7 粗体和斜体
- 使用
**
或者__
(双下划线)表示粗体。 -
使用
*
或者 _ 表示斜体。示例
**粗体1** __粗体2__ *斜体1* _斜体2_
粗体1 粗体2
斜体1 斜体2
- 注意:
前后的*
或_
与要加粗或倾斜的字体之间不能有空格。
3.8 表格(-
的个数可以为任意大于1的数)
------:
为右对齐。:------
为左对齐。:------:
为居中对齐。:
与|
之间不要有空格,否则对齐会有些不兼容
示例:
|序号|交易名|交易说明|备注|
|------: |:-------:|:---------|------|
|1|prfcfg|菜单配置|可以通过此交易查询到所有交易码和菜单的对应关系|
|2|gentmo|编译所有交易||
|100000|sysdba|数据库表模型汇总||
效果:
序号 | 交易名 | 交易说明 | 备注 |
---|---|---|---|
1 | prfcfg | 菜单配置 | 可以通过此交易查询到所有交易码和菜单的对应关系 |
2 | gentmo | 编译所有交易 | |
100000 | sysdba | 数据库表模型汇总 |
3.9 分割线
使用---
或者***
或者* * *
表示水平分割线。
示例
---
***
* * *
- 注意
只要*
或者-
大于等于三个就可组成一条平行线。
使用---
作为水平分割线时,要在它的前后都空一行,防止---
被当成标题标记的表示方式。
3.10 链接
使用[](link "Optional title")
表示行内链接。其中:[]
内的内容为要添加链接的文字。link
为链接地址。Optional title
为显示标题。显示效果为在你将鼠标放到链接上后,会显示一个小框提示,提示的内容就是 Optional title里的内容。
示例:
例1:行内链接
这就是我们常用的地址:[简书](http://www.jianshu.com "简书")
这就是我们常用的地址:简书
例2:参考式链接
这就是我们常用的地址:[Baidu][1]
[1]:www.baidu.com "百度一下,你就知道"
这就是我们常用的地址:
Baidu
注意
参考式链接和行内链接的显示效果是一样的,但是在编辑状态下的使用情况不一样。行内连接紧跟链接文字,可以在看到链接文字的同时清楚的知道链接地址,但是不便于多次重复利用。
参考式链接可以重复使用,但一般都是将一些链接放在一起统一管理,如一段文字后面或文章结尾,因此在找到链接和链接文字的对应关系上有些麻烦。
各有利弊了,分情况使用。
3.11 导入图片
使用![Alt text](/path/to/img.jpg "Optional title")导入图片。其中:
1. Alt text为如果图片无法显示时显示的文字;
2. /path/to/img.jpg为图片所在路径;
3. Optional title为显示标题。显示效果为在你将鼠标放到图片上后,会显示一个小框提示,提示的内容就是 Optional title里的内容。
示例
![Markdown](https://yqfile.alicdn.com/img_ac2be911c67a5f1f0eac05b03fe8b46a.jpeg)
注意
导入的图片路径可以使用绝对路径也可以使用相对路径,建议使用相对路径。
- Markdown文档的同级目录下建立一个pictures文件夹,里面放置所有所需的图片,如果图片多的话,你也可以在pictures文件夹里建立子文件夹归类。
- 最好的做法是使用网址,还有博客园以及简书可以直接拖曳或上传图片。
3.12 反斜杠
使用\
表示反斜杠。在你不想显示Markdown标记时可以使用反斜杠。
- 示例
\*这里不会显示斜体\*
*这里不会显示斜体*
3.13 空格
Markdown语法会忽略首行开头的空格,如果要体现出首行开头空两个的效果,可以使用全角符号下的空格,windows下使用shift+空格切换。
4 次常用标记
4.1 注脚
语法说明:
在需要添加注脚的文字后加上脚注名字[^注脚名字]
,称为加注;
然后在文本的任意位置(一般在最后)添加脚注,脚注前必须有对应的脚注名字。
注意:
经测试注脚与注脚之间必须空一行,不然会失效。成功后会发现,即使你没有把注脚写在文末,经Markdown转换后,也会自动归类到文章的最后。
代码:
使用 Markdown[^1]可以效率的书写文档, 直接转换成 HTML[^2], 你可以使用 Leanote[^Le] 编辑器进行书写。
[^1]: Markdown是一种纯文本标记语言(冒号与文字之间需要有空格)
[^2]: HyperText,超文本标记语言
[^Le]: 开源笔记平台,支持Markdown和笔记直接发为博文
使用 Markdown1可以效率的书写文档, 直接转换成 HTML2, 你可以使用 Leanote3 编辑器进行书写。
4.2 标签分类
使用 标签:
或者 Tags:
+空格
+标签名
表示标签标记。
示例:
标签: 数学 英语
Tags: 数学 英语
标签: 数学 英语
Tags: 数学 英语
注意:
标签:
或者Tags:
的冒号要使用半角冒号。
基本没使用过这个标记,不过应用场景应该是归类。便于快速了解文章分类。
4.3 删除线
说明
使用~~
表示删除线。
示例
~~这是一条删除线~~
这是一条删除线
注意
注意~~
和 要添加删除线的文字之间不能有空格。
5 不常用标记
5.1 实现页内跳转(锚点)
-
<h id='jump'>要跳转的标题位置</h>
h
和jump
可以随心换 - 使用html代码实现页内跳转。
- 在定义个锚
<span id = "jump">要跳转到的位置</span>
- 在定义个锚
- 点击
[跳转提示](#jump)
便会跳转到锚
所在位置的效果。
示例
[你好](#jump)
<span id = "jump">here</span>
回到[简介](#h1)
5.2 自动链接
语法说明:
Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用<>
包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样,例如:
代码1:
<http://example.com/>
<address@example.com>
效果:
http://example.com/
address@example.com
代码2:
- 邮件:
<example@example.com>
-
引用存储文件
[example](…/…/example.md)
转义符:
\
5.3 语义标记
效果 | 代码 |
---|---|
斜体 | *斜体* |
斜体 | _斜体_ |
加粗 | **加粗** |
加粗+斜体 | ***加粗+斜体*** |
加粗+斜体 | **_加粗+斜体_** |
~~删除线~~ |
5.4 语义标签
效果 | 代码 |
---|---|
斜体 | <i>斜体</i> |
加粗 | <b>加粗</b> |
强调 | <em>强调</em> |
Za | Z<sup>a</sup> |
Za | Z<sub>a</sub> |
Ctrl | <kbd>Ctrl</kbd> |
5.5 格式化文本
代码:
<pre>
hello world
hi
hello world
</pre>
效果:
hello world hi hello world
6 专项使用标记
6.1 流程图
以后在总结吧,现在的我完全没有使用上,没有需求就先不总结了。
6.2 LaTeX公式
详见以下两个网站:
Cmd Markdown 公式指导手册
Markdown公式编辑(一)
公式
- 行内公式:$
- 整行公式:$$
- 显示链接中带括号的图片
![][1]
[1]: http://latex.codecogs.com/gif.latex?\prod%20\(n_{i}\)+1
1: http://latex.codecogs.com/gif.latex?\prod%20\(n_{i}\)+1
轻量级标记语言(lightweight markup language),是一类用简单句法描述简单格式的文本语言。最早出现在无法呈现斜体和粗体文本的只能显示文本的显示器,所以必须开发非常规的方法来表达这些信息,这些格式自然被带入了通常使用文本的电邮通信中。作为一种标记语言,它的语法简单,可方便地使用简单的文本编辑器输入,源文件容易阅读和编辑,原生格式接近自然语言,纯文本有跨平台特性。所谓“轻量级”是相对于其他更丰富格式的标记语言而言的(如富文本格式语言RTF、超文本标记语言HTML、学术界排版语言TeX等)。
探寻有趣之事!