随笔——简单的 Markdown 学习教程
目录
一、序言
由于本人最近被一些作业折磨得不成人样(也可能单纯是我菜),于是乎,就偷来一些闲暇时光,写了这个简单的教程,当然也是为了让我自己加深记忆啦。
本人曾经发布过一个 Markdown 的自学文档,但那个文档主要是出于本人遗忘某些功能时的参考,并没有任何教学内容,发出来也仅仅是为了做本博客的文章测试。所以现在偷闲写一篇,尝试给看到这篇文档的大家一些小小的收获,由于我也是个小白,难免会有纰漏,如果发现的话可以在评论区向我指出哦,请大佬勿喷(哦捏噶依=w=)。
Markdown 格式的文档,若非经常与电脑打交道的朋友可能不甚了解,但是这丝毫无法掩盖其作为一个语法简单、排版方便、观感美观的格式被大家所使用。相比起更广为人知的 Word 等其他文本格式,Markdown 可能因为其功能的语法导向和非可视化,在刚上手和某些格式的控制功能上有些许的困难。然而其又比 Word 的精通,以及更严谨的 LaTeX 语言的操作上更为便利,对于简单的文档写作任务比如做笔记、写技术文档、做清单、给他人评论等工作性价比相对较高。所以,学习一门门槛不高的语言并不需要耗费太多时间,但益处还是不小的,你说呢?
所以,不论你是一位刚入门 CS 的计算机小白,还是一位仅仅想将其作为一项写作技能的朋友,如果你有意向学习这门轻量级标记语言,可以耐心地把这篇文档看完(我相信它不会很长QAQ),你一定可以入门这门语言!
出于排版的需要,我会给大家拓展一些简单的 HTML 语法来完成更多的一些功能,大家有需要可以学习,如果已有的语法功能已足以胜任,那就可以跳过相关内容哦。
本文档演示的内容主要使用 Typora 和 Visual Studio Code 写成,但会考虑到兼容性,让大家见到较为通用的 Markdown 文本语法。不同的 Markdown 编辑器支持的功能会有所差异,所以我会比较推荐大家使用 Typora。Typora 是一个较为通用的 Markdown 编辑器,支持 Windows、Mac、Linux 平台,有良好的兼容性,并且支持很多拓展语法。大家初学的时候可以尝试下载 Typora 作为入门,相信很快就可以熟悉操作!
那么,让我们入门 Markdown 的世界吧!
二、字体格式
首先我们从字体格式的控制开始,我们在做笔记的时候难免会有需要着重强调某些内容的需求,此刻我们根据美观和需求可能会选择几种标记字体的样式,比如加粗、斜体、下划线等。 那么在 Markdown 中,我们如何实现这些字体格式的控制呢?
斜体和加粗
在 Markdown 中,我们使用不同数量的 * 来完成斜体和加粗等操作,比如:
*斜体内容*效果 -> 斜体内容**加粗内容**效果 -> 加粗内容***斜体加粗内容***效果 -> 斜体加粗内容
当你输入四个 * 时就不会有任何作用啦。
线型标注
当你需要使用下划线划重点时,你会发现 Markdown 并不存在相关的原生语法。那么我们是不是就望而却步了呢?
这就不得不提 Markdown 的另一个重要优势了——支持多种 HTML 语法。HTML 是一种用途极为广泛的标记语言,我们所见到的大多数网站的框架基本都是通过 HTML 构建的。
所以,我们可以通过 HTML 标签来实现下划线标注,HTML 下划线标签的语法是:
<u>请把下划线内容夹在中间</u>
例如:
<u>这里需要下划线=w=</u>
效果如下:
这里需要下划线=w=
是不是很简单呢?恭喜你也学会了 HTML 标签的使用,很多的 HTML 样式都类似于这种格式!
Markdown 不存在下划线原生语法,但是幸运的是,它支持删除线的语法,语法如下:
~~删除线内容~~
例如:
~~这里需要删除线=w=~~
效果如下:
这里需要删除线=w=
其他字体格式
Markdown 还支持其他字体格式,我们可以用高亮(仅限一些编辑器支持,如 Typora)来做强调:
==高亮内容==
例如:
==这里需要高亮=w===
效果如下:
这里需要高亮=w=
在排版数学公式和化学式中,我们需要用到上标和下标,语法如下:
这是^上标^
例如:
4\^2^=16
效果如下:
42=16
如果你查看此处源码的话,会发现此处我使用的是 HTML 的写法,实际上 Markdown 也支持这种写法。由于
^这种符号并非所有地方均适用,比如在博客展示的页面,所以这里用 HTML 写法来保证效果。
同样的,我们也可以使用下标:
这是~下标~
例如:
水的化学式为H~2~O
效果如下:
水的化学式为H2O
至此,你已经学习了相当一部分 Markdown 字体控制的格式啦!赶快去实战试试吧!
三、列表和表格
Markdown 的列表按照实际用途可以分为三种:无序列表、有序列表和任务列表。
应该不需对各种列表进行说明,大家看看效果自然就知道用在什么地方了。
无序列表
无序列表格式只要在每个前面加上 + 、 - 或 * 均可,如果没有转化可以再加一个空格,例如:
1
2
3
4
5
+ 无序列表1
+ 无序列表2
+ 无序列表3
- 无序列表4
* 无序列表5
效果如下:
- 无序列表1
- 无序列表2
-
无序列表3
-
无序列表4
- 无序列表5
你应该发现了,使用不同符号会被判定成不同的无序列表哦,使用时需要注意一下。 一般来说,我们可以一致使用
+作为同一个无序列表的符号,因为-不易区分,而*也容易与斜体弄混。
有序列表
有序列表格式则需要在每个前面加上数字和一个英文句号加空格 . ,例如:
1
2
1. 有序列表1
2. 有序列表2
效果如下:
- 有序列表1
- 有序列表1
任务列表
任务列表则需要在每个前面加上 - [ ] 或 - [x] 来表示未完成和已完成的任务,例如:
1
2
3
4
- [ ] 未完成1
- [ ] 未完成2
- [x] 已完成
- [ ] 未完成3
效果如下:
- 未完成1
- 未完成2
- 已完成
- 未完成3
任务列表有个很有趣的点,当你点一下预览模式或者
Typora的未完成的框,它会自动将未完成的任务前面加上一个勾,方便你跟踪任务进度。同理,已完成的任务也可以点击取消。
自动目录
Typora 有个功能可以快速实现目录来清晰地显示多级标题,通过输入 [TOC] 来实现。大家可以在 Typora 中尝试,请注意这个功能并不是任何编辑器均支持。
表格
Markdown 也支持表格的语法,语法如下:
1
2
3
4
| 表头1 | 表头2 | 表头3 |
| --- | --- | --- |
| 单元格1 | 单元格2 | 单元格3 |
| 单元格4 | 单元格5 | 单元格6 |
效果如下:
| 表头1 | 表头2 | 表头3 |
|---|---|---|
| 单元格1 | 单元格2 | 单元格3 |
| 单元格4 | 单元格5 | 单元格6 |
表格的语法比较复杂,这里只是举个例子。标准 Markdown 表格不支持合并单元格、跨行跨列;这些复杂样式通常需要借助 HTML 表格或编辑器扩展来实现。 如果你使用的是
Typora,你会发现有更简单的方法创建表格。
四、引用
如果你在做笔记时,觉得某句话很有道理,想把它引用到自己的笔记中,但是害怕和别的内容搞混,想保持原文的特殊性。Markdown 贴心地提供了特殊的引用方式。用法很简单,只需要在引用的内容前加上 > 即可,例如:
长风破浪会有时,直挂云帆济沧海。
引用也可以完成嵌套操作,只要在 > 中再输入一个 > 即可。
特殊标签
GitHub、Obsidian 等 Markdown 环境支持一些提示鲜明的特殊标签效果,其格式基本一致,为 > [!XXXX],XXXX 内容为你所要使用的特殊标签的全字母大写形式,例如:
提醒
[!NOTE]
> [!NOTE]
警告
[!WARNING]
> [!WARNING]
注意
[!CAUTION]
> [!CAUTION]
提示
[!TIP]
> [!TIP]
通过这些标签的运用,可以使排版更加好看,也能让你写的文章的读者更容易地抓住重点和细节。
五、代码和公式
Markdown 的一大优势就是它支持了最基本的程序和数学排版需求。在不那么严格的排版要求下,不仅学习门槛极低,还可以给读者良好的阅读体验。
行内代码
如果你想在一句话中插入一句代码或者一些特殊的名词,可以尝试使用一对反引号 ` `(位于 Esc 键下方、Tab 键上方)来包裹行内需要引用的代码,例如:
你可以尝试在 python 解释器中输入 print('Hello, world!') 来完成你的第一个程序。
代码块
如果想要引用大量代码,肯定无法再行内完成。这时,可以尝试使用代码块。代码块不仅能够排版代码,还能够适应不同的编程语言给予高亮。而使用方法也很简单,在代码前后各放一行三个反引号 ``` 即可;如果想要定制特定编程语言的高亮风格,可以在第一行 ``` 后写上相应的语言名称。例如:
python:
1
print('Hello, world!')
C:
1
2
3
4
5
#include <stdio.h>
int main(){
printf("Hello, world!");
}
C++:
1
2
3
4
5
6
#include <iostream>
using namespace std;
int main(){
cout << "Hello, world!" << endl;
}
Java:
1
2
3
4
5
public class main{
public static void main(String[] args){
System.out.println("Hello, world!");
}
}
诸如此类,Markdown 还支持各种各样的编程语言,甚至于你还可以尝试输入 bash、text!
评论