Markdown 基础语法
内容:
- Markdown 是什么?
- Markdown 是谁创造的?
- 为什么要使用Markdown?
- Markdown怎么使用?
- Markdown 都有哪些人在用?
- 尝试一下Markdown的使用!
- Markdown 进阶语法!
学习目标
通过学习,能对Markdown语法有个比较全面的认知,对日常工作写作排版尽量放弃Word、txt等文本工具,改直接用Markdown语言写文档。
学习思路
- 一开始,先记住
# 这是标题
、## 这是二级标题
、### 这是三级标题
、...这时候你写一般小文章会开始感觉 MD 不错。 - 然后,你发现标题不适合做列表,记住了用
1. 第一点
、- 这一点
来列表超级方便。 - 好吧,写作总要有些重点吧,
**加粗**
、*斜体*
、~~删除线~~
开始派上用场了。这时你基本不会打开 Word 那样的笨重软件了。 - 如果你不幸是码农:
\
这是单行代码``
//这是代码段,四个空格或一个制表符缩进 int i;
> 这是引用
5.你越来越喜欢,自然会去查查维基(Markdown)还有什么语法,加上多用,很快就基本掌握了。MD 还有表格、锚、注脚、贴图等。强烈推荐 Mou,按 ⌘+R 可以快速查看语法。
6.慢慢,你会发现,总有小「bugs」,如列表内无法内嵌代码段。上网查查,你开始理解 MD 的缩进内嵌机制等高级隐形内容,这样你就 Master 了!
以下是 Mou 下面的效果,多漂亮:
Markdwon 是一种轻量级 标记语言 ,它以纯文本形式(易读、易写、易更改)编写文档,并最终以HTLM格式发布。Markdown也可以理解为将以 MARKDOWN语法编写的语言转换成HTML内容的工具。
它是由 Aaron Swartz 和 [John Gruber](https://baike.baidu.com/item/John Gruber/18550453?fr=aladdin) 共同设计, Aaron Swartz 就是那位(2013年1月11日)自杀,有着开挂一般人生经历的程序员。 维基百科对他的介绍是:软件工程师、作家、政治组织者、互联网活动家、维基百科人。
他有着足以让你跪拜的人生经历。
- 14岁参与RSS 1.0规格标准制订。
- 2004年入读斯坦福大学,之后退学。
- 2005年创建 Infogami,之后与Reddit合并成为其合伙人。
- 2010年创立示进会(Demand Preogress),积极参与禁止网络盗版法案(SOPA)活动,最终该提案被撤回。
- 2011年7月19日,因被控从MIT和JSTOR下载480万篇学术论文并以免费形式上传于网络被捕。
- 2013年1月自杀身亡。
- 它是易读(看起来舒服😌)、易写(语法简单)、易更改(纯文本)。处处体现着极简主义的影子。
- 兼容HTML,可以转换为HTML格式发布。
- 跨平台使用。
- 越来越多的网站支持Markdown.
- 更方便清晰的组织你的电子邮件。(Markdown-here,Airmail)。
- 摆脱Word,txt!!!
如果不算扩展,Markdown的语法绝对简单到让你爱不释手!
Markdown语法分为如下几大部分:
▸ 标题
▸ 段落
▸ 区块引用
▸ 代码区块
▸ 强调
▸ 列表
▸ 分割线
▸ 链接
▸ 图片
▸ 反斜杠
▸ 符号
▸ 表格
▸ 流程图
两种形式
1)使用 =
和 -
标记 一级
和二级
标题。
示例md代码:
一级标题
=
二级标题
-
示例效果:
2)使用 #,可以表示 1-6级 标题。
示例md代码:
# 第一级标题 `<h1>`
## 第二级标题 `<h2>`
### 第三级标题 `<h3>`
#### 第二四级标题 `<h4>`
##### 第五级标题 `<h5>`
###### 第六级标题 `<h6>`
示例效果:
段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用两个以上空格加上回车(引用中换行省略回车)
在段落的每行或者只在第一行使用符号 > ,还可使用多个嵌套引用,如:
示例md代码:
> 区块引用
> > 嵌套引用
> > >三嵌套引用
> > > > 四嵌套引用
示例效果:
代码区块的建立是在每行加上4个空格或者一个制表符(如同写代码一样)。如普通段落:
示例md代码:
fun main(args: Array<String>) {
println("Hello World!")
println("sum = ${sum(34, 67)}")
println("sum = ${sum(34, 67)}")
println("sum = ${sum(34, 6, 57, 34)}")
printSum(237, 57)
printSum(234, 567, 8)
vars(1, 4, 6, 78, 0, 6, 9, 8)
val sumLambda: (Int, Int) -> Int = { x, y -> x + y }
println("sumLambda = ${sumLambda(3, 6)}")
// if (args.size < 2) {
// println("Two integers expected")
// return
// }
testFor()
val a: Int = 1000
println(a === a)//true 值相等,对象地址相等
//经过了装箱,创建了两个不同的对象
val boxedA: Int? = a
val anotherBoxedA: Int? = a
//虽然经过了装箱,但是值是相等的,都是10000
println(boxedA === anotherBoxedA) // false,值相等,对象地址不一样
println(boxedA == anotherBoxedA) // true,值相等
}
示例效果:
注意
示例md代码:
*斜体* ,_斜体_
**加粗**,__粗体__
示例效果
使用 . 、+、或 - 标记无序列表,如:
示例md代码:
- 第一项
+ 第二项
- 第三项
+ 第四项
- 第五项
+ 第六项
<font color="red">示例效果:</font>
**注意:标记后面最少有一个_空格_或_制表符_。若不在引用区块
中,必须和前方段落之间存在空行。**
示例md代码:
1. 第一项
2. 第二项
3. 第三项
4. 第四项
5. 第五项
6. 第六项
示例效果:
分割线最常使用就是三个或以上的 *
, ======
还可以使用 -
和 _
。
示例md代码:
***
---
_____
======
示例效果:
链接可以由两种形式生成,行内式 和 参考式。
行内式:
示例md代码:
[GitHub](http://github.com)
自动生成连接 <http://www.github.com/>
示例效果:
参考试:
[GitHub][1]
[1]:http://github.com
自动生成连接 <http://www.github.com/>
示例效果:
**注意:**上述的[1]:http://github.com不出现在区块中。
添加图片形式和链接相似,只需要在链接的基础上前方加一个 !号。
示例md代码:
![GitHub set up](http://zh.mweb.im/asset/img/set-up-git.gif)
格式: ![Alt Text](url)
相当于反转义作用。使符号成为普通符号。
#####4.11 符号 ``
起到标记作用,如标签:
Ctrl+A
、Ctrl+C
、Ctrl+V
示例md代码:
第一格表头 | 第二格表头
---------| -------------
内容单元格 第一列第一格 | 内容单元格第二列第一格
内容单元格 第一列第二格 多加文字 | 内容单元格第二列第二格
内容单元格 第一列第三格 多加文字 | 内容单元格第二列第三格
内容单元格 第一列第四格 多加文字 | 内容单元格第二列第四格
示例效果:
st=>start: Start:>https://www.jpjbp.com/
io=>inputoutput: verification
op=>operation: Your Operation
cond=>condition: Yes or No?
sub=>subroutine: Your Subroutine
e=>end
st->io->op->cond
cond(yes)->e
cond(no)->sub->io
更多语法参考:流程图语法参考
Markdown 的使用作者:
- Github
- 简书
- StackOverFlow
- Apollo
- Moodle
- CSDN
- 等等
- Chrome下的插件诸如stackedit与markdown-here等非常方便,也不用担心平台受限。
- 在线的dillinger.io评价也不错
- Windowns下的MarkdownPad也用过,不过免费版的体验不是很好
- Mac下的Mou是国人贡献的,口碑很好。
- Linux下的ReText不错。
Markdown 语法:
[TOC]
效果如下:
[TOC]