简介
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表格、脚注、内嵌HTML等等),这些功能原初的Markdown尚不具备,它们能让Markdown转换成更多的格式,例如LaTeX,Docbook。Markdown增强版中比较有名的有Markdown Extra、MultiMarkdown、 Maruku等。这些衍生版本要么基于工具,如Pandoc;要么基于网站,如GitHub和Wikipedia,在语法上基本兼容,但在一些语法和渲染效果上有改动。
用途
- Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。
- 用于编写说明文档,并且以“README.MD”的文件名保存在软件的目录下面。
使用指南
1.标题
说明
- 使用
#
表示标题,一级标题使用一个#
,二级标题使用两个##
,以此类推,共有六级标题。 -
==
和--
表示标题时,大于等于2个都可以表示。
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
这是高阶标题(效果和一级标题一样 )
==
这是次阶标题(效果和二级标题一样)
--
示例效果
(这里为了视觉效果看起来舒服一点,加了引用的语法,灰色背景)
这是一级标题
这是二级标题
这是三级标题
这是四级标题
这是五级标题
这是六级标题
这是高阶标题(效果和一级标题一样 )
这是次阶标题(效果和二级标题一样)
2.字体(粗体和斜体)
说明
- 使用
**
或者__
表示粗体。 - 使用
*
或者_
表示斜体。 - 前后的
*
或_
与要加粗或倾斜的字体之间不能有空格
**粗体1** __粗体2__
*斜体1* _斜体2_
示例效果
粗体1 · 粗体2
斜体1 斜体2
3.引用
说明
- 使用
>
表示引用,>>
表示引用里面再套一层引用,依次类推。 - 如果
>
和>>
嵌套使用的话,从>>
退到>
时,必须之间要加一个空行
或者>
作为过渡,否则默认为下一行和上一行是同一级别的引用。如示例所示。
引用标记里可以使用其他标记,如:有序列表或无序列表标记,代码标记等。
>这是一级引用
>>这是二级引用
>>>这是三级引用
>“这是一级引用”
>
>这是一级引用
示例效果
这是一级引用
这是二级引用
这是三级引用
“这是一级引用”这是一级引用
4.行内代码
说明
- 使用``表示行内代码。
- `这个符号是在Esc键下面,切换到英文下即可。
这是`Objective-C`代码,这是`Javascript`代码
示例效果
这是Objective-C
代码,这是Javascript
代码
5.代码块
说明
使用```表示代码块。(块代码前后各3个“`”)
```
+ (instancetype)sharedInstance
{
//因为Markdown语法会忽略首行开头的空格,所以下面的代码没有了缩进
static XHCRouter *instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[self alloc] init];
});
return instance;
}
```
示例效果
+ (instancetype)sharedInstance
{
static XHCRouter *instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[self alloc] init];
});
return instance;
}
6.列表
说明
- 使用
1.
2.
3.
表示有序列表,使用*
或-
或+
表示无序列表。 - 无序列表或有序列表标记和后面的文字之间要有一个空格隔开。
- 有序列表标记不是按照你写的数字进行显示的,而是根据当前有序列表标记所在位置显示的,如示例1所示。
- 无序列表的项目符号是按照实心圆、空心圆、实心方格的层级关系递进的,如示例2所示。
有序列表
1. 第一点
2. 第二点
3. 第三点
无序列表
+ 哈哈
* 嘻嘻
- 嘎嘎
- 吼吼
- 嘎嘎
+ 桀桀
* 嘿嘿
示例效果
有序列表(示例1)
- 第一点
- 第二点
- 第三点
无序列表(示例2)
- 哈哈
- 嘻嘻
- 嘎嘎
- 吼吼
- 嘎嘎
- 桀桀
- 嘿嘿
7.导入图片
说明
使用![Alt text](/path/to/img.jpg "Optional title")导入图片。其中:
* Alt text 为图片的显示名字;
* /path/to/img.jpg 为图片所在路径(《简书》直接把图片拖到编辑区即可);
* Optional title 为显示标题。显示效果为在你将鼠标放到图片上后,会显示一个小框提示,提示的内容就是 Optional title里的内容(《简书》中貌似不支持这个,试了没效果)。
![图片显示的名字.png](http://upload-images.jianshu.io/upload_images/3626034-594d9f7391db7fe6.png?imageMogr2/auto-orient/strip)
示例效果
8.链接
说明
行内链接:
使用[](link "Optional title")表示行内链接。其中:
[ ]:内的内容为要添加链接的文字(就是链接显示出来的名字)。
link:为链接地址。
Optional title:为显示标题。显示效果为在你将鼠标放到链接上后,会显示一个小框提示,提示的内容就是 Optional title里的内容。
参考链接:参考式链接和行内链接的显示效果是一样的,但是在编辑状态下的使用情况不一样。行内连接紧跟链接文字,可以在看到链接文字的同时清楚的知道链接地址,但是不便于多次重复利用。参考式链接可以重复使用,但一般都是将一些链接放在一起统一管理,如一段文字后面或文章结尾,因此在找到链接和链接文字的对应关系上有些麻烦。各有利弊,分情况使用。(貌似简书暂不支持参考式链接)
自动链接:Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用<>包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样
例1:行内链接
这就是我的个人主页地址:[我的主页](http://www.jianshu.com/u/2fe50288c229 "我的个人主页")
例2:参考链接
这就是我的个人主页地址:这是[我的主页][1],我经常去[Google][2]逛逛
[1]:http://www.jianshu.com/u/2fe50288c229 "我的个人主页")
[2]:http://www.google.com "Google"
例3:自动链接
这就是我的个人主页地址:[我的主页](http://www.jianshu.com/u/2fe50288c229 "我的个人主页")
示例效果
例1:行内链接
这就是我的个人主页地址:我的主页
例2:参考链接
这就是我的个人主页地址:这是[我的主页][1],我经常去[Google][2]逛逛
[1]:http://www.jianshu.com/u/2fe50288c229 "我的个人主页")
[2]:http://www.google.com "Google"
例3:自动链接
这就是我的个人主页地址:http://www.jianshu.com/u/2fe50288c229
9.反斜杠
说明
使用\表示反斜杠。在你不想显示Markdown标记时可以使用反斜杠。
\*这里不会显示斜体\*
\*\*这里不会显示粗体\*\*
示例效果
*这里不会显示斜体*
**这里不会显示粗体**
10.空格
说明
Markdown语法会忽略首行开头的空格,如果要体现出首行开头空两个的效果,可以使用全角符号下的空格。
在《简书》上不管是全角还是半角,连输入4个空格会进入首行开头加空格模式,进入加空格模式后可以通过空格键依次添加空格。
最后你会发现这效果不就是用代码块的那个语法产生的效果一样么。
看截图找区别
示例效果
我要在首行加空格,我按了4下空格键,加空格,加了1个空格。
看看下面的效果是不是和代码块的一模一样啊(这是在每行前面加了4个空格)
+ (instancetype)sharedInstance
{
static XHCRouter *instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[self alloc] init];
});
return instance;
}
(下面这是用```加出来的效果)
+ (instancetype)sharedInstance
{
static XHCRouter *instance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[self alloc] init];
});
return instance;
}
如果单行的话我觉得用4个空格会快一点,多行的话肯定还是用```方便。
11.分割线
说明
使用___
或者---
或者***
或者* * *
表示水平分割线(这些符号的个数大于等于3个均可)。
___
---
***
* * *
示例效果
12.删除线
说明
使用~~
表示删除线。
~~这是一条删除线~~
示例效果
这是一条删除线
13.锚点(页内跳转)
说明
网页中,锚点其实就是页内超链接,也就是链接本文档内部的某些元素,实现当前页面中的跳转。比如我这里写下一个锚点,点击回到目录,就能跳转到目录。 在目录中点击这一节,就能跳过来。还有下一节的注脚。这些根本上都是用锚点来实现的。
在你准备跳转到的指定标题后插入锚点{#标记},然后在文档的其它地方写上连接到锚点的链接。
##目录{#index}
跳转到[目录](#index)
示例效果
此处简书暂不支持,定义锚点的地方会原样显示为“目录{#index}”
跳转到目录