你不得不会的MarkDown

如何快速掌握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. 列表连数字都自动排好
  • 无序列表
  • 无序列表
  • 嵌套列表
  • 自动缩进

上述的MarkDown格式为:

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

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

1. 简单
2. 列表连数字都自动排好

* 无序列表
* 无序列表
* 嵌套列表
* 自动缩进

代码一览

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

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

块引用

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

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)

流程图

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

流程图1

StartMy OperationYes or No?catch something...EndMy Subroutineyesno

流程图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

表格

这是标题

这是说明

这是一列

这是一列

这是标题

脚注(footnote)

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

如,一个例子[^example]。

截图为:


  1. 一个例子。 ↩

原文发布于微信公众号 - 小白的技术客栈(XBDJSKZ)

原文发表时间:2017-12-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

棋牌游戏服务器架构: 详细设计(二) 应用层设计

这里的应用层,指的是CenterServer、LogonServer、LogServer、RoomServer等几个服务器,另外还包括游戏模块的设计。不过游戏...

40111
来自专栏Golang语言社区

棋牌游戏服务器架构: 详细设计(二) 应用层设计

这里的应用层,指的是CenterServer、LogonServer、LogServer、RoomServer等几个服务器,另外还包括游戏模块的设计。不过游戏...

3194
来自专栏web前端教室

搞前端必知必会--HTTP是个啥?

先说结论,HTTP是个啥?以我不多的了解来讲,它就是个协议,反正上网都用它。那为毛要了解? 第一,你得明白TCP/IP什么的,三次握手什么的, 第二,你上网调试...

18210
来自专栏解Bug之路

解Bug之路-TCP粘包Bug

详情见笔者另一篇博客https://my.oschina.net/alchemystar/blog/833937

742
来自专栏分布式系统进阶

ISR列表是如何变化的?Kafka源码分析-汇总

核心replica.logEndOffset.offsetDiff(leaderHW) >= 0 如果当前replica的LEO大于等于Leader的HighW...

652
来自专栏大数据和云计算技术

HDFS学习:HDFS机架感知与副本放置策略

洋哥YARN和HDFS实践系列大作,这是第三篇,前面两篇分别是: Yarn【label-based scheduling】实战总结(二) Yarn【label-...

44010
来自专栏ImportSource

架构师必懂的NoSQL[一致性]底层原理

从关系数据库过渡到NoSQL数据库的一个最大改变就是你对一致性的思考方式。关系数据库主要是通过“强一致性”来避免各种不一致的问题,这个我们很快就会说到。一旦你进...

3546
来自专栏企鹅号快讯

像Apache Storm一样简单的分布式图计算

作者:Kobi Hikri 翻译:无阻我飞扬 摘要:本文从计算机领域的“祖师爷”艾伦·图灵提出的图灵机概念开始,介绍了图形计算的概念,并以示例介绍了apache...

16910
来自专栏韩伟的专栏

经典软件架构模式

目录 (一) 架构模式是什么 (二) 分层模式案例 (三) 微核模式案例 (四) 管道与过滤器案例 (五) MVC模式案例 (六) REST模式案例 (七) S...

3445
来自专栏鸿的学习笔记

简单聊聊Python解释器(一)

Python的解释器,从运行过程上来说就是在模拟一个CPU的处理,只要理解了这一点,python中鼎鼎大名的全局解释锁和多进程也就能够理解了。(Ps:在远古时...

663

扫描关注云+社区