关于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](http://www.example.com/python-logo-master.png)

插入邮件地址

<test@example.com>
插入邮件的格式为:

<test@example.com>

插入URL地址

  1. <http://www.example.com&gt;
  2. makeuseofmarkdown

    插入URL地址的格式为:

    <http://www.example.com>
    [makeuseofmarkdown](http://makeuseofmarkdown.com)

流程图

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

流程图1

st=>start: Start
e=>end: End
op1=>operation: My Operation
sub1=>subroutine: My Subroutine
cond=>condition: Yes or No?
io=>inputoutput: catch something...
st->op1->cond
cond(yes)->io->e
cond(no)->sub1(right)->op1

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

流程图2

UML流程图:

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

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

复杂一点的:

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

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

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

hide footbox
title PXE工作流程participant PXE_Client
participant TFTP_Server
participant DHCP_Server
PXE_Client -> DHCP_Server: 请求IP地址
activate PXE_Client #FFBBBB
activate DHCP_Server #FFBBCC
DHCP_Server -> DHCP_Server: 是否为合法的\n来自PXE_Client\n的DHCP请求?
PXE_Client <-- DHCP_Server: 返回IP地址和bootstrap的位置
deactivate DHCP_Server
PXE_Client -> TFTP_Server: 请求传送bootstrap
activate TFTP_Server #FFAABB
PXE_Client <-- TFTP_Server: 同意指定传输块大小(blksize)?
PXE_Client -> TFTP_Server: 同意
PXE_Client <-- TFTP_Server: 发送bootstrap
PXE_Client -> PXE_Client: 执行bootstrap(pxelinux.0)
PXE_Client -> TFTP_Server: 请求传送配置文件\n(pxelinux.cfg/<IP_ADDR>)
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_Server
PXE_Client -> PXE_Client: 启动Linux内核(带参数)
deactivate PXE_Client

表格

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

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

接下来看源码:

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

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

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

上述表格的源码为:

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

脚注(footnote)

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

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

截图为:

总结

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

转载于:https://blog.51cto.com/lavenliu/2047530

你不得不会的MarkDown--手把手教你掌握MarkDown相关推荐

  1. 手把手教你在Hexo中使用Github贡献日历(以Next主题为例)

    手把手教你在Hexo中使用Github贡献日历(以Next主题为例) 起因 现在开始! 最简单的方法 自定义贡献日历的配色方案 放进首页和归档页(以Next主题为例) :warning: 注意 最终效 ...

  2. 手把手教你生信分析平台搭建

    宏基因组按:此系列教程为基因学苑的王通老师原创发布.非常适合刚接受生信,又有服务器管理需求的小伙伴做为入门材料,一共20篇文章,内容涉及服务器选购.Linux系统安装.用户管理.软件安装.软件兼容环境 ...

  3. 手把手教你玩转SOCKET模型之重叠I/O篇(下)

    http://blog.csdn.net/PiggyXP/archive/2004/09/23/114908.aspx 四.     实现重叠模型的步骤 作了这么多的准备工作,费了这么多的笔墨,我们终 ...

  4. 手把手教你建github技术博客

    适合人群 喜欢写Blog的人 有一定的编程基础 爱折腾的人 熟练使用版本控制Git 了解使用Github 熟悉基本的MarkDown语法 环境准备 安装Git 下载 msysgit 并执行即可完成安装 ...

  5. 手把手教创建你的第一个以太智能合约:ETHEREUM PET SHOP(译)

    手把手教创建你的第一个以太智能合约:ETHEREUM PET SHOP(译) 原文地址 : http://truffleframework.com/tutorials/pet-shop 译者:luci ...

  6. 手把手教你玩转SOCKET模型:完成例程(Completion Routine)篇

    本文假设你已经对重叠I/O的机制已有了解,否则请先参考本系列的前一篇<手把手教你玩转SOCKET模型之重叠I/O篇>: 目录: 1.完成例程的优点 2.完成例程的基本原理 3.关于完成例程 ...

  7. 手把手教你玩转SOCKET模型:完成端口(Completion Port)详解

    这篇文档我非常详细并且图文并茂的介绍了关于网络编程模型中完成端口的方方面面的信息,从API的用法到使用的步骤,从完成端口的实现机理到实际使用的注意事项,都有所涉及,并且为了让朋友们更直观的体会完成端口 ...

  8. 手把手教你玩转网络编程模型之完成例程(Completion Routine)

    前  言 记得写这个系列的上一篇文章的时候已经是四年前了,准确的说是四年半以前了,翻开我尘封已久的IO模型里面的"完成例程"的实现方式及示例代码. 本文凝聚着笔者心血,如要转载,请 ...

  9. 岑崟:手把手教你走好从技术转管理的第一步

    岑崟 读完需要 10 分钟 速读仅需 1 分钟 前好买财富 系统运维部副总监 负责应用运维及 DevOps 运维平台研发和运营,推动运维团队从传统运维向 DevOps 转变. 本文根据岑崟老师在[de ...

最新文章

  1. 提高代码改造过程的小想法
  2. 博客订阅代码de制作
  3. LintCode 16. 带重复元素的排列
  4. android studio windows,AndroidStudio的使用(Windows)
  5. shell softech 面料_求高人指点 猛犸象的SOFTECH面料和GTX PROSHELL面料哪个好
  6. sqlilte 判断当天日期_Java8 必会的日期处理的实践,必须收藏!
  7. ubuntu 16.04安装mysql_Ubuntu 16.04 安装mysql 5.7.16
  8. 熊猫python小课靠谱吗_新的投资风向标在哪里?
  9. android众包,基于众包的免费停车Android系统设计与实现
  10. mysql 中的 engine 存储引擎
  11. 078、Docker 最常用的监控方案(2019-04-25 周四)
  12. 4、数据表的创建与更新
  13. 台灯c语言,Jya无线台灯C 告诉你如何重新定义光的含义
  14. 计算机桌面背景设置,电脑桌面背景设置图文教程
  15. Matlab 可视化世界地图,matlab绘制世界地图的脚本
  16. IC数字芯片学习各类公众号汇总
  17. 2020年江苏中考数学能用计算机吗,2020年【中考数学】真题及模拟:几何探究型问题(原卷版)(江苏专用).docx...
  18. spring boot 使用过滤器过滤非法字符
  19. 写给自己以及各位程序员,无论你在什么位置,我想你都应该看一下
  20. 2022年最新AlphaPose环境配置(Linux+GPU)

热门文章

  1. vbscript input select 添加个option根据value值到指定位置--相当于排序
  2. 说经年——感悟我接触的求职简历
  3. 30+的程序猿,路在何方?
  4. 有效地使用计算机操作系统的教学设计与反思,《操作系统的基础知识(1)》教学设计及反思...
  5. linux文件系统逻辑,Linux系统——文件系统与LVM 逻辑
  6. CentOS通过 All-in-One 模式安装 KubeSphere技巧
  7. 如何链接两个名字一样动态库
  8. 练习5-1 求m到n之和 (10 分)
  9. PTA基础编程题目集-6-1 简单输出整数
  10. 组合计数 ---- 732 Div2 D. AquaMoon and Chess