大家在项目开发的过程中,编写文档是不是大家的痛点呢?如果文档只是写在word里面,那不成问题。文档格式在windows,Linux或者MacOS之间不兼容,那么将word直接转为PDF再发布出去,这也不成问题。但是现在是互联网时代,用户都喜欢在网络上直接浏览文章,那在word编写文档之后,我们是很难直接将word格式转为相应HTML,这需要一定量的工作。
最显而易见的例子就是,当我们在word里面写好了文档,编辑好了格式,但是粘贴到confluence中,还是需要重新排版。
Markdown为此而生,用户使用markdown编写纯文本后,markdown自动就将元素翻译成html页面,直接就能在网站里面显示。现在的github中的文档,以及简书等网站,都是用扩展名为md的markdown文件作为默认编写工具的。
这篇分享就是用Markdown来编写的哦。我在使用markdown的感觉是方便,快速,统一。扔掉鼠标,用键盘搞定一切。当然Markdown有很多缺点,格式没有word等工具丰富,可能各个浏览器支持的也并不是很统一
Markdown 是什么?
参照官网的解释。
Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).
Markdown 是一个网络作者编写文本的工具。它能将纯文本转换为html。Markdown允许作者书写易读,易写的纯文本,然后将这些文本转换为有效格式的XHTML(HTML)文件。
Thus, “Markdown” is two things: (1) a plain text formatting syntax; and (2) a software tool, written in Perl, that converts the plain text formatting to HTML. See the Syntax page for details pertaining to Markdown’s formatting syntax. You can try it out, right now, using the online Dingus.
以上表明,Markdown包含部分东西:(1)一个纯文本格式语法;(2)一个使用Perl语言编写的软件,它可以将纯文本转换为HTML格式文件。现在,你可以使用在线工具Dingus来尝试Markdown。
工具
工欲善其事必先利其器,先给大家介绍几款趁手的编辑器
- Dingus 在线工具
官方推荐的在线学习工具- MarkdownPad Windows
- Mou MacOS
Mac下杰出的markdown编辑器- Haroopad All OS
极力推荐Linux/Unix的同学使用该工具- 有道云笔记
此分享就是在有道云笔记上完成的。有道云笔记还支持流程图,甘特图等图形。
基础语法
标题
在行首查出1到6个#,紧接着后面加一个空格,添加标题文字,对应到标题1到6阶,例如
标题1
标题2
标题3
标题4
标题5
标题6
代码
# 标题1
# 标题2
# 标题3
# 标题4
# 标题5
# 标题6
区块
类似email信件中的引言部分,在段落前添加 > 就会将此段落变为区块.
上面就是一个区块
代码
> 类似email信件中的引言部分,在段落前添加 > 就会将此段落变为区块。
列表
无序表使用星号*,例如:
- Red
- Blue
- Green
代码
* Red
* Blue
* Green
有序表则使用数字接着一个英文句点
- Alphabet
- Apple
- Microsoft
代码
1. Alphabet
2. Apple
3. Microsoft
代码区块
要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以,例如,下面的输入:
这是一个普通段落:
这是一个代码区块。
分割线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
***
---
区段元素
链接
Markdown 支持两种形式的链接语法:行内式和参考式两种形式。 要建立一个行内式的链接,只要在方块括号后面紧接着圆括号并插入网址链接即可,如果你还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可,例如:
This is [an example](http://example.com/ "Title") inline link.
[This link](http://example.net/) has no title attribute.
强调
Markdown 使用星号(*)和底线(_)作为标记强调字词的符号,被 * 或 _ 包围的字词会被转成用 <em> 标签包围,用两个 * 或 _ 包起来的话,则会被转成 <strong>,例如:
single asterisks
single underscores
double asterisks
double underscores
代码
*single asterisks*
_single underscores_
**double asterisks**
__double underscores__
图片
Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考式。
![Alt text](/path/to/img.jpg)
![Alt text](/path/to/img.jpg "Optional title")
高级语法(仅有道云笔记支持)
制作代办清单
- 了解markdown语法 -5min
- 使用有道云笔记进行练习 -10min
- 发现问题,与作者讨论
代码
- [x] 了解markdown语法 -5min
- [ ] 使用有道云笔记进行练习 -10min
- [ ] 发现问题,与作者讨论
表格,甘特图,序列图
表格
时间 | 事项 | 花费 |
---|---|---|
2017.02.26 | 水果 | ¥50 |
2017.02.27 | 交通 | ¥40 |
代码
时间|事项|花费
---|---|---
2017.02.26|水果|¥50
2017.02.27|交通|¥40
流程图(打印机流程)
是
否
开始
输入打印份数
机器运转是否正常
装订
纠正错误
代码 graph TB A{开始}---B(输入打印份数) B -->C[机器运转是否正常] C -->|是|D[装订] C -->|否|E[纠正错误]
我没有介绍什么
在有道云笔记中,还有一些高级语法在本文中没有涉及,需要大家根据文章最后的参考文献进行学习。还有Markdown的作者 John Gruber,也是个传奇人物。
总结
此次分享,我向大家介绍了什么是Markdown,它解决了什么问题,并且向大家介绍了几种编写工具。重点是Markdown中简单的语法规则。希望大家有所收获。
如果有任何错误,请联系我。大家一起学习,共同进步。最后来一个markdown的口号:keep calm and markdown。
参考文献:
Daring Fireball link
有道云笔记markdown简明语法 link
有道云笔记markdown进阶语法 link