你不得不会的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 条评论
登录 后参与评论

相关文章

来自专栏安恒信息

Hacking Team移动智能设备入侵途径—WAP PUSH

0x00 概览 Hacking Team的RCS针对的系统平台覆盖面广、泄漏的源码模块众多。安恒安全研究团队发现其中的vector-rmi-master.zi...

2797
来自专栏FreeBuf

“DNS隧道”盗号木马分析

盗号木马相信大家都不陌生。随着网络越来越普及,网上的账号密码越来越重要,盗号木马的生命力也就越发的顽强了。 随着与杀毒软件的对抗,盗号木马也在不断的更新换代。Q...

16810
来自专栏华章科技

撤回的微信消息真的看不到?78行Python代码帮你看穿一切!

导读:Python曾经对我说:"时日不多,赶紧用Python"。于是看到了一个基于python的微信开源库:itchat,玩了一天,做了一个程序,把私聊撤回的信...

493
来自专栏领域驱动设计DDD实战进阶

DDD实战进阶第一波(十):开发一般业务的大健康行业直销系统(实现经销商登录仓储与逻辑)

1525
来自专栏雨过天晴

原 荐 C# FTP 坑了我两天的一个坑

2856
来自专栏信安之路

Pin-in-CTF 学习整理记录

这次打 qctf,做到了一个 ollvm,控制流平坦化的题,虽然不是很明白原理(但这么叫感觉很 6 批)。听师傅们说可以用 pin 解决,于是先学习一下 pin...

1320
来自专栏mantou大数据

【大数据安全】CDH集群禁用Kerberos

在调试Kerberos的时候可能会有需要禁用的场景。以下是各组件禁用Kerberos的相关配置。

933
来自专栏张善友的专栏

Silverlight 2 Beta 2的Isolated Storage

Silverlight beta 2 的配置有一个重大变化就是对DRM 和Application Storage的配置 ? Application stora...

17710
来自专栏Python中文社区

新浪微博爬虫最新分享

專 欄 ❈ 九茶,Python工程师,目前居于广州。Github知名开源爬虫QQSpider和SinaSpider作 者,经常会在CSDN上分享一些爬虫、数据...

1918
来自专栏walterlv - 吕毅的博客

使 WPF 支持触摸板的横向滚动

发布于 2017-11-23 13:25 更新于 2018-08...

542

扫码关注云+社区