Markdown使用教程(转载收藏)
基础语法
标题
Markdown支持6种级别的标题,对应html标签 h1 ~ h6
# h1
## h2
### h3
#### h4
##### h5
###### h6
以上标记效果如下:
h1
h2
h3
h4
h5
h6
除此之外,Markdown还支持另外一种形式的标题展示形式,其类似于 Setext 标记语言的表现形式,使用下划线进行文本大小的控制
这是一级标题
===
这是二级标题
---
使用这种方式处理标题仅有两种表现形式,即一级标题和二级标题。遗憾的是,简书并不支持这种语法。因此,我们用一张图来展示效果:

这种处理方式在Github的一些开源工程上面比较常见,显而易见的缺点是:文字大小控制级别有限。
段落及区块引用
需要记住的是,Markdown其实就是一种易于编写的普通文本,只不过加入了部分渲染文本的标签而已。其最终依然会转换为html标签,因此使用Markdown分段非常简单,前后至少保留一个空行即可。
而另外一个比较常见的需求就是,我们可能希望对某段文字进行强调处理。Markdown提供了一个特殊符号>用于段首进行强调,被强调的文字部分将会高亮显示
> 这段文字将被高亮显示...
以上标记显示效果如下:
这段文字将被高亮显示...
插入链接或图片
Markdown针对链接和图片的处理也比较简单,可以使用下面的语法进行标记
[点击跳转至百度](http://www.baidu.com)

以上标记显示效果如下:

注: 引用图片和链接的唯一区别就是在最前方添加一个感叹号。
列表
Markdown支持有序列表和无序列表两种形式:
- 无序列表使用*或+或-标识
- 有序列表使用数字加.标识,例如:1.
* 黄瓜
* 玉米
* 茄子
+ 黄瓜
+ 玉米
+ 茄子
- 黄瓜
- 玉米
- 茄子
1. 黄瓜
2. 玉米
3. 茄子
以上标记显示效果如下:
- 黄瓜
- 玉米
- 茄子
- 黄瓜
- 玉米
- 茄子
- 黄瓜
- 玉米
- 茄子
- 黄瓜
- 玉米
- 茄子
注:这里比较有趣的地方是,对于有序列表,Markdown将只关注你的第一个项目的数字编号。例如:如果第一个项目编号是3,以此类推,第二个项目应该是4,最终将显示为3、4、5。而如果你指定了第一个编号,后面的编号指定错误也没有关系,Markdown将只在乎你的第一个项目编号。
使用列表的一些注意事项
如果在单一列表项中包含了多个段落,为了保证渲染正常,*与段落首字母之间必须保留四个空格
* 段落一
小段一
* 段落二
小段二
以上标记显示效果如下:
段落一
小段一
段落二
小段二
另外,如果在列表中加入了区块引用,区域引用标记符也需要缩进4个空格
* 段落一
> 区块标记一
* 段落二
> 区块标记二
- 段落一
区块标记一
- 段落二
区块标记二
注:记住一个原则,如果在和列表配合使用的时候出现了问题,就缩进一次,四个空格或者一个制表符代表一次缩进。如果一次缩进没有解决问题,那就两次。
分隔线
有时候,为了排版漂亮,可能会加入分隔线。Markdown加入分隔线非常简单,使用下面任意一种形式都可以
***
---
产生分隔线的语法要求比较松,符号之间添加空格也可以。
强调
有时候,我们希望对某一部分文字进行强调,使用*或_包裹即可。使用单一符号标记的效果是斜体,使用两个符号标记的效果是加粗
*这里是斜体*
_这里是斜体_
**这里是加粗**
__这里是加粗__
这里是斜体
这里是斜体
这里是加粗
这里是加粗
高级用法
插入代码块
Markdown在IT圈子里面比较流行的一个重要原因是,它能够轻松漂亮地插入代码。
方法是,使用反引号`进行包裹即可。如果是行内代码引用,使用单个反引号进行包裹
这是一段var x = 3
行内代码
如果插入一整段代码,需要至少使用两个以上反引号进行包裹, 看效果:
fun (x: Int, y: Int): Int {
return x + y
}
注:很多人不知道怎么输入反引号。在英文模式下,找到键盘最左侧esc键下面的第一个键点击即可。
插入表格
表格是Markdown语法中比较复杂的一个,其语法如下:
表头|条目一|条目二
:---:|:---:|:---:
项目|项目一|项目二
以上标记显示效果如下:
表头 | 条目一 | 条目二 |
---|---|---|
项目 | 项目一 | 项目二 |
注:三个短斜杠左右的冒号用于控制对齐方式,只放置左边冒号表示文字居左,只放置右边冒号表示文字居右,如果两边都放置冒号表示文字居中。
其它
特殊符号处理
Markdown使用反斜杠\插入语法中用到的特殊符号。在Markdown中,主要有以下几种特殊符号需要处理:
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号
例如,如果你需要插入反斜杠,就连续输入两个反斜杠即可:\\ => \ 。
注:在内容中输入以上特殊符号的时候一定要注意转义,否则将导致内容显示不全,甚至排版混乱。
如何给文字上色
使用Markdown的同学最郁闷的地方恐怕就是不能给文字添加颜色了。事实上,Markdown的最初目标就是为纯写作而生的。因此,它并没有考虑文字颜色这一点。所以,单纯使用Markdown设置文字颜色已经做不到了。但你可以这样做:
- 先用Markdown编辑完成
- 导出为html,在需要上色的部分手动添加标签<font color='#ff0000'></font>保存即可。
Markdown软件推荐
如果你是一个Mac用户,我推荐你使用开源的 MacDown:

如果你愿意花钱的话,一些收费产品其实更好。例如:Byword,Ulysses,Typora等等都很不错。
日常使用,我就用Macdown。写书,我就用Ulysses。
简单总结
Markdown是一门比html更简单的标记语言,其主要用于日常写作。最终通过相应的编辑器或者脚本转换成html用于页面渲染。如果你是一个作家,或者是一个程序员,Markdown对你来说是一门必备的技能。掌握Markdown真的很简单,如你所见,这篇文章使用了这么短的篇幅就已经将Markdown的语法全部介绍完了。
不过,由于Markdown基础语法的限制,出现了一些针对Markdown语法的加强版本。它支持的语法特性更多,但这不是我们这篇文章的讨论范围。如果你希望快速掌握Markdown,很简单,动起来吧!
作者:欧阳锋
链接:https://www.jianshu.com/p/335db5716248
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Markdown使用教程(转载收藏)的更多相关文章
- CSDN Markdown简明教程5-高速上手
0.文件夹 文件夹 前言 CSDN Markdown特点 CSDN Markdown高速上手 1 使用快捷键 粗体斜体 引用 链接 高亮代码块 图片 标题 列表 切割线 撤销反复 2 使用离线写作 3 ...
- CSDN Markdown简明教程3-表格和公式
0. 文件夹 文件夹 前言 表格 1 表格 2 表格对齐方式 公式 1 行内公式 2 陈列公式displayed formulas 3 MathJax语法 深入 声明 1. 前言 Markdown是一 ...
- CSDN Markdown简明教程4-UML画画
0.文件夹 文件夹 前言 序列图 1 序列图演示样例 2 序列图语法 流程图 1 流程图演示样例 2 流程图语法 节点定义 节点连接 Gravizo 声明 1. 前言 Markdown是一种轻量级的标 ...
- WEKA使用教程(经典教程转载)
http://blog.csdn.net/yangliuy/article/details/7589306 WEKA使用教程(经典教程转载) 标签: lift算法csv数据挖掘class任务 2012 ...
- Markdown 使用教程
前言 以前经常在 github 中看到 .md 格式的文件,一直没有注意,也不明白为什么文本文档的后缀不是 .txt ,后来无意中看到了 Markdown,看到了用这个东西写得一些web界面等特别的规 ...
- GJM : Taurus.MVC 2.0 开源发布:WebAPI开发教程 [转载]
Taurus.MVC 2.0 开源发布:WebAPI开发教程 转载自http://www.cnblogs.com/cyq1162/p/6069020.html 因是新手 粘贴时有一个版权问题 本文原 ...
- iOS: 学习笔记, Swift与Objective-C混用简明教程(转载)
Swift与Objective-C混用简明教程 转载自:https://github.com/lifedim/SwiftCasts/tree/master/000_mix_swift_objc 我想很 ...
- cmd markdown 使用教程
cmd markdown 使用教程 tags: 自制教程 李卓伦 目录: [TOC] 一.简介与安装 我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,Cmd M ...
- MarkDown系列教程
编辑了一个Markdown的系列教程,前一部分是摘编自 菜鸟教程 网站 目录 第一篇 Markdown 使用教程 入门
随机推荐
- spring cloud微服务docker启动
1. 背景 将系统拆分成微服务,一个系统可能拆分成十几个服务,服务太多会影响发布和管理,所以容器话之后易于管理和版本发布,鉴于此将spring cloud微服无docker容器化. 2.依赖环境 Ce ...
- IDEA插件之FindBugs
1.是个啥? Findbugs,它是一个静态分析工具,用来查找Java代码中的程序错误.它使用静态分析来识别Java程序中上百种不同类型的潜在错误. 2.安装 File -> Settings ...
- MVCC原理 4步 什么是MVCC、事务ACID、事物隔离级别、Innodb存储引擎是如何实现MVCC的
MVCC是来处理并发的问题,提高并发的访问效率,读不阻塞写.事物A 原子性C 一致性I 隔离性D 持久性高并发的场景下的问题脏读不可重复读幻读事物隔离级别RU读未提交 脏读/不可重复读/幻读 .不适用 ...
- 【AtCoder】AGC003
AGC编号越小越水???? AGC003 A - Wanna go back home 相对方向要么一起有要么一起没有 #include <bits/stdc++.h> #define f ...
- 题目15 链表中倒数第K个节点
///////////////////////////////////////////////////////////////////////////////////// // 5. 题目15 链表中 ...
- HTNL基础之四
11.<nav>导航元素 标签定义及使用说明 表示页面中导航链接的部分,例如:传统导航条,侧边栏导航,页内导航,翻页等 <nav> 标签定义导航链接的部分. 并不是所有的 HT ...
- django类视图的使用
1 类视图引入 以函数的方式定义的视图称为函数视图,函数视图便于理解. 但是遇到一个视图对应的路径提供了多种不同HTTP请求方式的支持时,便需要在一个函数中编写不同的业务逻辑,代码可读性与复用性都不佳 ...
- 消息服务百科全书——Kafka基本原理介绍
架构 1.1 总体架构 因为Kafka内在就是分布式的,一个Kafka集群通常包括多个代理. 为了均衡负载,将话题分成多个分区,每个代理存储一或多个分区.多个生产者和消费者能够同时生产和获取消息. 一 ...
- python-gitlab 统计代码行数
需求:根据时间段,统计各个研发提交的代码行 实现逻辑:调用原生gitlab接口太复杂,引用python-gitlab 获取commit详情,然后进行统计 ======================= ...
- java Lesson08总结
package com.xt.java.FirstExciple.oop; public class NokiaPhone { //成员变量 String name="np001" ...