【入门向】使用Typora进行markdown文档书写(二)

前言

撰写本文目的是为了记录笔者自己的一些学习收获,或者说是学习过程吧。仅仅只是个人的见解和理解,因为笔者自己也是刚入门,所有可能多有疏漏、错误,还请海涵。

今天要学习使用的是使用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. 第二项
  3. 第三项

嵌套的列表

1. 第一项:
    - 第一项嵌套的第一个元素
    - 第一项嵌套的第二个元素
2. 第二项:
    - 第二项嵌套的第一个元素
    - 第二项嵌套的第二个元素
  1. 第一项:
    • 第一项嵌套的第一个元素
    • 第一项嵌套的第二个元素
  2. 第二项:
    • 第二项嵌套的第一个元素
    • 第二项嵌套的第二个元素

任务完成框列表

- [ ] 任务一
- [ ] 任务二
- [x] 已完成的任务三
  • 任务一
  • 任务二
  • 已完成的任务三

注意在Typora或者其他编辑器中可能输入-+space后会直接跳转为无序列表,此时无需惊慌,照常输入[ ]注意未完成选项的中间记得补充space,完成的中间为字母x

五、markdown区块

区块与前面文本样式所提到过的引用是同一个东西

> 区块引用
> markdown区块
> 有的人死了,但他们永远活着。

区块引用
markdown区块
有的人死了,但他们永远活着。

区块可以嵌套使用,有时候比单独使用效果更加突出。

> One
> > Two
> > > Three

One

Two

Three还有其他嵌套使用方法,合理即可。

> 区块中使用列表
> 1. 有序列表A
> 2. 有序列表B
> - 无序列表A
> - 无序列表B
> - 无序列表C

区块中使用列表

  1. 有序列表A
  2. 有序列表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+双引号给图片配置标题
![alt 属性文本](图片地址)

![alt 属性文本](图片地址 "可选标题")

八、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)=(n1)!nN 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

十、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
Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Example GANTT IN MERMAID

序列图

可以使用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
YES
NO
YES
NO
YES
NO
开始
输入A,B,C
A是否大于B
A是否大于C
B是否大于C
输出A
输出C
输出B
结束

总结

最后对markdown语法进行总结。在本文中笔者部分地方仅介绍了一种语法,主要目的是不对初学者导致记忆混乱。markdown语法非常简单,但其也拥有众多进阶功能。笔者认为,要使用更加复杂的功能可以在先在markdown中编辑文本,然后在其他的进阶编辑器中进行编辑。这样可以更加快速,同时不失去专有编辑器的快捷支持。

注:文本大部分内容是在菜鸟教程中学习,同时也使用了许多该网站的样例进行展示,仅作个人学习总结所用。
另注:在不同的博客等网站在线编辑器可能会有不同的语法支持,需要大家进行适应文本。


  1. 注脚的解释 ↩︎

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值