关于简书 MarkdownMarkdown 语法的目标: 成为一种适用于网络的书写语言。 本文的目的:使读者轻松了解简书对 Markdown 语法的支持,了解其优点和不足。能够在选择时正确取舍,使用时得心应手。
一、区块标记区块标记:是指内容独占一块,需前后换行,不和其他标记共处一行的标记。 1. 段落段落:即是一段连续的文字,可包含*、空格、换行、tab等字符。两个段落之间使用空行分隔。 示例代码 第一自然段第二自然段
效果 第一自然段 第二自然段
注意:换行不是分段的标识,空行才是 2. 标题标题:代表了文章中主题的层次,比如:文章标题使用一级标题,回目名称使用二级标题,小节使用三级标题,依次类推。主题的层次代表了文章的大纲。 语法:Markdown 中使用连续的 n(1-6) 个 # 分别表示第 n 级标题。 示例代码 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题
效果 一级标题二级标题三级标题四级标题五级标题六级标题
注:# 和后续内容之间应放置一个空格 3. 列表列表:就是一组相关信息的集合。简书中的列表分为 有序列表 和 无序列表。 1) 有序列表语法:使用 数字 + . 作为项目符号,项目符号和正式列表项目之间有一个空格。 示例代码 1. 打开冰箱门2. 把大象放进冰箱3. 关上冰箱门
效果 - 打开冰箱门
- 把大象放进冰箱
- 关上冰箱门
2) 无序列表语法:使用 * 作为项目符号,项目符号和正式列表项目之间有一个空格。 示例代码 * 吃饭* 睡觉* 打豆豆
效果 注意事项: - 无序列表的项目符号可使用 *,+,- 效果是相同的。
- 列表与后续内容之间需要一个空行隔开,即:列表是一个段落
- 列表允许多层次嵌套
- 可以在项目中包含段落,只需将段落前添加一个 tab 或 4 个空格
4. 分割线语法:使用 3 个连续的 * 即可得到一个分割线 示例代码 ***
效果
5. 引用语法:在行头加上 > 即可。 这里是一段引用
注意事项: - 大于号 和 文字必须有一个空格
- 可以在每行之前加 > ,也可以在段落之前加 1 个 >
- 引用内部可以使用其他 Markdown 标记
引用内部可以添加新的引用,只需再加一个大于号
二、行内标记行内标记和其他标记共处一行。 1. 强调文字1) 斜体语法:使用前后各 1 个 *(或_) 包含的文字是 斜体 文字 示例代码 *斜体*, _斜体_
效果 斜体, 斜体
2) 粗体语法:使用前后各 2 个 *(或_) 包含的文字是 粗体 文字 示例代码 **粗体**,__粗体__
效果 粗体,__粗体__
3) 删除文字语法:使用前后各 2 个 ~ 包含的文字是删除文字 示例代码 ~~删除~~
效果 删除
4) 粗斜体语法:在**(或__)中嵌套_ (或*) 或 在_(或*)中嵌套**(或__)即可得到 粗斜体。 示例代码 _**粗斜体**_, *__粗斜体__***_粗斜体_**, __*粗斜体*__
效果 粗斜体, 粗斜体 粗斜体, 粗斜体
2. 图片与链接1) 图片:行内图片、引用图片1> 行内图片 图片和图片地址写在一起。 语法:  示例代码 
效果  史努比
注意事项 在简书中,图片可以直接拖到编辑区,会自动上传图片并生成图片地址。本功能是简书提供的一大便利,值得表扬!
2> 引用图片 图片和图片地址分开书写。 语法:
![图片标题][图片id]
[图片id]:图片url 示例代码: ![史努比][snoopy][snoopy]: http://image106.360doc.com/DownloadImg/2017/06/0418/100889346_1
效果  史努比
注意事项 引用图片的 id 在文章中必须唯一
2) 链接:行内链接、链接引用、自动链接1> 行内链接 语法:[链接名称](链接地址 url '链接title') 示例代码 [新浪](http://www.sina.com.cn '新浪主页')
效果 新浪
注意事项 双引号中的内容是链接的 title (目前汉字显示不正确)
2> 链接引用 一种链接和地址分离的方式。 语法:
[链接名称][链接id]
[链接id]:链接 url 地址 '链接 title' 示例代码 根据 [雅虎][yahoo] 的调查,希拉里将当选;根据 [谷歌][google] 的调查,川普将当选。[yahoo]: http://search.yahoo.com/ 'Yahoo Search'[google]: http://google.com/ 'Google'
效果 根据 雅虎 的调查,希拉里将当选;根据 谷歌 的调查,川普将当选。 注意事项 链接 id 可使用字母、数字、空格,但不区分大小写
3> 自动链接 一种简明的链接书写方式 语法:<链接地址>链接地址> 示例代码
效果 http://www.sina.com.cn
3. 脚注为名词提供注释,注释将显示在文章末尾。 语法:
待解释文字[^脚注 id]
[^脚注 id]:注释内容 示例代码 Hello程序[^hello][^hello]:即:Hello, world 程序
效果 Hello程序[1] 注意事项- 脚注 id 必须唯一
- 无论脚注 id 如何起名,显示时一律标为数字,并且按出现顺序排列
三、双标记既可作为区块标记又可作为行内标记的标记。 1. 代码块1) 行内代码块语法:使用两个 ` 将代码包含起来 示例代码 在 Java 输出 Hello, world :`System.out.print('Hello, World!');`
效果 在 Java 输出 Hello, world :System.out.print('Hello, World!');
2) 多行代码块语法:只需要每行都缩进 4 个空格即可,或者使用```框起来。 示例代码 1 (行前4个空格) // JQuery 的 Hello, world $(function(){ alert('Hello, world!') });
效果(行前4个空格) // JQuery 的 Hello, world$(function(){ alert('Hello, world!')});
示例代码 2 (```) ``` // JQuery 的 Hello, world $(function(){ alert('Hello, world!') }); ```
效果 (```) // JQuery 的 Hello, world$(function(){ alert('Hello, world!')});
注意事项: - 在代码区块内部,', <>,& 将会自动转换为转义字符
- 在代码区块内部,Markdown 标记将保持原样,即:星号(*)就是星号(*),不被解释为特殊标记,这样就可以不能继续使用 Markdown 语法了
四、表格语法: - 第一行为表头,第二行分隔表头和主体部分,第三行开始每一行为一个表格行。
- 列于列之间用管道符 | 隔开。表格每一行两边的管道符可省略。
- 第二行还可以为不同的列指定对齐方向。标题默认为居中对齐,内容默认为左对齐;在 - 左边加上 : 就是左对齐;在 - 右边加上 : 就是右对齐;在 - 两边都加上 : 就是居中对齐。
示例代码 姓名|语文成绩|数学成绩|总成绩---|:---|:---:|---:喜羊羊|100|120|220
效果 | 姓名 | 语文成绩 | 数学成绩 | 总成绩 |
|---|
| 喜羊羊 | 100 | 120 | 220 |
五、其他问题1. Markdown 与 HTML 的关系- HTML 是一种发布的格式,Markdown 是一种书写的格式。
- Markdown 的格式语法只涵盖纯文本可以涵盖的范围。
- 在 Markdown 中可直接使用 HTML 标签,但需要注意
- 对于 HTML 区块元素――如 div、table、pre、p 等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符(tab)或空格来缩进
- HTML 的行内标签——如 span、cite、del 可以在 Markdown 的段落、列表或是标题里随意使用。
- 在 HTML 的区块标签中的 Markdown 标签是没有效果的
2. 特殊字符的自动转换- 在 HTML 文件中,有两个字符需要特殊处理: < 和="" &,必须使用转义字符:&="" lt="" ;="" 和="" &="" amp="">
- Markdown 中,你可以自由的书写 < 和="" &,编辑器会智能的进行判断:当这些符号用于="" html="">
- 在代码块中,它们将统统被转换为字符实体,即:原样显示。
3. Markdown 中的转义字符Markdown 中,如需显示有特定意义的符号,如:*,# 等,可使用 反斜杠 \ 进行转义。可对如下字符进行转义: *`*_{}()#+-.!
六、简书尚不支持的标记和不足- 用于生成目录索引的 [TOC]
- 用于说明文章标签的 tags
- 定义列表和待办事宜 Todo 列表
- 数学公式
- 各种图形:流程图、时序图、甘特图
- 其他技术,如:{mermaid}
- 区块代码中不显示行号
七、给简书的一点建议- 对于普通用户来讲,定义列表、生成目录索引和文章标签功能是十分必要的,希望能够尽快增加这些功能。希望能够实现预览图和编辑器的同步滚动功能。
- 对于理工狗来讲,编辑 LaTex 数学公式是非常必要的功能,希望能够尽快增加这个功能。
- 对于代码狗来讲,区块代码中显示行号,以及流程图、时序图是非常必要的功能,希望能够尽快增加这些功能。
- 其他的诸如:待办事宜列表、甘特图,mermaid等功能,可以慢慢实现。
跋由于本人初来乍到,水平有限,难免有疏漏错误,万望指教,不胜感激。
[1]:即:Hello, world 程序 ?
|