一、置顶好文
二、介绍
1、Markdown 的创始人 John Gruber 定义Markdown为
(1)a plain text formatting syntax;
(2)a software tool, that converts the plain text formatting to others.
2、通俗的解释如下
(1)首先Markdown 意味着一套标记语法,这些标记字符就是用来赋予文字不同格式;
(2)其次,能将标记字符转换,最终呈现出我们想要的排版效果的软件,就是所谓的 Markdown 编辑器。
3、移步这里看效果
三、设计之美
1、易读易写
四、优缺点
【优点】
1、格式不随着编辑器而改变,导出与分享方便
(1)word会随着office的版本变化而变化,而所有的支持.md文件的软件和网站都会遵循Markdown的标记语法,所以Markdown 则完全规避了硬件、编辑器和平台差异带来的问题。
(2)切换为别的格式,如 PDF 、HTML 和富文本格式(可以直接保持格式粘贴到 Word 中),还可以复制为微信公众号格式。
2、书写错误易发现
(1)word中排版功能做成了图形化的功能按键,出现问题无法回溯问题所在之处。例如选中一个单词设为粗体后,接下来输入的文字就不会变回默认的字体这类错误。其次由于它的功能复杂程度很高,功能较多,使用起来更加容易出错。
(2)Markdown 由于是使用标记字符来控制排版,所以你在预览时发现的错误都可以直接在文稿中去查看,到底是标记字符输入错了,还是漏掉了字符。
3、可选的工具比较多
(1)有在线的Markdown在线编辑器;
(2)有各类的Markdown软件编辑器。
4、Markdown可以让使用者专心于文章书写,而非排版
【缺点】
1、排版功能羸弱
Markdown 只是一个「轻量级标记语言」,相比同为标记语言的 Latex 、Word 或 Pages 这类文字处理软件,更不用说 Indesign 这种专业级的排版软件,Markdown 在排版的功能上显得羸弱。
(1)对段落处理起来不如word灵活;
(2)对非纯文本的元素处理能力较差,如处理图片。
2、门槛较高,对没有学过编程语言的人来说,用户体验不好
五、语法
1、对文字样式的编辑
编辑器最基本的功能,就是对文字本身加以处理。例如对文字加粗,在Markdown 中通过** 内容 **
来实现。其实在 Word 中就对应工具栏中的「字体」选项,同类的标记字符还有 * 内容 *
来实现斜体。
//
如果你在编辑器中写成
**演示粗体**
*演示斜体*
//最终会显示如下,可以看出,通过这些字符改变了文字本身的属性
2、对段落的编辑
相较于对「字」的编辑,更高一层的就是对「段落」的编辑,对应在 Word 中其实也是工具栏的「段落」选项。和第一类字符稍有不同,这些字符会把一些段落变成特殊格式的段落。例如 +
实现列表,#
实现标题效果,>
将一段文字变为引用,或者简单不加任何字符,但是在段落前缩进,就会显示出代码块。
注意:这些标记字符和文字之间有一个空格,且都为英语的符号。具体如下。
//
+ 演示列表
+ 列表还可以有层级
> 这是引用文字的效果
3、插入文章其他元素
正如 Word 中的「插入」选项一样,Markdown 也不仅仅只编辑文字,而是可以将不同的元素放入文档中。最常见的就是通过 []()
来插入链接和 ![]()
来插入图片(可以是本地图片也可以是网络图片)
//
[少数派](https://sspai.com)
![](https://cdn.sspai.com/attachment/thumbnail/2016/11/04/264631b984633898c415a818b181e5205653e_mw_640.jpg)
//
4、对基本语法的拓展
正如任何一门自然语言都会存在方言的现象一样,随着 Markdown 的发展和普及,越来越多人不满足于 John Gruber 定义的那些功能有限的标记字符,开始以他的语法为基础,拓展出各种各样的「Markdown 方言」。这些改进主要体现在两个方面:
(1)增加新的标记字符,带来了新的编辑功能,例如表格、脚注和目录等。
(2)修改了现有的标记字符,这主要出现在一些编辑器中,例如 Ulysses。
【拓展一】对基本语法的拓展
提到在编辑功能上对原生 Markdown 的拓展,最好的例子当属 Github Flavored Markdown。这是一套由 Github 网站为了帮助他们的主体用户群——程序员——更好的书写项目文档而推出的 Markdown 版本。由于其网站本身的影响力,以及他们的用户和 Markdown 用户高度重合,所以这套语法在互联网中得到了广泛推广。
原有的 Markdown 语法的功能稍显不足,Github Flavored Markdown 在前面所说的语法的三个方面都做出了相应的增强。同样的,你可以通过 官方文档 来查看全部的语法。相较原生语法,Github Flavored Markdown 主要做了以下改进:
(1)在对文字处理方面,它可以直接将网址高亮出来(原生语法需要加相应的标记字符)。
(2)在对段落的处理方面,对原有代码块进行了增强,如果你在代码块后表明代码语言:
//
```python
def 点赞机():
if 文章不错:
return 点赞
else:
return 差评
```
//就能直接看到相应编程语言的语法高亮。
(3)要插入文章元素方面,它支持在 Markdown 里写表格,如果你这么写:
//
| First Header | Second Header |
| ------------- | ------------- |
| Content Cell | Content Cell |
| Content Cell | Content Cell |
//
就会显示成
Github Flavored Markdown 是个很好的案例,说明了为什么会有人对原有的基本 Markdown 语法进行改进——就是为了满足各种原生 Markdown 没有提供的需求。
除了 Github Flavored Markdown 之外,MultiMarkdown 也不能不提。事实上目前众多编辑器都或多或少从 Multimarkdown 获取了一些灵感,相比 Github Flavored Markdown,Multimarkdown 是一套功能更为强大,同时语法更复杂的体系。如果有兴趣,你可以去 官网查看完整的语法文档。而你会在很多编辑器中都能发现,它们或多或少的支持了 MultiMarkdown 的语法。
不过如果你是初学者,我能给的建议是:先不要一上来就接触太多不同的增强型语法,这样会使得你愈发困惑。如果在日后使用中遇到了某些特殊的需求,例如脚注,再去搜索了解有哪些语法和编辑器支持你想要的那些功能1。
【拓展二】对通用语法的修改
除了上面所说的对基本语法的修改,还有的编辑器会对某些在通用语法中出现过的标记字符进行定制。例如,删除线的语法通常情况下是~~要删除的文字~~
,但是在 Bear 中,开发者将它定义成-要删除的文章-
。
这种情况的出现,主要还是不同的开发者对 Markdown 的标记字符的「好用」理解不同。遇到这种情况大可不必担心,一般的编辑器都会给出自己的标记字符文档,有的还会让用户做出选择,是使用通用的语法标记,还是这个编辑器专属的语法。
既然有了多种选择就有比较,而作为使用者,我认为我们只需认识到有这种「方言现象」的存在就好,如果过于纠结哪套语法更好,其实并不能提高多少使用上的效率。由于 Markdown 编辑器的效率高度依赖使用者的肌肉记忆,也就使得使用者的习惯才是最主要的影响因子。对于你来说,你习惯的语法才是效率最高的。
六、优秀的Markdown工具
1、选择前提
(1)要使用通用的语法书写。
(2)明确使用场景
(3)工具的功能能优化Markdown
2、工具推荐
(1)ios/macOS: Bear
(2)windows: Typora Typora官网 Typora For Markdown 语法
(3)Android: 易写
(4)note.youdao.com
致谢
3、Basic writing and formatting syntax
4、马克飞象