编辑文字的利器——Markdown(一)
什么是Markdown呢?维基百科上是这么介绍的:
Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。
尽管Wikipedia上的定义已经非常明确了,但是非程序员朋友估计很难看懂这段介绍。其实看不懂是很正常的,隔行如隔山嘛,不过之所以要介绍Markdown,是因为它非常简单实用,能够极大提高文字编辑的效率,对于非程序员来说,也值得去学习使用。下面,我来尝试带你们入门。
Markdow 能用来做什么##
我们现在处于互联网时代, 这意味着各种说明性的文档、博客文章、产品宣传文案、文字新闻等等文本信息,都是从网页上查阅的。有人说,现在手机App很丰富,平时看的头条、知乎日报、微信公号等等就不在网页上。而事实上,这些东西也是在网页上呈现的,只不过App给浏览器加了一个漂亮外壳,让你感觉不到。所以在如今的时代,网页代替了纸,成了各类文档的载体。你写的说明文档,文案,甚至日记,都是从网页上呈现出来,而不是被打印到纸上供人查看。既然有那么多文档在网上,自然有很多发布这些文档的内容提供者。这些人有专业的文字编辑,有网络写手,有爱泡论坛的网虫,当然还有大量的程序员。如果你需要时常在网上发布文字,那么Markdown可以给你提供很大的帮助。
无论纸张还是网页,呈现的文档必须排版清晰、优美才会让人有阅读的欲望。一篇美文能让人心旷神怡,但若是排版乱七八糟,我想它根本没有机会被人读到。在纸张时代,人们利用Word、WPS等文字编辑工具进行排版,然后打印到纸上供人阅览。而网页时代,文档的排版也有相应的工具和方法。简单的来说,网页其实是一个文本文件,我们可以把它看做是个Word文档,里面记录着文档内容和排版标记。而浏览器相当于一个打印机,它会解析网页文件中的排版标记,按照规则把文档“打印”到屏幕上,供人阅览。
但是呢,这个排版规则太复杂了,别说是普通人,就是专业从事网页开发的程序员,也无法顺利的直接写出一个排版精良的网页文档,于是Markdown就被发明出来了。简单说来,Markdown是一个翻译器,你在写文档的时候做几个简单的标记,类似*,>,#等等,它们代表了不同的排版样式,Markdown会把这些标记翻译成浏览器能够识别的排版规则。这样以来,我们不需要了解浏览器复杂的排版规则,只需要记住几个简单的标记,就能够写出能够呈现在网页上的排版美观的文档了。
有必要用Markdown吗?##
我首先要说的是,学习Markdown非常容易,不到半小时就可以学完日常所需的大部分功能。如果你经常需要进行文字编写的工作,无论你的文字最终是在网页上还是纸上,我都建议你使用Markdown。因为,Markdown能够在不打断你写作思路的前提下,让你可以几乎同时完成文字录入和排版的工作。这简直太棒了,不是吗?
回想一下你使用Word的经历,如果要写2000字左右的文档,即便是最简单的排版,你也要在写作期间数次打断思路,进行若干次选择字号、加粗、对齐、设置段间距和行间距等等操作。而这些操作你不得不使用鼠标来完成——这会使你的双手离开键盘核心操作区。这两点对于需要经常写作的人来说,是无法忍受的。
无法忍受绝对不是一个夸张的说法,因为如果你在写一个篇逻辑严密的文字,每一次打断思路,再回来继续上次的思绪,至少需要半分钟以上,如果碰巧那天状态不好,甚至需要5分钟以上。如果很不幸你有严重的拖延症……那有可能一两个小时也回不来。
虽然写文章是脑力劳动,但敲键盘把文字录入电脑的动作还是个“体力活”。当你的双手在键盘上飞舞正酣时,绝对不想停下来去动鼠标,因为这同样会打断你的肌肉运动。
好了,我们现在已经知道了Markdown最核心的优点——Markdown能在不打断写作思路的情况下进行排版,同时解放你的鼠标,从而极大提高写作效率。
Markdown演示##
如果你在Markdown编辑器中输入以下内容:
#Markdown的简单演示(一级标题)
##1 强调演示(二级标题)
###1.1 加粗(三级标题)
**这段文字被加粗了**
###1.2 斜体
*这段文字变斜体了*
##2 列表演示
###2.1 有序列表
有序列表只需输入数字+点符号+空格即可:
1. 有序列表1
2. 有序列表2
3. 有序列表3
###2.2 无序列表
无序列表可以用使用星号、加号或是减号(任选其一)+空格即可:
* 无序列表1
+ 无序列表1
- 无序列表1
##3 区块
###3.1 引用
>这段话是引用李白《侠客行》中的几句诗:
>银鞍照白马,飒沓如流星。十步杀一人,千里不留行。事了拂衣去,深藏身与名。
###3.2 代码段
程序员会经常用到这个功能。只需要在录入代码时,在行首加入一个Tab或者4个空格即可
printf("Hello,world!");
##4 分隔线
在一行中用三个以上的星号、减号、下划线来建立一个分隔线:
***
---
___
##5 超链接
这是我的[个人博客](www.sunxin.me)。
以上只是Markdown最核心部分的语法简介,想了解更多,请戳[这里](http://www.jianshu.com/p/1e402922ee32/)
请注意,以上的文字除了空格、回车和一些稍微奇怪的字符外,没有任何多余的东西,这就叫做纯文本,你在任何一个编辑器中都可以完成以上的输入。但是把上面这写文本交给Markdown编辑器后,就会产生如下的效果:
Markdown的简单演示(一级标题)
1 强调演示(二级标题)
1.1 加粗(三级标题)
这段文字被加粗了
1.2 斜体
这段文字变斜体了
2 列表演示
2.1 有序列表
有序列表只需输入数字+点符号+空格即可:
- 有序列表1
- 有序列表2
- 有序列表3
2.2 无序列表
无序列表可以用使用星号、加号或是减号(任选其一)+空格即可:
- 无序列表1
- 无序列表1
- 无序列表1
3 区块
3.1 引用
这段话是引用李白《侠客行》中的几句诗:
银鞍照白马,飒沓如流星。十步杀一人,千里不留行。事了拂衣去,深藏身与名。
3.2 代码段
程序员会经常用到这个功能。只需要在录入代码时,在行首加入一个Tab或者4个空格即可
printf("Hello,world!");
4 分隔线
在一行中用三个以上的星号、减号、下划线来建立一个分隔线:
5 超链接
这是我的个人博客。
以上只是Markdown最核心部分的语法简介,想了解更多,请戳这里
Markdown的应用场景
由于我的微信公号还没有通过原创申请,还无法添加超链接,所以超链接的演示你们无法看到,我把演示效果截了一张图
你已经见识过了Markdown的方便与强大了。那么通常在什么场合能用到Markdown呢?事实上,我的微信公号的文章都是使用Markdown来完成的。除了微信公号,你还可以利用Markdown写Blog,论坛长帖,甚至E-mail。如果你是个程序员,你可以用Markdown来写文档,目前各大代码托管网站都支持markdown写作。
如果你是网络写手、记者等文字工作者,用markdown写出经过优雅排版的原始内容,再交给编辑的话,能够让编辑的排错、调整文章结构等工作更加容易。
Markdown的学习曲线非常平缓,极易上手,坚持使用几天即可熟练使用。今天我们已经了解了什么是Markdown,以及Markdown的基本语法。但离你正式开始使用Markdown,还有一点距离,下一篇文章会让你真正进入Markdown的世界。
============================End==============================
这里不仅仅有嵌入式开发的技术分享,开发工具介绍等等,偶尔还会冒出一些个人的思辨的过程。如果你感兴趣,可以识别下方二维码,关注这个微信公号——有腔调儿。