大家好?我叫Peter,今天给大家带来的一篇文章是关于Markdown的。当我正在写这篇文章的时候,我其实也是在使用Markdown,所以这是一种很奇妙的感受:用Markdown写关于Markdown的文章?。
接下来,我将从以下6个方面对Markdown做一个详细的介绍,不仅帮大家快速了解Markdown,同时也能够帮助大家快速上手Markdown,不仅仅是入门而已。
我和Markdown的故事2018年硕士毕业后,步入社会参加了工作。因为第一份工作的原因,机缘巧合地进入了互联网这个大环境,也进入了数据这个大行业,我开始自学Python、Linux、pandas、numpy,数据分析及可视化、数据挖掘算法,以及机器学习的入门知识。
经过两年多的不断学习和工作,我成长收获了很多,也爱上了数据这个充满前景的行业。在学习的过程中,我一直在寻找适合自己的方法和工具来记录学习的过程和成果。
一开始我在有道笔记、印象笔记等工具上进行记录,后来我转到了知乎、CSDN、掘金等平台上。当初写作的时候,我使用的都是纯文本类似Word编辑的格式进行文档撰写。
但是那样真的是太丑,太low?了。完全没有任何的特色,还不如在office中直接进行编辑。因为这些平台和工具,单纯的写作是拼不过Word这个利器的。毕竟Word就是专门为写作而生。
后来到了2019年的2月份,我在网上知道了Markdown这个语言,慢慢地去了解它,经常去使用,从此我便爱上了Markdown。
从接触Markdown到现在1年半多的时间,我几乎每天都在使用Markdown,可以说对它掌握到了炉火纯青的地步(吹?牛?),毕竟熟能生巧。到现在,如果不是工作上面的特殊需求,我都是Markdown的写作,技术文档、博客、做笔记等都是用Markdown,越用越熟,越用越爱❤️
这便是我与Markdown的故事
什么是MarkdownMarkdown是一种纯文本、轻量级的文本标记语言
它不是一款软件!它不是一款软件!它不是一款软件!
通过Markdown的简单标记语法,我们能够以纯文本的形式编写文档,而且几乎所有的文本编辑器都能够对其进行再次编辑。
Markdown的优势和其他我们常见的文本编辑器,比如office中的word、记事本、notepad++,还有一些开发者IDE的编辑工具相比,markdown有着自己强大的优势:
标记语言
Markdown是单纯地依靠特定的符号来标记的语言,比如-、+、*、=
通过这些标记的符号我们就能够实现特定的功能,它们能够让我们专注于写作,不用花费太多的时间和精力在排版上。
轻量级
Markdown的轻量级体现在两个方面:
一是它的语法非常容易被记住,结构易上手,一个使用者能够很快地上手Markdown;
二是通过Markdown写作的文档占据的内存大小非常低,大家看下这篇文章通过 md、PDF、Word、HTML 这4种格式保存的效果来进行对比就知道Markdown到底有多么轻:
还有自己曾经写过的另一篇文章,对比Markdown和其他格式文件的大小:
非一般的轻!!!
书写流畅
在利用Markdown进行编写的过程中,我们只需要将视线固定在光标处,在输入的时候使用不同的字符,也就是两种字符:文本字符和标记字符,我们就能同时完成文本和格式编辑。
这就是Markdown的神奇之处
这就是**Markdown**的神奇之处 # 上面的书写方式
通过上面的例子,我们可以同时完成Markdown的输入和格式编排?
格式固定
同一篇Word的文章,在2003、2007或者WPS中很有可能打开的时候看到的效果是不一样的,甚至可能出现乱码。相信很多人碰到过这种情形。但是md的文章不一样:
只要能够打开Markdown文章的编辑器,看到效果都是相同的。
导出方便
Markdown的格式导出是非常方便的,除了常见的PDF、HTML等格式,还能够直接复制到微信公众号、知乎、掘金等平台上,例如笔者的Typora(笔者认为最厉害的书写Markdown的工具)中导出的格式如此多样化:
Markdown的使用场景上面介绍了Markdown的诸多优势,那到底什么时候我们该使用它?
网络环境下的写作
首先我们要明白:Markdown是基于HTML开发出来的,它的目的就是创造一个更容易读写的语言,从而用于网络上面的写作。写作即排版
所以,没有什么语言比Markdown更适合在网络环境写的书写
现在很多的平台都是支持Markdown写作的:
知乎
微信公众号
掘金
简书
CSDN
国外的一些网站,比如:Ghost、Typecho等平台仅仅支持Markdown格式的.md文件
所以,Markdown能够让我们使用专注于写作,而非排版
文档协作
一份写好的Markdown文档是能够在任何系统的任何文本编辑软件中打开的,能够保证在不同的系统之间进行切换,这样的好处是:
项目团队的成员能够自由地选取自己喜欢的Markdown工具在自己的系统上进行写作,而不受团队其他成员的系统和编辑器的限制
Markdown文章的展示不仅仅是在我们Markdown编辑器中,还能够转成HTML网页的内容,可以让读者在浏览器中直接打开观看
特殊领域应用
由于现在Markdown的流行,它已经被嵌入到了很多工具中,比如笔者也是每天在使用的jupyter notebook,一款用于机器学习和数据分析的强大利器。
在jupyter notebook中就能够直接使用Markdown进。这样使得我们在进行数据分析的同时,能够直接将我们的分析结论写在notebook中。
将Markdown编辑器和jupyter notebook地完美结合,极大地方便了笔者的工作,然而这时Word等传统的文本编辑工作无法做到的。
Markdown工具现在有很多的平台和工具都能够进行Markdown的书写,Markdown文档在它们之间也是能够相互编辑的。常见的有:
工具类的有:Typora、Typed、Ulysses、Falcon、MacDown、Mou,笔者使用的就是Typora,目前它是免费的,而且有多种主题可以进行选择
平台类的有:微信公众号、知乎、CSDN、掘金、腾讯云社区等,笔者在每个平台都有尝试过。目前在掘金和腾讯云社区比较多
手机APP:MWeb、马克文档等,这个笔者几乎不使用
强烈建议使用Typora?,这篇文章就是在Typora中完成的。
Markdown语法终于来到了介绍语法的部分,通过下面语法部分的讲解,保证能够掌握95%的Markdown语法。
标题
在Markdown中进行编写的时候,标题也是有等级的,目前最多的是6级,是通过#的个数来实现的:
# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题
实际的效果为:
引用
如果我们想在文中引用一段话,或者我们自己想将某段话当做引用的文字,可以通过下面的方式来实现:在文字的前面加一个>符号,同时要和后面的文字隔开;
> 路漫漫其修远兮,吾将上下而求索
实际效果为:
路漫漫其修远兮,吾将上下而求索
当然也是分等级的,我们通过>的个数来实现多层引用,也就是嵌套引用:
> 本篇文章讲解的是Markdown,分为如下几个方面:>> 1.我和Markdown的故事>> 2.什么是Markdown>> 3.Markdown的优势
本篇文章讲解的是Markdown,分为如下几个方面:
1.我和Markdown的故事
2.什么是Markdown
3.Markdown的优势
分割线
分割线的作用就是将上下的内容分割开来,使用的3个或者3个以上的-、+、*(3个符号中的一个)
比如在上面已经使用了华丽丽的分割线
字体颜色
在实际的写作过程中,我们或许想给字体加上不同的颜色进行标注,这个时候颜色标注就是最好的功能,通过一个例子来说明:
夏天是红色的,秋天是黄色的
实际的源码是:
夏天是$\color{red}{红色}$的,秋天是$\color{yellow}{黄色}$的
实现的方式为:$\color{指定颜色}{文本内容}$
字体高亮
有了字体的颜色设置,我们看看字体的高亮,其功能也是想突出强调某些文本,下面的内容实现了文本的高亮:
夏天是==红色==的,秋天是==黄色==的
具体的实现方式为:用一对==将文字包裹起来即可
夏天是==红色==的,秋天是==黄色==的
字体加粗
有时候我们会向对某些字体加粗处理,下面的字体实现加粗:
我是中国人,我在中国
具体的实现方式为:用一对**将文字包裹起来
我是**中国人**,我爱**中国**
字体斜体
有时候我们想对字体实现斜体,也是想强调某些文本内容:
斜体也是起到了强调的作用
上面的斜体两字就是实现了斜体的效果,具体实现方式为:用一对*将文本包裹
*斜体*也是起到了强调的作用
无序列表
比如笔者正在的这篇文章,分为好几个子版块,我们使用无序列表:
我和Markdown的故事
什么是Markdown
Markdown的优势
实现的具体方式:在文字的前面加上-、+、*(3个中的一个),符号和文本之间必须要有空格(实现加粗)
– 我和Markdown的故事+ 什么是Markdown* Markdown的优势
有序列表
有序列表是通过数字来体现的,还是上面?的例子,我们使用有序列表来看看效果:
我和Markdown的故事
什么是Markdown
Markdown的优势
实现的具体方式为:文字的前面加上数字和点即可,同时要有空格
1. 我和Markdown的故事2. 什么是Markdown3. Markdown的优势
注意:数字后面的点必须和之后的文字有空格
删除线
有时候在书写的过程中,我们想删除某些文字,比如经常听到的广告语:
例子:不要199,只要19
在上面的例子中199就是使用了删除线,具体的实现方式:通过一对~~(两个波浪线)将需要删除的内容包裹起来,源码为:
不要~~199~~,只要99
下划线
下划线也是经常使用的一种字体修饰方式,我们还是通过一个例子来讲解:
例子:李白是一位唐代的诗人
上面例子中的唐代就是使用了下划线,具体实现的方式:通过一队标签将内容包裹起来,实现的源码为:
李白是一位唐代的诗人
段内代码
如果我们的代码只有一行,我们使用段内代码,比如我学习的第一行代码是:print(“hello world”)
具体实现方式:通过一对反引号将代码包裹起来。不是单引号,不是单引号,不是单引号,具体实现的源码是:
print("hello world")
段外代码
段外代码其实就是代码的量比较大,我们需要使用代码块的形式,比如:
def add(x,y): # 定义一个求和函数 return x+y
使用的具体源码为:
图片
如果我们想在Markdown中插入图片,首先我们需要使用一个图床工具,获取到对应的Markdown链接,才能放到Markdown中。
比如:笔者在自己的macOS中使用的是ipic图床工具,将图片上床到ipic之后,获取到了链接:
# 这个就是图片的引用格式:![](链接)![银杏树-图片注释](https://tva1.sinaimg.cn/large/0081Kckwgy1gkceimnuonj30u01401iv.jpg)
银杏树
链接
在Markdown中我们经常会使用链接,即当点击某写文字的时候,会自动跳转到文字指定的链接中,比如:我去年学习了python官网
在这里点击python官网几个字就会自动跳转到python的官网中去,实现的方式为:
[python官网](https://www.python.org/) # 只是比图片少了个感叹号!
表格
在Markdown中也会经常使用表格,比如一个简单的学生成绩表:
地址语文数学英语
小明广东省深圳市南山区
向阳花园25栋999089
小红湖南省长沙市岳麓区洋湖湿地公园909495
小芳福建省漳州市平和县939190
具体实现的源码为:
邮箱
使用一对<>将你的邮箱括起来即可:123456@qq.com,具体源码为:
<123456@qq.com>
脚注
今天讲解了很多关于Markdown^1的内容,希望对大家有所帮助,同时也给大家强力安利一下Typora^2这款Markdown写作神器,你一定会爱上Markdown的
脚注会显示在文章的最后面
使用的中括号[^],让我们看看实现的源码(通过图片的形式看如何实现)
总结本文中讲解了很多关于Markdown的知识,从它的特点、使用场景到常用语法,只有掌握了基本语法,经常使用它们进行文档书写,才能达到熟练生巧的底部,相信你一定会爱上Markdown