# Markdown全攻略

Markdown 全攻略


我们很多人听过 Markdown 的大名,然而不是很了解具体应该怎么去运用 Markdown 来美化我们的文档排版界面,如果是对于计算机、编程、电子信息等与计算机技术相关的专业人士那还好说,学习与语法相关的大学会非常迅速,因为之前就已经经过了许多语法的学习、写入、应用等一些列过程,积累了相当丰富的经验。对于非计算机相关专业的学习者,尤其是对于初学者,从学习到应用的过程大多有点漫长而枯燥,因此在这样的背景下,这篇文章便以面向初学者为目的来展开对于 Markdown 语法的简单介绍,以及根据学习的规律,慢慢得由浅入深潜移默化地带领读者去认识 Markdown 语法中的一些标识命令并展示相应的标识命令所带来的文档编辑效果。


初步认识 Markdown

以目的为导向来展开对 Markdown 的学习。

学习 Markdown,那么首先我们得认识 Markdown,这一步回答的问题是“什么是 Markdown”,即类似于对 Markdown 的严格定义。以目的为导向,我们的最终目的是要学会怎么使用 Markdown,那么带着这个目标来看待“Markdown 的攻略”问题,我们则将关于 Markdown 的攻略这类多方向问题转变成了一个单方向问题,我们抓住问题主要矛盾,那么我们思考解决问题之道初将少去很多干扰。

对于 Markdown ,我们也经常听说它简单、高效等等类似的描述,降低使用鼠标的频率,但同时这种“简单高效”对于初学者来说,也并非如那些编辑大神说的那么“轻巧”,至少初学者的感觉是这样的。因为 Markdown 的使用习惯与我们平时在电脑上的使用习惯不一样,正因如此,对于新手也必然存在一段“磨合期”,这篇 Markdown 攻略干货的分享正是在这种背景下诞生的,同时为了给读者带来更好的学习体验,我们这里不去直接讨论 Markdown 具体有哪些很实用的功能,也不去直接展示如何应用那些 Markdown 高级技巧去编辑排版我们的目标文档,而是通过一系列我们认识 Markdown 的过程中会碰到的问题,从最初接触到 Markdown,到慢慢习惯 Markdown 的功能,最后再到爱上 Markdown 的这一个主线过程来逐渐尝试与解锁 Markdown 的功能,即“边用边学”。毕竟学习一个具体事物都是从先认识这个事物慢慢开始的,然后慢慢掌握其基本功能、实用的”进阶“功能以及相关的高级技巧。我们这里在初步认识 Markdown 同时来先来思考这样的几个简单问题:

  • 1 Markdown 用于哪些地方?
  • Markdown 格式适用于 Github / CSDN / 微信公众号 / 知乎 / 简书 等写作编辑的创作环境,
  • 2 Markdown 有哪些用途?
  • 如果熟悉 Markdown 的基本语法,并运用这些基本语法,可以大大提升写作效率,并且可以快速美化我们的排版,适合于经常码字的博客(blogger)。
  • 3 为什么选用 Markdown?
  • 以知乎为例子,知乎创作的编辑界面,尽管拥有自己的编辑器,但是其自身的排版非常不灵活,直接在知乎编辑截屏进行手动排版的话,会大大降低创作的效率,而且这一部分是很花时间的,写过毕业论文或者发表过学术论文的人对这一部分会深有体会,很多时候,可能按要求对论文的编辑与排版所耗费的时间与完成论文主体部分的时间相差无几。这个特点对于知乎创作,甚至是其他创作类型,都是极其不利的。

通过这些类似的问题,我们便可能基本总结出 Markdown 的基本用途,即通过 Markdown 的语法对创作中的内容进行实时编辑与排版,并且还能实时美化我们创作内容,加快创作的效率等这些类似的功用。

我们这份攻略的整个解说流程也是如此,由浅到深慢慢深入对 Markdown 的应用。而对于初学者或者基础薄弱的学习者,最开始接触 Markdown 的时候,大多数也并不是直接关注 Markdown 有哪些厉害的“头衔”,而更多的是关注于“怎么使用就好了”这个问题,所以对于学习某个具体事物的初学者,在学习之初,也并不愿意去听别人怎么评价某个事物,而是会更多的关于他们想要关注的方面,也可能会想“你就告诉我怎么用就好了”。这篇攻略的初衷也是如此,面对初学者的这种心理与学习规律,我们慢慢展开对 Markdown 的学习,同时也在这里跟 Markdown 初学者作这样的约定:这一系列的攻略文章,对于 Markdown 语法的运用跟我们的学习过程绝大部分情况是同步的,即我们基本不会在介绍某个 Markdown 语法之前就去运用它的某些语法功能,只是到目前为止,这份攻略有三处地方违背了这一约定,在最前面的“Markdown 全攻略”这几个字运用了 Markdown 语法中的(一级)标题效果及“初步认识 Markdown”这几个字运用了(二级)标题效果;紧跟其后在其下方应用了分割线的效果;前面那3个简单问题的地方,运用了。。。的效果,这几处我们这里还无法避免,同时“换行”操作不算超纲操作,后面会解释换行与断行的排版区别,而且换行操作非常简单,直接在文本内容后面键入"“回车键”"(Enter/Return),这种操作对于学习电脑的人来说,初次接触电脑时基本就已经掌握了这种操作。但是在写这篇攻略之初,基于学习的科学规律,笔者会尽可能去避免运用还未加以解释如何去运用的 Markdown 语法的编辑操作及其在文档中所呈现的排版效果,同时这么做的好处是可以 Markdown 初学者在学习的过程中既能慢慢掌握 Markdown 语法,又能慢慢地实时感受到这些 Markdown 语法所带来的编辑与排版效果。


Markdown 的语法规则

Markdown 语法是由一套简单的、轻量级的标记语言组成。用户可以使用诸如“ *和 # ”等简单的标记符号以最小的输入代价生成极富表现力的文档。标记语言是指一种将文本内容以及与文本内容相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。例如我们平时用Word,想要加粗就需要点击相应的按钮,但是标记语言则是在文字前/后加上特定的符号即可办到。

Markdown 的基本语法则比较简单了,毕竟 Markdown 被开发的终极目的之一就是为了快速写作,解决创作排版问题。对于文本编辑与排版,Markdown 的常用命令就那几种,经常写一写,慢慢地就习惯了,慢慢地就会爱上 Markdown。基于这篇攻略的主旨是以目的为导向读者去逐步了解 Markdown 应用,也即类似于学习过程中的“边用边学”,那么在介绍 Markdown 功能方面,我们就边用边介绍,不会在文本的编辑与排版之初讲基本命令(功能)时去应用后面一些还未介绍到的一些 Markdown 的命令(功能),甚至更不会直接讲关于排版的一些高级命令技巧(功能),比方渲染效果等,而是最大限度遵循读者认识事物的规律,由易到难、由潜入深慢慢地带读者去解锁 Markdown 的功能,同时也希望这种方式能够带给读者更好的学习体验。

Markdown 编辑器

提到 Markdown 基本语法的使用,必然会存在 Markdown 语法的使用场所,即编辑环境,这是回答 Markdown 在哪里用的问题。基于 Markdown 语法的编辑器很多,功能也不完全一致,有的 Markdown 编辑器是方便用户进行基本的写作,有的是方便用户写代码,有的甚至只是博客平台配套的编辑器。 Markdown 编辑器的工作环境既可以是在应用程序中,也可以直接是在网页中进行在线编辑,在网页中打开的 Markdown 编辑器可以称为 Markdown 在线编辑器,比如 Cmd Markdown 在线编辑器、Mahua Markdown 在线编辑器等(在线编辑器有很多,可以在浏览器搜索框直接搜索 Markdown 在线编辑器),常见的 Markdown 编辑器有:

  • Markdown 在线编辑器

    1. dillinger 界面美观而功能强大,支持 .md、.html及. pdf 文件导出。支持dropbox、 onedrive、google drive和github.出自国外码农之手,跨洋互联,运行可能不够快速稳定。
    2. 坚果云 Markdown 在线编辑器的特点是会将 Markdown 语法的一些基本、常用的语法说明及编辑效果显示在预览区右侧,这一点对于初期学习应用 Markdown 编辑器的初学者来说就显得非常友好了,使用这一款编辑器在初期不用事先去记忆 Markdown 语法中那种类繁多的语法说明,而是直接上手使用。且作为一款 Markdown 在线的编辑器,不需要下载安装就能在浏览器上使用,同时又会自动保存你的 Markdown 文件到云端,防止最后“竹篮打水一场空”。如若辛苦在在线编辑器的写入区通过 Markdown 语法内容已经进行了排版,而在线编辑器有的为了保持轻量型的特点,并没有文件保存的方案,一旦某些原因网页被刷新了一下,那么我们的辛苦就全部没有了,编辑与排版就有需要从头开始了。
    3. Mahua Markdown 在线编辑器。
    4. Cmd Markdown 在线编辑器由作业部落出品,也是一款不错的阅读工具和博客平台兼顾的产品。全平台都有可用产品并且还提供 web 在线版本。
    5. 简书 一个很不错的博客平台,每几秒钟便会自动存入一个备份。可以直接从本地拖入照片生成链接,一直在不断优化。作为一个博客平台,需要注册账号后方能进行写作。
    6. 小书匠编辑器 全平台覆盖并且有web版
  • 浏览器插件

    1. Chrome 浏览器:Markdown hereMarxico
    2. Firefox 浏览器:
  • Windows 平台

    1. Sublime Text 2 UI 设计简约大方,功能的定位比较专业。付费平台,新用户可以免费试用,但是专业版的价格有点贵70美元
    2. MarkdownPad 一款全功能的编辑器,被很多人称赞为 Windows 平台最好用的markdown编辑器
    3. Smark 开源软件
    4. MdCharm 功能在一系列编辑器中比较完备;编辑的界面一般,隐藏菜单栏后也算简约。有Windows 和Linux版本。目前已开源,不再更新。
    5. Miu 一款模仿 OS X 平台上面 Mou 的、工作在 Windows 平台 Markdown 编辑器,界面美观,功能不够成熟。目前官网无法打开,可以在小众软件通过百度云下载可以点击这个链接跳转到 Miu 的下载界面
  • OS X 平台

    1. Mou
    2. Typora 目前也有 Windows 和 Linux 版本。
    3. MacDown 开源免费
    4. Byword 支持OS X, iOS 售价78元
    5. iA Writer 支持OS X , iOS 及Android,未优化中文显示
    6. Ulysses
    7. Typed

(个人观点)常用的 Markdown 编辑器是 MarkdownPad2 Pro、Typora和Atom这三款 Markdown 编辑器

至少现在我推荐 Typora 编辑器,基于其丰富的文件导入/导出功能,Atom 编辑器也不错,但是导入/导出需要安装插件,不过也正得益于插件, Atom 编辑器的功能强大而齐全,大家也可以试试。同时一方面在这里需要特别强调的是“每个人的看法可能不一样”(本来这里是准备用字体加粗的效果,会是排版显得更加美观,后来想着粗体的效果现在还没有介绍,故没有运用粗体效果),每个人的使用习惯也不一样,自然而然这使用感觉就不一样了,所以不用拘泥于我们推荐什么 Markdown 编辑器,多尝试一些 Markdown 编辑器的编辑环境,找打那个让你使用得最得心应手、心情舒畅得 Markdown 编辑器就好了。并且前面也提到过,基于 Markdown 语法的编辑器种类繁多,而且功能也不完全一致,都有一定的”面向群体“,因为基于不同平台、工程师的设计理念、、面向的群体、软件定位等诸多元素的差异,比如在功能上能否具有导出多种格式,导出效果如何,是否支持导入,界面是否优雅,是否允许插件的扩展功能,总体上功能是否够多等等,这里无法进行很细致的说明,每位读者可以选择有兴趣的几款进行试用。

而转而从侧面来看,Markdown 语法则正是在这种类繁多的编辑器中去满足不同用户体验而使得其功能逐渐完善。

基于 Markdown 语法的操作

基于 Markdown 语法的操作,我们分为3个区分度来具体介绍,分别为基础操作、进阶操作和高级技巧。

1. 基于 Markdown 语法的基础操作
粗体

文字的粗体功能(效果)的实现是在需要排版成粗体效果的一段文字内容首尾两端都加上符号(**),因 Markdown 语法是一种标记语言则可以将在 Markdown 语法中实现特定编辑功能的符号称为标记符号,那么在一组粗体标记符号之间的文本内容则会呈现文字加粗的效果,也即粗体,那么一组完整的粗体符号包括4个星号标点符号。例如,现在学习了 Markdown 语法中粗体命令,那么我们就先来尝试对前面的“1. 基于 Markdown 语法的基础操作”这部分内容加粗:

1. 基于 Markdown 语法的基础操作重新编辑排版的效果

至于前面的序号问题,我们得学习后面关于 Markdown 语法中关于清单 / 列表的知识以后再能了解。

屏蔽

Markdown 语法是一种标记语法,但是假如我们标记时,碰到那种需要在内容两端添加符号达到某种特定的编辑或者排版渲染效果,而某个时候在同一句文本内容之中,我们需要运用这种标记符号对内容中的两处或两处以上的内容进行编辑处理,此时基于 Markdown 语法的编辑器平台,应该去识别哪个部分内容才合适呢?因为相邻的两处标记也位于标记符号的中间,那么此时 Markdown 编辑器应该如何识别标记来做出回应呢?例如对于“前面才讲到的加粗效果”这一小短语,我如
果同时对“前面”与“加粗”两个部分都进行标记,都要达到加粗的效果,Markdown 编辑器应该如何识别这种标记呢,我们又该如何进行输入呢?此时则需要运用到屏蔽功能。

同时要实现这种标记两处的效果,还可以通过其他方式来实现——标点符号。

段落与断行

到目前为止,这篇攻略分享的编辑与排版工作中还未区分段落与断行的区别,这一点也是基于前面提到的以目的为导向来逐步深入,使读者朋友慢慢去了解如何应用基于 Markdown 语法的 Markdown 编辑器。段落是指根据文章或事情的内容、阶段划分的相对独立的部分。而在 Markdown 语法的源代码中,段落的间隔是用两条及多条空白线来分隔开的,而在不同的 Markdown 编辑器中,实现段落与段落之间的分隔,也可能有不同的解决办法。例如在 Typora 编辑器中,实现相邻段落的分开,就只需要按一下回车键(Enter/Return)就能够实现,而这相当于只是一条空白线,此时这一条空白线的效果则是换行。而断行,则与换行有差异,在 Markdown 语法中是通过组合键“Shift + 回车”来实现。比如参照目前的这一段关于段落与断行的介绍,段落与断行这四个字与下面的“到目前为止…”之间则是换行,在 Markdown 编辑器中识别的是两个不同的段落,而如果我们应用“断行”对这两部分进行重新编辑的话,那么则应该在输入段落与断行后,直接在加粗标记符号(**)后面通过组合键“Shift + 回车”来实现断行效果,其编辑效果如下:

段落与断行
到目前为止,这篇攻略分享的编辑与排版工作中还未区分段落与断行的区别…”

但是大多数其他的 Markdown 解析器都会忽略单行分隔符,因此为了让其他 Markdown 解析器能够识别我们的行分隔符,即能够识别我们的分行标识,我们可以在行的末尾留下 2 个空格再键入组合键“Shift + 回车”,这样的话在行的末尾将出现一个向下的箭头" ↓ \downarrow ​",或者插入<br/>

斜体

由于前面我们已经完整介绍了段落(换行)与断行的区别,那么从这里开始,往后的编辑与排版内容这篇攻略文章也会正是注意段落(换行)与断行的区别。同时,由于斜体与关于斜体的介绍内容并不是两个相对独立的部分,所以在编辑排版的处理上,我们应用前面介绍到的断行效果(通过组合键“Shift + 回车”来实现)。
斜体的实现与粗体的实现非常相似,是通过在目标内容(要排版成斜体的内容)首尾都添加标记符号(*)来实现。例如:
对一段文字中的

【小试身手】那么粗体+斜体的“和效果”又要怎么去实现呢?
【回答】:只需在要被编辑的目标内容首尾两端都加上标记符号(***)即可实现这种排版效果。

高亮

文字高亮效果实现是通过在内容首尾两端都加上反引号(`)来实现。需要将输入法切换到英文输入法后,通过按下电脑键盘中 Tab 键上面的那个按键,而两个反引号之间的内容则会在 Markdown 编辑器的排版预览中呈现文字高亮的效果。例如:

【小试身手】那么在上面一个段落中,文字高亮与文字加粗的**和效果怎么编辑呢?是在一组高亮标记符号内键入粗体的标记符号还是在一组粗体的标记符号内键入一组高亮的标记符号呢?
【回答】:是在一组
粗体符号内键入高亮符号,才能够实现文字高亮与文字加粗和效果,反之是行不通的,如果是在一组高亮符号内键入粗体符号,则高亮的效果会将粗体**符号中的星号这种标点符号当作文本内容也以高亮效果展示,例如会出现这样的效果**和效果**

标题

接着介绍起初我们就已经简单提到过的关于标题的排版效果。标题的排版效果的实现是在标题的内容前直接键入标记符号(#)号,同时井号(#)统领的标题应当出现一行内容的最前面,而符号井号(#)是位于标题文字内容的最开端。
Markdown 语法中分别有16级标题,分别是在标题的文字内容前加入16个连续井号(#~######)。例如:
一级标题的写法为:# 这是一级标题
六级标题的写法为:###### 这是六级标题

【注意】值得注意的是,在使用标题效果时,标记符号(#)与标题的文本内容之间有一个空格,否则将无法实现标题的编辑效果。

分割线

分割线效果效果的实现是在新的一行最前端键入标记符号(***)然后直接按回车键(Enter/Return)即可实现。或者我们提前准备两个空白行,在其中一个空白行键入分割线效果的标记符号,然后鼠标的光标换到其他行时,就会在这个空白行自动生成分割线的编辑效果。

【小试身手】思考并在 Markdown 编辑器中将光标 |(写入光标)移到最一个空白行,且在这一空白行键入分割线效果的标记符号(***),会自动生成分割线吗?
【回答】:在 Markdown 编辑器里面,在最后一个空白行键入分割线的标记符号,生成分割线的同时,会自动在其下一行生成一个空白行。

同时实现分割线的的编辑效果,除了在行首顶格键入***并按空格键的组合之外,还可以在行首顶格键入---并按空格键的组合来自动生成分割线。

缩进

缩进这一项则是可用直接通过 Markdown 编辑器中的设置来改变默认的初始值。

列表 / 清单

列表 / 清单 在 Markdown 语法中将其分为无序号列表 / 清单和有序号列表 / 清单,列表 / 清单效果的实现便分为这两种形式。无序号列表 / 清单的实现是通过写入* 清单名称 1,同时符号*也可以换成加减符号+-。例如在 Markdown 编辑器中通过命令* 清单名称 1来生成一个无序号列表 / 清单:

  • 清单名称 1
  • 清单名称 2
  • 清单名称 3

实际上,对于初学者来说,第一次听说这些关于无序号列表 / 清单的命令时,虽然翻看上面这些解释偶尔可能会觉得在理解上略显吃力,但是这些标识语法在实际操作时则非常简单。在 Markdown 编辑器中若想要写出这种无序号列表 / 清单的效果,只需要在一个空白行(不论是通过换行命令Enter/Return还是通过断行命令Shift+Enter来生成的空白行,都行)的最前端键入符号*,然后接下来直接按下空格键即可,无序号列表 / 清单就自动生成了,至于上面提到的、所谓的清单名称 1清单名称 2等,纯粹就是我们想要在这里写入的内容罢了,根据需要写什么都行。但是值得注意的是无序号列表 / 清单的命令符号可以看成是*+空格键,因此想要编辑成无序号列表 / 清单的排版效果,一定要注意符号*后面一定得有空格键的键入。学到这里,有没有感觉到 Markdown 语法的简洁之美?同时,如若是想要排版成有序号列表 / 清单的效果,在 Markdown 语法中的命令也是非常简单。参照无序号列表 / 清单的命令,生成有序号列表 / 清单的命令只需要用阿拉伯数字(1、2、3...)+.并键入空格键即可,而阿拉伯数字(1、2、3…)即是清单名称的序号,故称其为有序号样式的列表 / 清单。例如:

  1. 清单名称 1
  2. 清单名称 2
  3. 清单名称 3

同时值得注意的是,到目前我们学习的这些 Markdown 语法操作及其效果还无法生成罗马数字的有序号列表 / 清单,以及如果需要尝试列表嵌套的效果,则还需要进步学习 Markdown 语法。尽管如果在这里直接举例子说明列表嵌套效果在 Markdown 语法中的命令,也比较简单,但是还是一个一个效果功能地来学习,对于初学者来说则会更加轻松,在实际操作上也将更加便于操作。


学完列表/清单的 Markdown 语法指令及编辑效果后,相当于是已经基本学完了 Markdown 语法基本操作中的前半部份作为 Markdown 语法操作中的必备知识,有的学习者已经可以找些在线编辑器去尝试执行这些命令,熟悉熟悉 Markdown 语法的一些操作以及在编辑器的实时预览区观察这些操作所带来的编辑效果,熟练上面这些基础操作以后,再接着深入学习后面的一部分 Markdown 语法基础操作内容


块引用

块引用的英语表示为Blockquotes,有的时候是将Blockquotes翻译为区块、引用块、引用文字及文字引用,但它们其实都是指Blockquotes,我们只需要在 Markdown 语法中了解块引用的命令及效果就好了。在 Markdown 语法规则中块引用的作用是:**在这个引用标签内部的元素显示的时候都会向后缩进一个单位长度(通常是4个空格的长度,有时候源代码的定义不同的话也会出现别的可能),并且在其内部的元素的周围增加外边距。**在 Markdown 语法规则中块引用表现出来的效果是向右缩进4个英文字符的位置并在其周围增加外边距,其命令是键入标记符号>+空格键,效果如下:

这一部分是块引用的内部元素
可以正常断行

也可以正常换行,而且会在块引用内部元素的周围增加外边距。

任务清单(计划表)

任务清单的英语表达方式为Task list,有的时候会将Task list翻译成任务(列)表、任务计划表。任务清单(任务计划表)的编辑效果是通过键入-+空格键+[ ]的组合形式来实现。经过前面对列表 / 清单效果样式的学习,我们肯定能够发现,*或者+或者-

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值