前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你不得不会的MarkDown

你不得不会的MarkDown

作者头像
1846122963
发布2018-03-09 16:59:25
1.1K0
发布2018-03-09 16:59:25
举报

如何快速掌握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格式为:

代码语言:javascript
复制
#### 这是四级标题
一般写文章或论文,三级标题就够用了。不是吗?

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

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

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

代码一览

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

代码语言:javascript
复制
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格式为:

代码语言:javascript
复制
> 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格式为:

代码语言:javascript
复制
> 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__ - 这个也是粗体

图片

插入图片的语法为:

代码语言:javascript
复制
![Python的Logo](http://www.example.com/python-logo-master.png)

流程图

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

流程图1

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

流程图2

UML流程图:

代码语言:javascript
复制
Alice->小雪: 你是个SB?
Note right of Bob: Bob thinks
小雪-->Alice: 就是,怎么了!

复杂一点的:

代码语言:javascript
复制
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的话,它绘制出来的图形是这个样子的:

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

代码语言:javascript
复制
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。

代码语言:javascript
复制
如,一个例子[^example]。

截图为:


  1. 一个例子。 ↩
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白的技术客栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 标题
  • 代码一览
  • 块引用
    • 块引用还可以嵌套
    • 强调
    • 图片
    • 流程图
      • 流程图1
        • 流程图2
        • 表格
        • 脚注(footnote)
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档