MarkDown 的使用—— 入门篇
文章目录
前言
我平常用了
Markdown
挺久了,之所以写这么一篇介绍markdown 使用的文档兼blog,既是有一定环境需求,同时也是梳理自己关于markdown入门的一些知识点,个人理解与方法。
Mind Map
What is Markdown?
在讲 markdown 的使用前,我觉得还是很有必要讲讲啥是 markdown。
markdown 在我看来其实有两重含义:
- 第一重:文档格式,用markdown 编写的文档保存会有两种格式,
.md
,.markdown
。 - 第二重:语言,我相信你一定或多或少了解过计算机语言,编程语言,像
C
,Python
这些,而如果你的见闻再广泛一些,你可能知道现在很多的网页都是采用html
来编写,而 html 是一种标记语言,巧了 markdown 也是一门轻量级标记语言,它允许使用易读易写的纯文本格式编写文档,也可以导出Html、word、图像、pdf等格式的文档。
为什么要使用markdown?
相信,在你看完我前面对markdown
的介绍后,可能已经有一个初映象了。但是你可能会疑惑,markdown看起来确实蛮方便,但是如果是编辑文本,写文档,我不是有word,wps,甚至是记事本,我整个txt文件就行了,为什么还要用markdown?但是,在你一通编辑后,如果你和我一样是个分享狂的话,在你打算将你编写的内容输出为博客到一些开源社区像CSDN、掘金、博客园、GitHub等网站,你会发现即使你在Word,WPS已经排版好了,一旦传输到上面的那些网站上,你会发现格式,排版全不乱了。为什么会这样,如果你细心看本文且记忆力不错的情况下一定知道我前面提到的现在的网站基本上都是采用html来编写。而html的排版,逻辑其实和纯文本或者word的doc文档的格式差异还是比较大的,这样就造成一个问题——排版逻辑差异过大导致格式错乱!
除此之外,对于很多程序员而言,使用键盘的频率要远高于使用鼠标,如果经常使用鼠标,其实会降低内容的输出效率,他们其实非常需要一套较少使用鼠标的排版方式。
而这世界很简单,有需求就会有人去满足需求,于是乎,就有人发明了Markdown,一方面markdown本身作为标记语言,在逻辑上也比较接近html,且由于各种markdown的优秀特性,很多网站都具备了markdown 文档的接口;另一方面markdown本身的代码量极低,接近记事本的纯文本,却可以实现多种格式和排版,且几乎不需要使用到鼠标,因此深受程序员等群体的喜欢。
简单的Markdown 语法
这里就简单介绍一下markdown的一些我个人认为常用的一些语法。
标题
我们在用word的时候,也少不了需要设置标题,以及格式,而且每次都比较麻烦,markdown就很轻松从标题等级从高到低,我们只需要用加多少个# 在行的开始就可以了。
文本格式
- 斜体,我们只需在两个**中间加入文字,就可以实现斜体了。
- 加粗,这时候需要
** **
中间加入。
链接,图像
这些不是重点,基本上也比较简单的,可以参考一些已有的文档学习一下。
数学公式
本节重中之重,我知道,该篇文档的阅读对象又不少是对数学感兴趣的同学。我不知道你们在word或者wps有没有写过公式,如果写过你一定会觉得比较麻烦,而且能写的比较有限。那么现在,可能就需要扯到另外一个知识了,那就是Latex
,关于这个,我不想过多描述,如果后面有机会,会出一期关于latex的使用的文档。之所以说这个,是因为markdown的数学公式语法其实就是Latex 语法,虽然有些说法说其实并不是,但在我的个人感觉中,二者的语法是几乎一模一样的,当然,markdown中其实也就只支持latex的一小部分,但我个人感觉也相当够用了。
markdown的数学公式有两种:
- 多行公式,也称为公式块,我们用
$$ $$
,在中间填入latex语法实现公式的输出。 - 行内公式, 如果我们想要在文本段落中显示公式,且公式单行,那我们可以用
$ $
,在中间填写latex语法表达式输出数学公式。
下面的就是一个多行公式,用markdown编写出来的。
2
x
=
f
(
x
)
2^x = f(x)
2x=f(x)
代码
这节主要是给入门计算机的同学准备的,如果你需要在文档中加入代码,不妨看下这个。
和公式类似,也有两种:
- 行内代码, ``我们用英文中两点上点号,中间就可以输入短代码(变量、函数名等)。
- 多行代码其实也很简单:我们用两个 ```来分隔代码,中间放代码,两端分别表示代码的开头和结尾,开头后面还可以写你的代码语言名称,markdown会根据这个来对你的代码显示做调整(有颜色)。
#include<stdio.h>
int main()
{
printf("hello, 小可爱们\n");
return 0;
}
上面的就是一个简单的例子。
编辑环境
可能有些同学配过python或者C,C++的环境,你们可能会觉得很麻烦,但是markdown不会,这东西本身很多环境都支持。
Web端,也就是网页端,有很多都支持markdown编辑,像CSDN,掘金等,所以网页的Markdown编写就不多讲了,我主要介绍两种在客户端,本地实现Markdown的编写的软件:Typora和 Vscode。
Typora
很好用,而且如果你不熟悉markdown语法,其实你使用该软件的来上手其实会比纯写markdown会更快,因为它集成了很多快捷键,使用起来还是很丝滑的。
美中不足:
- 新版本收费了,如果支持正版,可能要有所破费了。
- 在文档篇幅过大的情况下,其实卡顿会比较明显。
Vscode
你没看错,也没听错,Vscode可以用来写markdown!
我愿意称Vscode为宇宙第一文本编辑器!它几乎可以用来写一切文档,程序!
当然,熟悉Vscode的小伙伴肯定知道,Vscode需要一些插件来支撑我们的程序环境,Markdown也是如此,我们需要下面这几个小插件:
- Markdown All in One:其实Markdown的编辑语法的支持插件。
- Markdown Preview Enhanced:就是将Markdown语法的内容渲染到成为可视化文本界面,就是我们常看到的文本界面。
- Markdown PDF:我个人有时候需要把md文档输出为pdf格式,所以这是一个不错的插件。
如下图所示:
对比Typora:
- 开源免费,且比typora更快。
- 使用纯Markdown语法,所以上手需要多一点时间。
后话
可能不是很详细,也可能有些错误,希望多多指教!