(原创不易,转载请注明原作者及原文链接)
一、标题
行首插入 1 到 6 个 #
分别生成一到六级标题。如:
# 一级标题
## 二级标题
### 三级标题
效果如下:
一级标题
二级标题
三级标题
二、分隔线
一行单独包含 3 个及以上的 *
或 _
生成一条贯穿整行的分隔线。如:
## 二级标题
********************
正文
效果如下:
二级标题
正文
三、段落
一段连续的文字即成一个段落,段落与段落之间至少需要一个空行。单纯的回车换行不会生成段间距。如:
这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。
这是第二个段落。
这是第三个段落。
效果如下:
这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。
这是第二个段落。这是第三个段落。
四、列表
无序、有序
行首插入 1 个 *
或 +
或 -
即可生成无序列表。行首插入 1.
、2.
、3.
、……即可生成有序列表。注意:符号与文本之间必须要有 1 个空格。如:
+ 无序列表
+ 无序列表
+ 无序列表
1. 有序列表
2. 有序列表
3. 有序列表
效果如下:
- 无序列表
- 无序列表
- 无序列表
- 有序列表
- 有序列表
- 有序列表
段间距
如果希望列表的列表项之间有段落的段间距效果,需要在列表项之间插入一行空行。如:
+ 无序列表
+ 无序列表
+ 无序列表
效果如下:
无序列表
无序列表
无序列表
多个段落
如果希望列表项包含多个段落,需要在列表项的附属段落文本之前插入 4 个空格。如:
+ 这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。
这是第一个段落的附属段落。
+ 这是第二个段落。
效果如下:
这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。
这是第一个段落的附属段落。
这是第二个段落。
多级列表
列表项前插入空格即可增加列表级数,相同空格数为同一级别。空格数不同,则空格数多的级别较高。建议以 4 个空格为单位进行缩进,以确保正确显示。如:
1. 有序列表
* 无序列表
* 无序列表
* 无序列表
* 无序列表
2. 有序列表
效果如下:
- 有序列表
- 无序列表
- 无序列表
- 无序列表
- 无序列表
- 有序列表
代码块
如果希望列表项包含代码块,需要在列表项的代码块文本之前插入 8 个空格。如:
+ 这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。
这是第一个段落的代码块。
+ 这是第二个段落。
效果如下:
这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。这是第一个段落。
这是第一个段落的代码块。
这是第二个段落。
五、引用块
行首插入 >
即可生成引用块。引用块里可以嵌套 Markdown 语法。如:
你可以这样使用分隔符:
> # 二级标题
> ********************
> 正文
效果如下:
你可以这样使用分隔符:
二级标题
正文
六、代码
行内代码
在代码文本两侧分别插入 1 个 `
。注意:这个键位于键盘 Esc
键下方。如果代码文本中包含 `
,则需要在代码文本两侧分别插入 2 个 `
,并且如果代码文本首尾就是 `
,还需要插入空格。如:
Chrome浏览器可以使用 `Ctrl + Shift + T` 组合键打开刚刚关闭的网页
以上就是 `` ` `` 的常见用法
效果如下:
Chrome浏览器可以使用
Ctrl + Shift + T
组合键打开刚刚关闭的网页
以上就是`
的常见用法
代码块
在行首插入 4 个空格即可生成代码块。也可以在代码文本的前后插入空行,并插入 3 个 `
让整个代码文本生成代码块。如:
假设你想将一个行为重复 n 次,并且行为与已重复的次数相关,你可以编写如下方法:
public static void repeat(int n, IntConsumer accept) {
for (int i = 0; i < n; i++) {
accept.accept(i);
}
}
然后可以这样去调用它:
```
public static void main(String[] args) {
repeat(10, (i) -> System.out.println("Count down: " + (9 - i)));
}
```
效果如下:
假设你想将一个行为重复 n 次,并且行为与已重复的次数相关,你可以编写如下方法:
public static void repeat(int n, IntConsumer accept) { for (int i = 0; i < n; i++) { accept.accept(i); } }
然后可以这样去调用它:
public static void main(String[] args) { repeat(10, (i) -> System.out.println("Count down: " + (9 - i))); }
高亮规则
代码块会根据代码内容自动匹配高亮规则,如果你对匹配结果不满意,也可以用关键字进行指定。如:
``` markdown
<http://www.jianshu.com/>
```
效果如下:
<http://www.jianshu.com/>
经测试,简书支持的部分关键字如下:
coffeescript
cpp
css
java
javascript
json
markdown
matlab
objectivec
perl
php
python
ruby
scala
scheme
sql
tex
xml
欢迎在评论区补充。
七、链接
行内式
要显示的链接文字写在 []
里面,紧跟在后面的链接地址写在 ()
里面。如果需要鼠标悬浮在链接文字上时有额外的文字提示,可以在链接地址后面加 1 个空格,并写在 ""
里面。如:
[简书](http://www.jianshu.com/ "随时随地发现和创作内容")
效果如下:
参考式
你也可以提前写好链接,并赋于 id 值,然后在文章中需要链接的地方通过 id 值进行插入。注意:id 可以是字母、数字、空白和标点符号,但是并不区分大小写。如:
[jianshu]: http://www.jianshu.com/ "随时随地发现和创作内容"
[简书][jianshu]
效果如下:
简单链接、邮箱
你还可以以更简单的形式提供链接或邮箱。如:
<http://www.jianshu.com/>
<contact@jianshu.com>
效果如下:
八、图片
图片与链接插入方式基本相同,只是前面多加了 !
,也分为行内式和参考式。如:
![头像](http://upload-images.jianshu.io/upload_images/6967706-8cfcefeb48045bd5.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 "震惊中的萌娃")
[touxiang]: http://upload-images.jianshu.io/upload_images/6967706-8cfcefeb48045bd5.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 "震惊中的萌娃"
![头像][touxiang]
效果如下:
九、强调
在需要强调的文本两侧分别插入 1 个 *
或 _
可使文本倾斜显示,插入 2 个 *
或 _
可使文本加粗显示,插入 2 个 ~
可使文本拥有删除效果,不同效果还可以叠加。
语法与效果如下:
语法 | 效果 |
---|---|
*倾斜* |
倾斜 |
**加粗** |
加粗 |
~~删除线~~ |
|
***倾斜&加粗*** |
倾斜&加粗 |
*~~倾斜&删除线~~* |
|
**~~加粗&删除线~~** |
|
***~~倾斜&加粗&删除线~~*** |
十、特殊字符转义
如果你在文本而非代码块中插入 Markdown 语法所使用的那些特殊字符,可能会出现意料之外的渲染结果。你需要在特殊字符之前插入 \
来使它们正确显示。
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
\ 反斜线
` 反引号
* 星号
_ 底线
{} 花括号
[] 方括号
() 括弧
# 井字号
+ 加号
- 减号
. 英文句点
! 惊叹号
十一、表格
表格分为表头、对齐方式、表体 3 个部分,缺一不可。单元格之间使用 |
分隔。对齐方式分为默认、左对齐、居中对齐、右对齐 4 种形式。注意:表格前后要留有空行。多余的空白符和 -
可以使源码看起来不那么糟糕,对渲染结果没有影响。如:
默认 | 左对齐 | 居中对齐 | 右对齐
------- | :------ | :-----: | -------:
对齐效果 | 对齐效果 | 对齐效果 | 对齐效果
效果如下:
默认 左对齐 居中对齐 右对齐 对齐效果 对齐效果 对齐效果 对齐效果
表格内换行
使用 HTML 的 <br>
标签进行换行。如:
标签 | 说明
------ | -----
`<br>` | 这是一个 HTML 标签<br>使用该标签可以强制换行
效果如下:
标签 | 说明 |
---|---|
<br> |
这是一个 HTML 标签 使用该标签可以强制换行 |
十二、让文档更美观、易读
- 在二级标题下方使用分隔符
- 段落之间插入空行让段落拥有段间距
-
「关键字」用
「」
而不是“”
来标记,并考虑使用加粗效果 - 在数字、英文单词、行内代码等文本的两边各插入 1 个半角空格
十三、参考资料
(原创不易,转载请注明原作者及原文链接)