Markdown
Markdown,它是一种轻量级的标记语言,可以让你更加专注于内容的创作而非文字的排版,在程序员群体中使用广泛。我个人非常推荐使用Markdown,无论你是否是程序员,因为使用Markdown能够使你的笔记效率有极大的提升,他的语法也不算复杂,使用门槛很低。
下面是来自wikipedia对Markdown的描述:
Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。
由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,目前许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。如GitHub、Reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge、简书等,甚至还能被用来撰写电子书。
本文只介绍一些常用的语法,掌握了本文介绍的语法,个人认为,基本能够胜任90%以上对Markdown的使用需求了,大多是需求无非就是写写文档和笔记嘛,如果要写得花里胡哨,还得是Word,毕竟Markdown并不是一个适合富文本编辑的工具。
需要准备什么
写Markdown,你并不需要准备什么花里胡哨的高级的工具,新建一个文本文件,把他命名为 hello.md
,使用记事本打开它,输入如下内容:
# Hello World
Hello Markdown!
你就能得到你的第一个Markdown文档了,仅此而已。
经过渲染之后,以上文件就变成了下图的样子:
当然,工欲善其事必先利其器,有一个趁手的工具是十分有必要的,这里推荐几个
- Typora:yyds没得说,用过都说好,最新版收费了但是作者很良心的把旧版的下载链接放在了官网
- 语雀:阿里出品的一个文档管理软件,支持Markdown语法
- Notion:同样是一款不错的笔记应用,支持Markdown语法
- VSCode+插件:比较适合程序员
基础语法
标题
标题应该算是最常用的标签了吧,标题的语法也很简单
语法:
#
+空格
+标题内容
示例:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
效果:
其中,#
的个数,代表这是几级标题,比如一级标题就是 #
,二级标题就是 ##
引用块
语法:
在引用的段首添加 >
+空格
示例:
> 我家门前有两棵树,一棵是枣树,另一棵也是枣树。——鲁迅
效果:
列表
无序列表
语法:
-
或 +
或 *
+空格
示例:
- 无序列表
+ 无序列表
* 无序列表
- 无序列表1
- 无序列表1
- 无序列表1
+ 无序列表2
+ 无序列表2
+ 无序列表2
* 无序列表3
* 无序列表3
* 无序列表3
效果:
有序列表
语法:
数字
+.
+空格
示例:
1. 有序列表一
2. 有序列表二
3. 有序列表三
效果:
代码块
对于程序员来说这个算是很常用的功能了
有些人可能不知道什么是 反引号
,这玩意就是 数字1
键左边的那个符号
行内代码
语法:
反引号
+行内代码
+反引号
示例:
这是一段行内代码块`fmt.Println("hello markdown")`,你学会了吗?
效果:
代码块
语法:
反引号
+反引号
+反引号
+语言
代码块
反引号
+反引号
+反引号
示例:
```go
package main
import "fmt"
func main() {
fmt.Println("hello markdown")
}
```
效果:
链接
语法:
[链接内容](链接地址)
示例:
[kakkk's blog](https://blog.kakkk.net/)
效果:
图片
语法:
![图片标题](图片地址)
示例:
![kakkk](https://cdn.kakkk.net/img/kakkk.jpg)
效果:
强调
语法:
*
+强调内容
+*
其中,*
的个数代表强调的级数
一级强调变斜体,二级强调变粗体,三级强调变斜粗体
示例:
*一级强调*
**二级强调**
***三级强调***
效果:
分割线
语法:
在一行中,三个 -
或 +
或 *
都能变成一条分割线
示例:
我是一条分割线
***
又是一条分割线
---
还是一条分割线
+++
效果:
表格
Markdown的表格能力较弱,不支持诸如表格合并等功能,但是,基本需求是可以满足的
语法&示例:
| 我是右对齐(第一列名称) | 我是居中(第二列名称) | 我是左对齐(第n列名称) |
| -----------------------: | :--------------------: | :---------------------- |
| 啦啦啦啦 | 啦啦啦啦 | ... |
效果:
总结
咳咳,到了总结时间,总的来说,基本上日常使用的Markdown语法就这些,像公式之类的,或者是一些高级语法,比如流程图等等,感兴趣的可以自行学习,本文的内容基本涵盖了日程使用中需要用到的语法了。
关于练习,你可以试着用Markdown把本文的内容做出来,本文也确实是使用Markdown写的。
本文Markdown源码:
# Markdown不完全指北
## Markdown
Markdown,它是一种轻量级的标记语言,可以让你更加专注于内容的创作而非文字的排版,在程序员群体中使用广泛。我个人非常推荐使用Markdown,无论你是否是程序员,因为使用Markdown能够使你的笔记效率有极大的提升,他的语法也不算复杂,使用门槛很低。
下面是来自[wikipedia](https://zh.wikipedia.org/zh-cn/Markdown)对Markdown的描述:
> **Markdown**是一种轻量级标记语言,创始人为约翰·格鲁伯。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。
>
> 由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,目前许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。如GitHub、Reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge、简书等,甚至还能被用来撰写电子书。
本文只介绍一些常用的语法,掌握了本文介绍的语法,个人认为,基本能够胜任90%以上对Markdown的使用需求了,大多是需求无非就是写写文档和笔记嘛,如果要写得花里胡哨,还得是Word,毕竟Markdown并不是一个适合富文本编辑的工具。
## 需要准备什么
写Markdown,你并不需要准备什么花里胡哨的高级的工具,新建一个文本文件,把他命名为`hello.md`,使用记事本打开它,输入如下内容:
```markdown
# Hello World
Hello Markdown!
```
你就能得到你的第一个Markdown文档了,仅此而已。
经过渲染之后,以上文件就变成了下图的样子:
![](https://cdn.kakkk.net/img/202112282144717.png)
当然,工欲善其事必先利其器,有一个趁手的工具是十分有必要的,这里推荐几个
- Typora:yyds没得说,用过都说好,最新版收费了但是作者很良心的把旧版的下载链接放在了官网
- 语雀:阿里出品的一个文档管理软件,支持Markdown语法
- Notion:同样是一款不错的笔记应用,支持Markdown语法
- VSCode+插件:比较适合程序员
## 基础语法
### 标题
标题应该算是最常用的标签了吧,标题的语法也很简单
**语法:**
`#`+`空格`+`标题内容`
**示例:**
```markdown
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
```
**效果:**
![](https://cdn.kakkk.net/img/202112282200707.png)
其中,`#`的个数,代表这是几级标题,比如一级标题就是`#`,二级标题就是`##`
### 引用块
**语法:**
在引用的段首添加`>`+`空格`
**示例:**
```markdown
> 我家门前有两棵树,一棵是枣树,另一棵也是枣树。——鲁迅
```
**效果:**
![](https://cdn.kakkk.net/img/202112282204869.png)
### 列表
#### 无序列表
**语法:**
`-`或`+`或`*`+`空格`
**示例:**
```markdown
- 无序列表
+ 无序列表
* 无序列表
- 无序列表1
- 无序列表1
- 无序列表1
+ 无序列表2
+ 无序列表2
+ 无序列表2
* 无序列表3
* 无序列表3
* 无序列表3
```
**效果:**
![](https://cdn.kakkk.net/img/202112282213207.png)
#### 有序列表
**语法:**
`数字`+`.`+`空格`
**示例:**
```markdown
1. 有序列表一
2. 有序列表二
3. 有序列表三
```
**效果:**
![](https://cdn.kakkk.net/img/202112282216816.png)
### 代码块
对于程序员来说这个算是很常用的功能了
有些人可能不知道什么是`反引号`,这玩意就是`数字1`键左边的那个符号
#### 行内代码
**语法:**
`反引号`+`行内代码`+`反引号`
**示例:**
```markdown
这是一段行内代码块`fmt.Println("hello markdown")`,你学会了吗?
```
**效果:**
![](https://cdn.kakkk.net/img/202112282221236.png)
#### 代码块
**语法:**
`反引号`+`反引号`+`反引号`+`语言`
`代码块`
`反引号`+`反引号`+`反引号`
**示例:**
````markdown
```go
package main
import "fmt"
func main() {
fmt.Println("hello markdown")
}
```
````
**效果:**
![](https://cdn.kakkk.net/img/202112282224332.png)
### 链接
**语法:**
`[链接内容](链接地址)`
**示例:**
```markdown
[kakkk's blog](https://blog.kakkk.net/)
```
**效果:**
[kakkk's blog](https://blog.kakkk.net/)
### 图片
**语法:**
`![图片标题](图片地址)`
**示例:**
```markdown
![kakkk](https://cdn.kakkk.net/img/kakkk.jpg)
```
**效果:**
![kakkk](https://cdn.kakkk.net/img/kakkk.jpg)
### 强调
**语法:**
`*`+`强调内容`+`*`
其中,`*`的个数代表强调的级数
一级强调变斜体,二级强调变粗体,三级强调变斜粗体
**示例:**
```markdown
*一级强调*
**二级强调**
***三级强调***
```
**效果:**
![](https://cdn.kakkk.net/img/202112282235170.png)
### 分割线
**语法:**
在一行中,三个`-`或`+`或`*`都能变成一条分割线
**示例:**
```markdown
我是一条分割线
***
又是一条分割线
---
还是一条分割线
+++
```
**效果:**
![](https://cdn.kakkk.net/img/202112282238008.png)
### 表格
Markdown的表格能力较弱,不支持诸如表格合并等功能,但是,基本需求是可以满足的
**语法&示例:**
```markdown
| 我是右对齐(第一列名称) | 我是居中(第二列名称) | 我是左对齐(第n列名称) |
| -----------------------: | :--------------------: | :---------------------- |
| 啦啦啦啦 | 啦啦啦啦 | ... |
```
**效果:**
![](https://cdn.kakkk.net/img/202112282242020.png)
## 总结
咳咳,到了总结时间,总的来说,基本上日常使用的Markdown语法就这些,像公式之类的,或者是一些高级语法,比如流程图等等,感兴趣的可以自行学习,本文的内容基本涵盖了日程使用中需要用到的语法了。
关于练习,你可以试着用Markdown把本文的内容做出来,本文也确实是使用Markdown写的。