程序员要用MarkDown来创作文章
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员要用MarkDown来创作文章相关的知识,希望对你有一定的参考价值。
前言: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的<ins>标签,但下划线实际上可以不用的,使用下一节的强调语法即可。
例如:
### 中划线语法
这是一个删除线
~~这是一条删除线~~
当删除线内部紧跟 "空格" 时,删除线效果会失效。
~~有效的删除线~~
~~失效的删除线 ~~
~~ 失效的删除线 ~~
~~ 失效的删除线~~
2.4.3 强调
使用一个星号或者下划线把内容括起来就可以实现斜体。
使用两个星号或者两个下划线把内容括起来就可以实现斜体。
例如:
### 强调语法
- 斜体的演示
*用星号表示的斜体*
_用下划线表示的斜体_
- 粗体的演示
**用星号表示的粗体**
__用下划线表示的粗体__
2.4.4 字体
MD语言不直接支持字体修改,需要借用HTML的<font>标签。实际上,对于一般创作,我们可以不用关心字体的。
2.5 代码块、引用和行内代码
2.5.1 代码块
程序员一般最关注代码块语法:在行首使用连续四个空格。
例如:
#### 使用空格定义代码块
pubic static void main(String[] args)
System.out.println("Hello world");
2.5.2 引用
在行首加入大于号表示引用。引用支持嵌套,最大可以到7层。引用里面也可以使用加粗、代码块、列表等语法。
例如:
> 走自己的路,让别人说去吧。
2.5.3 行内引用
行内引用的用途之一是定义行内代码。使用反引号来把内容括起来,就能实现行内引用。
例如:
#### 定义行内代码
行内的 html 代码:`<head><title>标题</title></head>`
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/
以上是关于程序员要用MarkDown来创作文章的主要内容,如果未能解决你的问题,请参考以下文章