关于MarkDown的介绍这里就不过多介绍了,因为很多小伙伴的博文里都已经有介绍过,而且内容都是一样的。这里直接教大家实践。

Markdown显然已经成为每个IT人的标配了。如果不会点儿Markdown,真的不好意思跟别人打招呼了。早在几年前,我是非常讨厌Markdown的,因为我一直在用EmacsOrg-mode,一个比Markdown要高端多得多的玩意,看不起那些使用Markdown的程序员,觉得他们简直low爆了。

EmacsOrg-mode是强大的,但没有很好的客户端工具,用来在不同的设备上同步我们的笔记。不过我们也可以把Emacs的笔记直接放到GitHub上,GitHub也是支持.org格式的文档的。如果通过手机去查看GitHub文档,首先,体验不好;其次,速度有点让人着急。基于以上两点,我选择了云笔记产品。绝大多数的云笔记产品也都支持Markdown格式,让我们使用简单的格式,就可以写出格式化的文档。不过这仅仅是基本的格式化文档。如果要想有更好的排版格式,那就需要更高端的工具了。比如Word(如果也算高端工具的话)或TeX

接下来说说云笔记的好处有哪些。它的好处不用多说,我认为最大的好处是:一处书写,到处可见。这是很屌的。在众多的云笔记产品中,我选择了为知笔记,因为它也直接支持EmacsOrg-mode,对,就仅仅因为这个原因。

以下是Markdown的简明教程,不管有没有使用过Markdown,10分钟之内完全可以学会(简直就是hand-by-hand啊)。如果你是从Emacs转过来的,我可以保证你在一分钟之内就可以学会(此言非虚)。

标题

标题以#开头,一个#就代表一级标题,两个##表示二级标题,以此类推,直到六级标题。

这是四级标题

一般写文章或论文,三级标题就够用了。不是吗?

这是六级标题

一般写文章或论文,三级标题就够用了。不是吗?

  1. 简单
  2. 列表连数字都自动排好
  • 无序列表
  • 无序列表
  • 嵌套列表
  • 自动缩进
#### 这是四级标题一般写文章或论文,三级标题就够用了。不是吗?###### 这是六级标题一般写文章或论文,三级标题就够用了。不是吗?1. 简单2. 列表连数字都自动排好* 无序列表* 无序列表* 嵌套列表* 自动缩进

代码一览

如果要插入一段代码块,可以把代码放到一对"```"中即可。

int i = 0; i = 1;for (int i = 0; i < 100; i++){    printf("hello markdown!\n");}

块引用

如果要在文档中插入一段引用的文字,可以把要插入的引用文字以&gt;开头即可。

This is a blockquote with two paragraphs.

More than I can say.

Crazy English.

上述MarkDown的格式为:

> This is a blockquote with two paragraphs.> More than I can say.>> Crazy English.

块引用还可以嵌套

当然,块引用还可以嵌套。

This is the first level of quoting.

> This is nested blockquote.

Back to the first level.

上述MarkDown的格式为:

> This is the first level of quoting.>> > This is nested blockquote.>> Back to the first level.

块引用中,还可以包含其他MD元素,如headers,lists,code blocks。

This is a header.

  1. This is the first list item.
  2. This is the second list item.

Here's some example code:

return shell_exec("echo $input | $markdown_script");

强调

有时,我们想要强调某一句话或某个词语,那么把相应的文字强调显示将是很好的效果。在MarkDown中,要想强调文字,如果要想把强调的文字以斜体的形式呈现,只需要把要强调的文字放到一对*或一对_之间即可。同理,如果要想把强调的文字以粗体的形式呈现,只需要把要强调的文字放到一对**或一对__之间即可。以下是示例:

  • single asterisks - 这是斜体
  • single underline - 这个也是斜体
  • double asterisks - 这是粗体
  • double underlines - 这个也是粗体

插入图片

Python的Logo

插入图片的语法为:

![Python的Logo](http://www.example.com/python-logo-master.png)

插入邮件地址

 

;

插入URL地址的格式为:

[makeuseofmarkdown](http://makeuseofmarkdown.com)

流程图

要想让MarkDown支持流程图,需要一些插件的支持,这就要看网站或笔记厂商是否支持了。

流程图1

st=>start: Starte=>end: Endop1=>operation: My Operationsub1=>subroutine: My Subroutinecond=>condition: Yes or No?io=>inputoutput: catch something...st->op1->condcond(yes)->io->econd(no)->sub1(right)->op1

上面的流程图渲染后的效果为:

UML流程图

流程图2

UML流程图:

Alice->小雪: 你是个SB?Note right of Bob: Bob thinks小雪-->Alice: 就是,怎么了!

上面的流程图渲染后的效果为:

UML流程图

复杂一点的:

PXE客户端 -> DHCP服务端: 请求IP地址DHCP服务端 -> DHCP服务端: 是否为合法的\n来自PXE客户端\n的DHCP请求?PXE客户端 <-- DHCP服务端: 返回IP地址和bootstrap的位置PXE客户端 -> TFTP服务端: 请求传送bootstrapPXE客户端 <-- TFTP服务端: 同意指定传输块大小(blksize)?PXE客户端 -> TFTP服务端: 同意PXE客户端 <-- TFTP服务端: 发送bootstrapPXE客户端 -> PXE客户端: 执行bootstrap(pxelinux.0)PXE客户端 -> TFTP服务端: 请求传送配置文件\n(pxelinux.cfg/
)PXE客户端 -> PXE客户端: 读配置文件PXE客户端 -> PXE客户端: 用户根据情况选择PXE客户端 -> TFTP服务端: 请求传送Linux内核PXE客户端 <-- TFTP服务端: 发送Linux内核PXE客户端 -> TFTP服务端: 请求传送Linux根文件系统PXE客户端 <-- TFTP服务端: 发送Linux根文件系统PXE客户端 -> PXE客户端: 启动Linux内核(带参数)

如果是使用EmacsOrg-mode的话,它绘制出来的图形是这个样子的:

Emacs的Org-mode

这里把源码给大家贴出来:

hide footboxtitle PXE工作流程participant PXE_Clientparticipant TFTP_Serverparticipant DHCP_ServerPXE_Client -> DHCP_Server: 请求IP地址activate PXE_Client #FFBBBBactivate DHCP_Server #FFBBCCDHCP_Server -> DHCP_Server: 是否为合法的\n来自PXE_Client\n的DHCP请求?PXE_Client <-- DHCP_Server: 返回IP地址和bootstrap的位置deactivate DHCP_ServerPXE_Client -> TFTP_Server: 请求传送bootstrapactivate TFTP_Server #FFAABBPXE_Client <-- TFTP_Server: 同意指定传输块大小(blksize)?PXE_Client -> TFTP_Server: 同意PXE_Client <-- TFTP_Server: 发送bootstrapPXE_Client -> PXE_Client: 执行bootstrap(pxelinux.0)PXE_Client -> TFTP_Server: 请求传送配置文件\n(pxelinux.cfg/
)PXE_Client -> PXE_Client: 读配置文件PXE_Client -> PXE_Client: 用户根据情况选择PXE_Client -> TFTP_Server: 请求传送Linux内核PXE_Client <-- TFTP_Server: 发送Linux内核PXE_Client -> TFTP_Server: 请求传送Linux根文件系统PXE_Client <-- TFTP_Server: 发送Linux根文件系统deactivate TFTP_ServerPXE_Client -> PXE_Client: 启动Linux内核(带参数)deactivate PXE_Client

表格

如何生成表格?先看一个示例:

这是标题 这是说明
这是一列 这是一列

接下来看源码:

# 在表格的上面最好有一个空行|这是标题|这是说明||-----------|----------| # 这个短横线要多于3个|这是一列|这是一列|

再来一个具有对齐特点的表格:

这是标题 这也是标题 这是备注
左对齐 默认居中对齐 右对齐

上述表格的源码为:

# 在表格的上面最好有一个空行| 这是标题 | 这也是标题 | 这是备注 ||:-----|------|-----:|    # 冒号在哪里就是哪里对齐|左对齐 | 默认居中对齐 | 右对齐|

脚注(footnote)

脚注的写法为:在需要备注的地方后面写上:[^something],然后还需要定义[^something]。一个例子。

如,一个例子[^example]。[^example]: 一个例子。

截图为:

脚注的例子

总结

关于流程图的绘制,如果51CTO可以支持的话,那真的是太好了。51CTO升级之后,真的是太好用了,墙裂推荐使用!