Markdowm为简单而生,作为比特世界的“笔”,诞生十多年却至今没有中文译名。
它的拥趸为它唱赞歌,更多人却胆怯于它陌生的使用方式,或不屑于它复杂的标记字符,始终没有领略这一工具的优雅。
其实,十分钟了解Markdown基本标记符(语法)后,任何人就都可以灵活运用了。
Mardown的本质
往常使用富文本编辑器(例如word),我们是不断在“输入文字”和“编辑文字”两个状态切换。而使用Markdown,就像它的名字一样,在你写的文字上做好Mark(标记),到时候直接就能转换成你标记好的文字格式。也就是文字排版一气呵成。
例如平时要使这段文字:
title1
abcdefghijkl
mno
标题用三级标题,abc加粗,def用删除线,ghi斜体加粗,mno是引用。
那么你需要不断地选择文字→调整格式→选择文字→调整格式。
而如果用markdown,只需要这样:
###title1
**abc**~~def~~***ghi***jkl
>mno
效果如下:
title1
abcdefghijkl
mno
Markdowm的优势
- 最大的优势在于——效率。用了Markdown,文字创作和排版合二为一,我们不再需要写两段文字,就要像在word等富文本编辑器里一样,还要反复去调整标题、加粗、斜体、分割、引用等等,绘制表格也不用去调用表格工具。所有的排版都在编辑文字时顺便完成,后期只需微调即可。
花更多的时间在文字内容上,而不是为排版所累。
全平台通用。Markdown作为一种标记语言,只要在支持Markdown的地方显示出来的效果就会是一样的。如今众多大型论坛、社区都已经支持Markdown,用Markdown编辑出的文章,在不同平台发送,不用每次都要调整排版和格式。
拓展性强。众多开发者十多年来的耕耘,使Markdown有了许多拓展功能,能让它转化为更多格式,如LaTex、Docbook等。
Markdown基础语法
标题
行首插入1-6个 # ,每增加一个 # 表示更深入层次的内容,对应到标题的深度由 1-6 阶。
示例:
#H1
##H2
###H3
####H4
#####H5
######H6
效果如下:
H1
H2
H3
H4
H5
H6
字体
-
加粗
要加粗的文字左右分别用两个*号包起来 -
斜体
要倾斜的文字左右分别用一个*号包起来 -
斜体加粗
要倾斜和加粗的文字左右分别用三个*号包起来 -
删除线
要加删除线的文字左右分别用两个~~号包起来
示例:
**加粗**
*斜体*
***斜体加粗***
~~删除线~~
效果如下:
加粗
斜体
斜体加粗
删除线
引用
在引用的文字前加>即可。引用也可以嵌套,如加两个>>三个>>>
示例:
>引用1
>>>引用嵌套3
>>>>>>引用嵌套6
效果如下:
引用1
引用嵌套3
引用嵌套6
分割线
三个或三个以上的 - 或者 * 都可以
示例:
---
***
效果如下:
列表
无序列表:用 - + * 任何一种都可以
有序列表:数字加 .
列表嵌套:上一级和下一级之间加三个空格
符号与文字之间要有一个空格
示例:
- 无序列表1
* 二级无序列表
* 无序列表2
+ 无序列表3
1. 有序列表1
1. 二级有序列表
2. 有序列表2
3. 有序列表3
效果如下:
- 无序列表1
- 二级无序列表
- 无序列表2
- 无序列表3
- 有序列表1
- 二级有序列表
- 有序列表2
- 有序列表3
表格
示例:
表头|条目一|条目二
:-:|:-:|:-:
项目|项目一|项目二
注:三个短斜杠左右的冒号用于控制对齐方式,只放置左边冒号表示文字居左,只放置右边冒号表示文字居右,如果两边都放置冒号表示文字居中。
效果如下:
表头 | 条目一 | 条目二 |
---|---|---|
项目 | 项目一 | 项目二 |
代码
Markdown在IT圈子里面比较流行的一个重要原因是,它能够轻松漂亮地插入代码。
单行代码:代码之间分别用一个反引号 ` 包起来
代码块:代码之间分别用三个反引号包起来,且两边的反引号单独占一行
示例:
`print('helloworld)`
(```)
for i in range(scale+1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale)*100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1)
(```)
注:为了防止转译,上面加了小括号,实际是没有的。这里只是用来演示,实际中去掉小括号即可。
效果如下:
print('helloworld)
for i in range(scale+1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale)*100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1)
注:很多人不知道怎么输入反引号。在英文模式下,找到键盘最左侧esc键下面的第一个键点击即可。
超链接与图片
**超链接**:[链接名称](链接地址 "超链接title")
**图片**:![图片alt](链接地址 "图片title")
图片alt是图片底部的描述,title是鼠标放在上面时显示的文字(可加可不加)
两者语法区别在于图片描述前面还有个 !
特殊符号处理
Markdown使用反斜杠\插入语法中用到的特殊符号。
什么是特殊符号?就是在Markdown中语法体系里用来标记的符号,你要输出它真实符号,就得在符号前加上转义符反斜杠 \ ,否则Markdown会把这种特殊符号当作语法处理。
注:在内容中输入以上特殊符号的时候一定要注意转义,否则将导致内容显示不全,甚至排版混乱。
给文字上色
使用Markdown的同学最郁闷的地方恐怕就是不能给文字添加颜色了。事实上,Markdown的最初目标就是为纯写作而生的。因此,它并没有考虑文字颜色这一点。所以,单纯使用Markdown设置文字颜色已经做不到了。但你可以这样做:
- 先用Markdown编辑完成
- 导出为html,在需要上色的部分手动添加标签<font color='#ff0000'></font>保存即可。
到这里,基本语法已经讲完了,就这么点内容,用两次就会觉得很容易上手了~
实际运用示例
本人其实今天中午才开始接触Markdown,稍微研究了一下,参考了网络上许多资料,就决定写一篇入门教程。毕竟我也是新手,刚刚入门写的教程或许更适合像三小时前的我一样刚开始接触Markdown的人看。
这篇文章也是我用Markdown写的第一篇文章。
我就用这篇文章作为示例提供实际运用的一个方向。
-
先随便在某个文本编辑器里运用Markdown语法写下这篇文章。我这里使用了Visual Studio Code,可以实时预览效果。如果你足够熟练甚至可以直接在txt文本文档里写,也可以在一些支持Markdown的其他应用、网站编写。
- 将写好的带代码的文章复制到你要发表的平台,比如我发微信推送。有些平台直接支持Markdown,比如简书、CSDN等,就能直接转变为完整格式的文章。而微信不支持,那怎么办?这里就要提到一个浏览器插件:Makdown Here。怎样装插件不多说了,这个插件的作用就是能把当前网页带Markdown语法的文字转化为正常文字。
-
点击插件按钮,这篇文章就完成了~
- 你要是再想把文章发到其他平台,也很简单,复制过去,然后Markdown Here!就ok啦。
(话说简书的编辑器真的好用)