为什么不用Markdown来写设计文档

why write this blog

之前只有在用一些笔记软件的时候偶尔接触过markdown这个东西,只知道是一种轻型的标记语言。现在工作还有各方面的需要,必须抽出一些时间系统的学习一下markdown。当然并不研究markdown的渲染原理,只学习用法。

[TOC]

Markdown简介

wiki上的介绍

Markdown is a lightweight markup language with plain text formatting syntax. It's designed so that it can be converted to HTML and many other formats using a tool by the same name.

这么看,markdown的设计初衷肯定不是面向码农了,受众应该是经常写文档,写邮件的办公室一族了。

Markdown提供一套规定的语法,让写出的文档经过markdown processer的处理,转化为html,从而格式化你的.md文件。

当然,到了现在,Markdown的使用范围和影响已经渗透到各个行业,许多人日常的工作经常需要和它打交道。Github天生对md文件的支持,国内博客如也流行起markdown的方式来写博客。而抽出一小时左右的时间就能学会并使用它,还是非常值得,希望这篇blog会对你们有所帮助。

Editor

工欲善其事,必先利其器。这里我推荐typero

下面是我写这篇博客时的截图

为什么不用Markdown来写设计文档_第1张图片
typero
  • 功能齐备

  • mac/windows的跨平台支持

  • 界面清爽,cold style

  • markdown的语法建和快捷键的绑定

准备好之后,开始markdown的学习。

区块元素

标题

标题用 # 来提示markdown引出标题,一共有六级标题,字体从大到小。合理的在一篇文章中使用标题,可以通过 [toc] 自动生成目录,而且让你的文章层次更加清楚。

# header1
## header2
...
####### header6

header效果:

为什么不用Markdown来写设计文档_第2张图片
header

引用

使用 > 符号,引用的范围很广,通用解释、官方定义、他人专利都推荐用引用格式。

> 输入引用的内容

blockquotes效果:

为什么不用Markdown来写设计文档_第3张图片
blockquotes

列表

un-orded list

使用 - 来创建无序列表,+ * 具有相同的作用。

## programming language
- c++
- pyhton
- go
- java

orded list

有序列表,使用 1. item1 来创建,可以不按顺序,markdown语法解析器会自动识别

## popular
1. javascipt
2. pyhthon 
3. java

task list

也就是html中的复选框,使用 - [] 来创建,默认不选中,- [x] 为默认选中的复选框

 - [] option1
 - [] option2
 - [x] options

效果如下:

  • [ ] option1
  • [ ] option2
  • [x] option3

code block

很多博客和笔记软件都支持加入代码块这个功能,可以保持代码的原貌。在typero中是使用 ``` 来加入代码块,其他editor可能略有不同。

for a in list
    func(a)

links

markdown支持两种link方式,inline和reference。两种方式都是用 [ ] 来修饰需要链接的对象。

  • inline links

    在需要链接的对象后面,用括号加上links即可。用符号表示就是 [object] 后面加上 (links "title") title是可选项。如果链接访问的本地主机的资源,可以用相对路径代替url

    [Baidu](http://baidu.com/ "baidu") is a famous company.
    
    See my [About](/about/) page for details.
    

    效果:

    Baidu is a famous company.

    See my About page for details.

  • reference links

    与inline不同的是,它不直接指明链接的地址。而是在 [object] 后面跟上一个 [identifier] ,然后在文件的合适地方,给identifier定义一个links,这样object就能通过唯一的identifier找到自己的links。如果 [identifier] 为空,则默认和 [object] 同名

    [Tencent][qq] has been the best internet company in Asia.
    

    效果:

    Tencent has been the best internet company in Asia.

images

images的用法和links基本相似,只是加了一个 ! 在前面

inline式的语法如下:

![](/path/to/img.jpg)

![](/path/to/img.jpg "Optional title")

reference式的语法如下:

![Alt text][id]

[id]: url/to/image  "Optional title attribute"

table

创建表格,使用|header1|header2|...|headern| 来创建n列的表格,自动生成表格之后可以调节表格大小。

id name score
1 Allen 100
2 James 90
3 Victoria 95

Footnotes

创建脚注

You can create footnotes like this[^footnote].

[^footnote]: Here is the *text* of the **footnote**.

效果:

You can create footnotes like this[1].


TIPs

  • 需要注意markdown中有意义的符号,在写文章时可能会出现冲突,比如下面这个例子

    1994. the year i was born
    

    我的目的只是将它作为普通语句输入,解释markdown的语法解析器会把它误认为列表的提示键,这种情况需要引入 \ 转义符,正确用法如下

    1994\. the year i was born
    
  • 强调语法,使用**word** 来加粗,*word* 使字体变斜

    _* 是同样的作用

  • TOC 用法,使用 [toc] 来生成目录,前面已介绍

  • 下划线,可以使用下面的符号生成

    ---
    ------
    ***
    ******
    
  • 简短的代码引用可以用code就可以,比如 printf 是输出语句

  • 插入image稍微麻烦一些,本地图片很方便,其他的可以用七牛云图片存储。

  • :smile :happy: 可以输入emoji

    ​比如::open_hands: :clap: :haha:


  1. Here is the text of the footnote. ↩

你可能感兴趣的:(为什么不用Markdown来写设计文档)