世界今亮点!程序员要用MarkDown来创作文章

2022-12-19 19:23:23 来源:51CTO博客

前言:Markdown(简称MD)语言常用于编写开源代码的Readme说明。如今越来越多的人使用Mardown来写作,原因是它简单易用。​


1.历史


1.1 发明

2004年,John Gruber创造了MD语言,部分和Aaron Swartz合作而成,Aaron Swartz是一位天才程序员。John Gruber的目的是期望推出“易于阅读、易于撰写的纯文字格式,并选择性的转换成有效的XHTML(或是HTML)”。MD语言最重要的设计理念是“可读性”,因为HTML和RTF这种复杂标记语言必须依赖浏览器,否则直接阅读的话会被众多标签影响。​


(资料图片仅供参考)


1.2 流行

2008年,Github 使用 Markdown 作为默认的 Readme 文件编写规范,并提供了一套渲染规范。从此MD语言流行起来。​


1.3 标准化

2004 年末,Markdown发布规范1.0.1,这也是目前流行版本。​

2012年开始,包括Jeff Atwood和John MacFarlane在内的一群人启动了标准化工作。​

2014年9月,Gruber反对在这一工作中继续使用“Markdown”这个名字,其被更名为CommonMark。​

2016年,标准化组织IETF发布了RFC 7763和RFC 7764。RFC 7763 从原始变体引入了MIME类型 text/markdown。RFC 7764讨论并注册了MultiMarkdown、GitHub Flavored Markdown (GFM)、Pandoc、CommonMark及Markdown等变体。​

2017年,GitHub发布了基于CommonMark的GitHub Flavored Markdown(GFM)的正式规范。​


1.4 变种

除了上面提到的CommonMark外,另外一个变种是Markdown Extra,最初用于PHP,后来又被Python和Ruby引入,诸如Drupal等内容管理系统也在使用,Markdown Extra在PHP中具体引入时间,目前还不可考。​


2.常用语法

MD语言的语法非常简单,这才让MD语言可以快速入门,甚至非程序员也能简单使用。​


2.1 标题

支持两种风格:​


2.1.1 SeText 风格

文章标题下一行使用三个等号。章节标题下一行使用三个减号。​

例如:​

这是整篇文章的题目​===​这是一个章节题目​---

2.1.2 Atx风格

可以使用多个井号来定义标题。井号放在标题前面,标题和井号之间使用空格隔开。一个井号表示一级标题,两个井号表示二级标题,以此类推到六级标题。​

例如:​

# 这是一个一级标题​## 这是一个二级标题​### 这是一个三级标题​#### 这是一个四级标题​##### 这是一个五级标题​###### 这是一个六级标题

2.2 列表


2.2.1 有序列表

在列表项之前放置:数字+点符号。​

例如:​

1. 项目1​2. 项目2​3. 项目3

2.2.2 无序列表

使用星号、加号或者减号。​

例如:​

### 无序列表​#### 使用星号生成无序列表​* 项目1​* 项目2​* 项目3​#### 使用加号生成无序列表​+ 项目1​+ 项目2​+ 项目3​#### 使用减号生成无序列表​- 项目1​- 项目2​- 项目3

2.3 正文、段落、换行和缩进


2.3.1 正文

没有任何标记的文字就是正文。​


2.3.2 段落

段落前后使用空行来标识。​


2.3.3 换行

在行尾加两个空格。​


2.3.4 缩进

没有单独标签,其实英文一般不缩进。中文就用两个空格标识即可。​


2.4 分割线、辅助线、强调和字体


2.4.1 分割线

有三种:三个星号,三个减号,或者三个下划线。效果相同。​

例如:​

### 下面是三类分割线​使用「星号」作为分割线​***​使用「减号」作为分割线​---​使用「下划线」作为分割线​___

2.4.2 辅助线

前后都使用两个波浪号可以加中划线效果。注意,下划线不直接支持,可以借用HTML的标签,但下划线实际上可以不用的,使用下一节的强调语法即可。​

例如:​

### 中划线语法​这是一个删除线​~~这是一条删除线~~​当删除线内部紧跟 "空格" 时,删除线效果会失效。​~~有效的删除线~~​~~失效的删除线 ~~​~~ 失效的删除线 ~~​~~ 失效的删除线~~

2.4.3 强调

使用一个星号或者下划线把内容括起来就可以实现斜体。​

使用两个星号或者两个下划线把内容括起来就可以实现斜体。​

例如:​

### 强调语法​- 斜体的演示​*用星号表示的斜体*​_用下划线表示的斜体_​- 粗体的演示​**用星号表示的粗体**​__用下划线表示的粗体__

2.4.4 字体

MD语言不直接支持字体修改,需要借用HTML的标签。实际上,对于一般创作,我们可以不用关心字体的。​


2.5 代码块、引用和行内代码


2.5.1 代码块

程序员一般最关注代码块语法:在行首使用连续四个空格。​

例如:​

#### 使用空格定义代码块​      pubic static void main(String[] args) {    System.out.println("Hello world");​  }

2.5.2 引用

在行首加入大于号表示引用。引用支持嵌套,最大可以到7层。引用里面也可以使用加粗、代码块、列表等语法。​

例如:​

> 走自己的路,让别人说去吧。 ​


2.5.3 行内引用

行内引用的用途之一是定义行内代码。使用反引号来把内容括起来,就能实现行内引用。​

例如:​

#### 定义行内代码​行内的 html 代码:`标题`

2.6 超级链接和图片


2.6.1 超级链接

使用中括号来实现,注意是成对的中括号,链接指向的地址使用小括号。语法为:​

[超级链接文字](超级链接标签)​

例如:​

#### 声明超链接的细节​点击下面的连接将跳转到[百度](https://www.baidu.com/ )首页

2.6.2 图片

图片语法如下:​

![替换文字](图片路径 "标题(可选)") ​

例如:​

#### 插入一张图片​图片前的文字。​![](https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcontent.jianguoyun.com%2Fwp-content%2Fuploads%2F2019%2F08%2F110057.jpg&refer=http%3A%2F%2Fcontent.jianguoyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1674037306&t=9c3288e38d2daf41e808c1b5c3413da5)​图片后的文字

3 注意事项和参考资料


3.1 关于空格

MD语言的版本比较多,不同浏览器/解释器处理不同。建议多使用空格隔开标签和写作的内容。​


3.2 参考资料

中文版规范:​​http://www.markdown.cn/​​​

英文版规范:​​https://daringfireball.net/projects/markdown/​​​

标签: 这是一个 可以使用 参考资料

上一篇:【天天热闻】安装VScode
下一篇:热资讯!Window下Neo4j安装教程