前言
随着各种电子文档格式化语言的发展,Markdown逐渐以简单方便胜出。在经历了互联网站、博客、微博等的使用后,目前选择“简书”作为自己记录学习笔记和发布网络文章的主平台。掌握简书版的Markdown语法和使用也就势在必行了。学习、整理简书Markdown的语法,以方便自己写作,同时也希望能给需要的人以帮助。既然是学习笔记,就是自己学习过程中干货的记录。
本人使用简书和Markdown都不久,又不是精进的人,东抄西改,难免有疏漏错误,欢迎留言指正。同时也希望这个文档对大家有用。
一、标题
标题很重要,基本奠定了一篇文章整体的框架;当然,标题也很简单,用 # 表示:一个 # 代表的是一级标题、二个 ## 代表的是二级标题,以此类推,至多到六级标题,也就是六个 ######。
代码:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
效果:
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
当然,还有一种代码只对一级标题、二级标题起作用,就是在一级标题文字的下一行输入====================
就OK了,其实这里只需要写一个=
就会起作用;二级标题只需要在下一行输入一个-
就OK了。
代码:
一级标题
====================
二级标题
---------------------
效果:
一级标题
二级标题
二、列表
Markdown支持的列表有两种,一种是有序列表,另一种是无序列表;其实也没有太多差别,只是让文档内容更加有条理些,主要还是看个人审美和写作习惯了。列表不仅可以列出item,当然也可以用来分段落。每个段落开头使用列表的标记语法。
1、有序列表
利用数字加点号来标记序列,例如“1.”。有序是可以嵌套的,所以要注意“1.”和内容之间的空格,相同空格数为同级列(这里的空格数只有零空格和空一格起作用,超过一格的效果和一格的效果一样的);当然空到5格,整行的背景将变成黑色。
代码:
Code 1:
1. 这是第一点要素(空一格)
2.这是第二点要素(零空格)
3.这是第三点要素(零空格)
Code 2:
1.这是第一点要素(零空格)
2. 这是第二点要素(空一格)
3.这是第三点要素(零空格)
Code 3:
1. 这是第一点要素(空五格)
2.这是第二点要素(零空格)
效果:
Code 1:
- 这是第一点要素(空一格)
2.这是第二点要素(零空格)
3.这是第三点要素(零空格)
Code 2:
1.这是第一点要素(零空格)- 这是第二点要素(空一格)
3.这是第三点要素(零空格)
Code 3:这是第一点要素(空五格)
2.这是第二点要素(零空格)
2、无序列表
利用符号“-”、“+”、“*”来标记。注意符号和内容之间空一格,和有序列表一样,空五格整行背景色变成黑色;当有2个符号交错使用时,列表内容之间的空行的大小不一致,看Code3和Demo3。
代码:
Code 1:
* 这是第一点要素(空一格)
* 这是第二点要素(空一格)
* 这是第三点要素(空一格)
Code 2:
* 这是第一点要素(空五格)
* 这是第二点要素(空一格)
Code 3:
* 这是第一点要素(使用*空一格)
- 这是第二点要素(使用-空一格)
- 这是第三点要素(使用-空一格)
效果:
Code 1:
- 这是第一点要素(空一格)
- 这是第二点要素(空一格)
- 这是第三点要素(空一格)
Code 2:这是第一点要素(空五格)
- 这是第二点要素(空一格)
Code 3:- 这是第一点要素(使用*空一格)
- 这是第二点要素(使用-空一格)
- 这是第三点要素(使用-空一格)
三、引用
区块引用其实很简单,使用“>”标记,区块引用是可以嵌套的,标记多少个“>”,就嵌套多少层,简书我测试了一下,好像是最高可以嵌套20层;超过20个的“>”会按文本形式输出。值得注意的是区块引用不仅可以嵌套自己,还可以嵌套其他Markdown语法,比如标题、列表、代码块等。
可以自己尝试着把所有的语法一个个嵌套进去玩玩,这里就不做代码演示了。
代码:
>>>>>>>>>>>>>>>>>>>>> 区块引用内容(这里有21个“>”,最后一个会按文本形式输出)
效果:
> 区块引用内容(这里有21个“>”,最后一个会按文本形式输出)
四、代码块
代码块有两种形式,一种是行内代码块,使用“`” 来标记;另一种区块(段落)代码块使用“```”来标记。
1、行内代码块
代码:
行内代码演示:
Java语言的打印语句为:`System.out.printf("test");`
效果:
行内代码演示:
Java语言的打印语句为:System.out.printf("test");
2、区块代码
区块代码引用是可以分编程语言的,比如Java、PHP、C、C++等,注意在“”加上编程语言名称就行,比如:“
java” 、“php”。区块代码也可以以行的形式显示:区块引用前一行必须为文本(可以试一下不是文本),然后再写要引用的区块代码,注意这里的头尾的“
”必须空四格,也就是2个制表符,请看示例。
代码:
Java的代码引用语法:
```java
public class Printf {
public static void main(String[] args) {
System.out.printf("test");
}
}```
php的代码引用语法:
```php
<?php
echo "Hello World!";
?> ```
效果:
Java的代码引用语法:
public class Printf {
public static void main(String[] args) {
System.out.printf("test");
}
}
php的代码引用语法:
<?php
echo "Hello World!";
?>
五、分割线、斜体、加粗、删除
1、分割线
分割线一般使用3个或着3个以上的星号“”、减号“-”、下划线“_”来标记,当然星号“”、减号“-”、下划线“_”之间可以加入空格;还有一个就是“<hr>
”也可以显示为分割线,以下都可以表示为分割线:
代码:
***
---
___
<hr>
效果:
2、斜体、加粗、删除
斜体、加粗、删除一般使用标记符号“”、“_”、“~”,他们是可以嵌套使用*的,直接看代码语法:
代码:
*斜体*
_斜体_
**加粗**
__加粗__
***斜体+加粗***
___斜体+加粗___
~~删除~~
~~***斜体+加粗+删除***~~
效果:
斜体
斜体
加粗
加粗
斜体+加粗
斜体+加粗
删除
斜体+加粗+删除
六、链接
链接有多种形式,最直接的一种使用“<url>”来标记。还有两种,分别是行内链接和参考链接。对于行内链接,直接用“[链接显示的文本](url "鼠标移动到链接显示文本时显示此内容")
”来表示;而对于参考链接,首先使用“[链接显示的文本][id]
”来标记,然后再在文章的任意处写上“[id]:url "鼠标移动到链接显示文本时显示此内容"
”,参考链接两行语法不能相邻写,至少要空一行写,否则不起作用。好像“"鼠标移动到链接显示文本时显示此内容"
”文章发布后不起作用。请看示例:
代码:
<https://www.baidu.com/>
[百度](https://www.baidu.com/ "行内式链接title:baidu")
[百度][baiduid]
[baiduid]:https://www.baidu.com/ "参考式链接title:baidu" (这一句要和上面那句语法隔至少一行)
效果:
七、图片
图片的使用和链接差不多,也有两种:行内式和参考式。
代码:
![中秋](https://img.haomeiwen.com/i10409495/c850b845be64e433.jpg? "行内式图片链接:中秋")
![中秋][zhongqiuid]
[zhongqiuid]:https://img.haomeiwen.com/i10409495/c850b845be64e433.jpg? "参考式图片链接:鲁迅" (这一句要和上面那句语法隔至少一行)
效果:
中秋 中秋
八、表格
表格很简单,只要注意列的对齐方式就行。当然每个单元格内还可以嵌套其他语法,比如加粗、斜线、删除等。
代码:
|列1|列2|列3|
|:---|:---:|---:|
|左对齐|中间对齐|右对齐|
效果:
列1 | 列2 | 列3 |
---|---|---|
左对齐 | 中间对齐 |
九、注脚
注脚用于在正文中对某个词的解释说明,作用当然是对词进行解释和说明。一般在文中做了一个注脚,相应的在文章的最末尾就会产生相应的注脚解释。简书不支持页内跳转,也可以用注脚来实现业内跳转,但是我总觉得这种方式实现页内跳转不太方便。本文所有的标题都用到了注脚,可以直接到文章末尾查看,也可以看下面的示例。
代码:
马云,男,汉族,中共党员<sup>[[1]](#fn1)</sup>,1964年9月10日生于浙江省杭州市,祖籍浙江省。
[1]:[关于改革开放杰出贡献拟表彰对象的公示](http://cpc.people.com.cn/n1/2018/1126/c419242-30420351.html)
效果(这里给“中共党员”做了注脚。点击注脚可以跳转到文章末尾处的注脚解释部分。):
马云,男,汉族,中共党员[1],1964年9月10日生于浙江省杭州市,祖籍浙江省。
十、使用MathJax实现文本居中、改变文本大小和颜色
简书Markdown是支持数学表达式的,像MathJax,主要是使用“$$
”和“$$$$
”符号,“$$
”表示行内的数学表达式;“$$$$
”表示块数学表达式,这种方式可以使得文本居中。
分享几个好的网站:
下面可以看一下示例:
质能守恒方程可以用一个很简洁的方程式 $E=mc^2$ 来表达。
$$\sum_{i=1}^n a_i=0$$
$$f(x_1,x_x,\ldots,x_n) = x_1^2 + x_2^2 + \cdots + x_n^2 $$
$$\Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr)$$
$$
\begin{matrix}
1 & x & x^2 \\
1 & y & y^2 \\
1 & z & z^2 \\
\end{matrix}
$$
显示效果:
质能守恒方程可以用一个很简洁的方程式 来表达。
一般我是使用这条语句“$$\color{green}{\small\mathbf{文本内容}}$$
”来实现文本的居中、改变大小和颜色的,上面说头尾分别两个“$$
”就可以实现文本的居中,而“\color{green}”实现了颜色的改变,这里的参数“green”是可以改变了,参数形式可以直接写“red”、“yellow”等,也可以写成十六进制的形式,比如:“#3f48cc”;而参数“\small”是实现字体大小的,这里可以是“\tiny”、“\small”、“\normalsize”、“\large”、“\Large”、“\LARGE”、“\huge” 和 “\Huge”;而参数“\mathbf”是改变字体样式的,可能的值有“\mathbb or \Bbb”、 “\mathbf”、“\mathit”、“\pmb”、“\mathtt”等,相关内容可以在上面分享的网站中找到。
注意:文本内容最好是英文的,因为如果是中文的话,在手机端或者某些浏览器是显示不出来的。
具体看下面的示例(这里的中文“测试”在手机端没法显示,而“TEST”会显示):
文本居中:
$${\text{测试}}$$
$${\text{TEST:center}}$$
${\text{TEST:left}}$
文本大小(这里的中文“测试”在手机端没法显示,而“TEST”会显示):
$${\tiny\text{测试}}$$
$${\small\text{TEST}}$$
$${\large\text{TEST}}$$
$${\huge\text{TEST}}$$
文本颜色(这里的中文“测试”在手机端没法显示,而“TEST”会显示):
$${\color{red}{\text{测试}}}$$
$${\color{green}{\text{TEST:green}}}$$
$${\color{blue}{\text{TEST:blue}}}$$
$${\color{#3f48cc}{\text{TEST:#3f48cc}}}$$
文本样式(这里的中文“测试”在手机端没法显示,而“TEST”会显示):
$${\text{测试}}$$
$${\mathbb{TEST}}$$
$${\pmb{TEST}}$$
$${\mathscr{TEST}}$$
$${\mathfrak{TEST}}$$
文本居中效果:
文本大小效果:
文本颜色效果:
文本样式效果:
其他
1、Emoji
最后分享几个表情(Emoji,以下使用Emoji来叙述)的在线站点,再提一下“<br>
”用来换行,“&nbap;
”表示英文半角空格,“ 
”表示中文半角空格,“<! -- -->”用来注释。注释的实际使用中“<!”和“--”之间不能有空格,前面“<!”和“--”之间有一个空格,是为了显示出来这个注释的标记语法,如果不空格,就无法显示出来。
Emoji在线站点:Emoji的使用就是直接复制粘贴到文档中。值得注意的是,有些浏览器可能对有些Emoji而言显示不出来,所以在选择Emoji时,选择恰当的就行了。
2、Markdown 与 HTML 的关系
- HTML 是一种发布的格式,Markdown 是一种书写的格式。
- Markdown 的格式语法只涵盖纯文本可以涵盖的范围。
- 在 Markdown 中可直接使用 HTML 标签,但需要注意:
- 对于 HTML 区块元素,如 “div、table、pre、p” 等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符(Tab)或空格来缩进;
- HTML 的行内标签,如“span、cite、del”可以在 Markdown 的段落、列表或是标题里随意使用;
- 在 HTML 的区块标签中的 Markdown 标签是没有效果的;
- 在 HTML 文件中,有两个字符需要特殊处理:“<”和“&”,必须使用转义字符:“<”和“&”;
- Markdown 中,你可以自由的书写“<”和“&”,编辑器会智能的进行判断:当这些符号用于 HTML 标签中,他们将保留原型;当他们单独使用时,将会转换为字符实体;在代码块中,它们将统统被转换为字符实体,即:原样显示。
3、Markdown 中的转义字符
Markdown 中,如需显示有特定意义的符号,如:“*”、“#”等,可使用反斜杠“\”进行转义。
代码:
\*
\`
\*
\_
\{}
\()
\#
\+
\-
\.
\!
效果:
*
`
*
_
{}
()
#
+
-
.
!
4、希望简书支持的功能
- 生成目录索引
- 文章标签(Tags)
- 定义列表和待办事宜(Todo列表)
- 数学公式
- 各种图形:流程图、时序图、甘特图
- 区块代码中显示行号
[1]. 关于改革开放杰出贡献拟表彰对象的公示 ↩
参考(抄袭)文章:【简书MD语法大全】🔓解锁简书markdown语法.(作者:辛德瑞拉Dangerous。链接:https://www.jianshu.com/p/af18fafd9e6f)
网友评论