文章目录
前言
撰写本文目的是为了记录笔者自己的一些学习收获,或者说是学习过程吧。仅仅只是个人的见解和理解,因为笔者自己也是刚入门,所有可能多有疏漏、错误,还请海涵。
今天要学习使用的是使用Typora进行markdown文档书写,主要分两个部分
- Typora软件安装及使用
- markdown简介及语法介绍 (本篇主要介绍)
一、markdown简介
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。
Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建。
Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。
Markdown 编写的文档后缀为 .md, .markdown。
二、markdown标题
虽然markdown有两种风格创建标题,但是笔者喜欢使用 # 堆叠来创造标题,在此处不对另外一种风格进行说明,避免初学的读者出现记忆混乱。
markdown的标题与html
对应,拥有6级标题的设定。
使用 # 号可表示 1~6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
三、markdown文本样式
同样本文仅保留一种风格的文本样式更改方式,笔者使用的是*号堆叠进行粗体,斜体变更。同时文本风格更改还包括标记、删除线、引用(行内不可展示)、下划线等。
*斜体文本*
**粗体文本**
***粗斜体文本***
==标记文本==
~~删除文本~~
> 引用文本
<u>下划线文本</u>
斜体文本
粗体文本
粗斜体文本
标记文本
删除文本
引用文本
下划线文本
上下标
特殊样式:上标、下标 在Typora中可能需要在偏好设置中打开使用上标和下标才可以使用
^上标内容^ x^2^+y^2^=z^2^
~下标内容~ H~2~O
上标内容 x2+y2=z2
下标内容 H2O
脚注
其中脚注中^后面任何字符都可以
一个具有注脚的文本。[^2]
[^2]: 注脚的解释
一个具有注脚的文本。1
四、markdown列表
无序列表
- 第一项
- 第二项
- 第三项
- 第一项
- 第二项
- 第三项
有序列表
1. 第一项
2. 第二项
3. 第三项
- 第一项
- 第二项
- 第三项
嵌套的列表
1. 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
2. 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第二个元素
- 第一项:
- 第一项嵌套的第一个元素
- 第一项嵌套的第二个元素
- 第二项:
- 第二项嵌套的第一个元素
- 第二项嵌套的第二个元素
任务完成框列表
- [ ] 任务一
- [ ] 任务二
- [x] 已完成的任务三
- 任务一
- 任务二
- 已完成的任务三
注意在Typora或者其他编辑器中可能输入-+space后会直接跳转为无序列表,此时无需惊慌,照常输入[ ]注意未完成选项的中间记得补充space,完成的中间为字母x。
五、markdown区块
区块与前面文本样式所提到过的引用是同一个东西
> 区块引用
> markdown区块
> 有的人死了,但他们永远活着。
区块引用
markdown区块
有的人死了,但他们永远活着。
区块可以嵌套使用,有时候比单独使用效果更加突出。
> One
> > Two
> > > Three
One
Two
Three还有其他嵌套使用方法,合理即可。
> 区块中使用列表
> 1. 有序列表A
> 2. 有序列表B
> - 无序列表A
> - 无序列表B
> - 无序列表C
区块中使用列表
- 有序列表A
- 有序列表B
- 无序列表A
- 无序列表B
- 无序列表C
六、markdown代码片段
使用`前后包裹需要改变的片段,让其拥有明显的特征。
`SayHello()` 函数
SayHello()
函数
或者使用 ``` 前后包裹代码片段,在前面可以指定代码语言类型,包括C++、C、python甚至markdown等等。markdown具备完整的语法检查,能对各种类型语言进行高亮显示。
```C++
#include <iostream>
using namespace std;
int main(){
cout<<"Hello";
return 0;
}
```
#include <iostream>
using namespace std;
int main(){
cout<<"Hello";
return 0;
}
七、markdown链接与图片
链接
- 方括号将要显示的链接名称括起来
- 方括号后接圆括号将点击后要跳转的地址括起来
- 如果是短链接可以选择直接用尖括号包裹高亮显示链接地址
[链接名称](链接地址)
或者
<链接地址>
例如,本文的上部分链接:【入门向】使用Typora进行markdown文档书写(一)
图片
- 最前面加上
!
与链接相区别 - 方括号将找不到图片时进行替换的文本括起来
- 圆括号将图片的地址括起来
- 最后网址后可选择space+双引号给图片配置标题


八、markdown表格
创建一个表格
一个简单的表格是这么创建的:
| 项目 | Value |
| ---- | ----- |
| 电脑 | $1600 |
| 手机 | $12 |
| 导管 | $1 |
显示的效果如下
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
实际一个-
即可。
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
九、KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
数学公式分为行内公式和块级公式
$...$ 行内公式
$$...$$块级公式
这是$1+1=2$在行内的样子
这是块级$$
x^2+y^2=z^2
$$自动占据一行的样子
这是 1 + 1 = 2 1+1=2 1+1=2在行内的样子
这是块级
x 2 + y 2 = z 2 x^2+y^2=z^2 x2+y2=z2
自动占据一行的样子
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
十、markdown中的mermaid语法
本部分大多属于细节作图环节,在此处不再赘述,感兴趣的读者可在网络检索mermaid语法进行学习
甘特图
gantt
dateFormat YYYY-MM-DD
title Example GANTT IN MERMAID
section 现有任务
已完成 :done, des1, 2014-01-06,2014-01-08
进行中 :active, des2, 2014-01-09, 3d
计划一 : des3, after des2, 5d
计划二 : des4, after des3, 5d
序列图
可以使用UML图表进行渲染。 例如下面产生的一个序列图:
sequenceDiagramDiagram
张三 ->> 李四: 你好!李四, 最近怎么样?
李四-->>王五: 你最近怎么样,王五?
李四--x 张三: 我很好,谢谢!
李四-x 王五: 我很好,谢谢!
Note right of 王五: 李四想了很长时间, 文字太长了<br/>不适合放在一行.
李四-->>张三: 打量着王五...
张三->>王五: 很好... 王五, 你怎么样?
流程图
这将产生一个流程图。
graph LR
A[长方形] -- 链接 --> B((圆))
A --> C(圆角长方形)
B --> D{菱形}
C --> D
复杂一点的流程图
graph LR
start[开始] --> input[输入A,B,C]
input --> conditionA{A是否大于B}
conditionA -- YES --> conditionC{A是否大于C}
conditionA -- NO --> conditionB{B是否大于C}
conditionC -- YES --> printA[输出A]
conditionC -- NO --> printC[输出C]
conditionB -- YES --> printB[输出B]
conditionB -- NO --> printC[输出C]
printA --> stop[结束]
printC --> stop
printB --> stop
总结
最后对markdown语法进行总结。在本文中笔者部分地方仅介绍了一种语法,主要目的是不对初学者导致记忆混乱。markdown语法非常简单,但其也拥有众多进阶功能。笔者认为,要使用更加复杂的功能可以在先在markdown中编辑文本,然后在其他的进阶编辑器中进行编辑。这样可以更加快速,同时不失去专有编辑器的快捷支持。
注:文本大部分内容是在菜鸟教程中学习,同时也使用了许多该网站的样例进行展示,仅作个人学习总结所用。
另注:在不同的博客等网站在线编辑器可能会有不同的语法支持,需要大家进行适应文本。
注脚的解释 ↩︎