Markdown语法简单使用

简介

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表格、脚注、内嵌HTML等等),这些功能原初的Markdown尚不具备,它们能让Markdown转换成更多的格式,例如LaTeX,Docbook。Markdown增强版中比较有名的有Markdown Extra、MultiMarkdown、 Maruku等。这些衍生版本要么基于工具,如Pandoc;要么基于网站,如GitHub和Wikipedia,在语法上基本兼容,但在一些语法和渲染效果上有改动。

用途

  • Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。
  • 用于编写说明文档,并且以“README.MD”的文件名保存在软件的目录下面。
Markdown语法简单使用_第1张图片
coverImage.JPG

使用指南


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)

  1. 第一点
  2. 第二点
  3. 第三点

无序列表(示例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)

示例效果

Markdown语法简单使用_第2张图片
图片显示的名字.png

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个空格会进入首行开头加空格模式,进入加空格模式后可以通过空格键依次添加空格。

最后你会发现这效果不就是用代码块的那个语法产生的效果一样么。

看截图找区别


Markdown语法简单使用_第3张图片
看截图找区别.png

示例效果

   我要在首行加空格,我按了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}”
跳转到目录


还有一些如:目录、表格、标签、流程图等的语法以后用到在补充吧,平时简单的使用,以上讲到的这些够用了。

你可能感兴趣的:(Markdown语法简单使用)