文章目录
一、标题
1. 主标题
在想要设置为标题的文字前面加#来表示
一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。
注:标准语法一般在#后跟个空格再写文字,貌似简书不加空格也行。
示例:
# 这是一级标题(#)
## 这是二级标题(## )
### 这是三级标题(### )
#### 这是四级标题 (#### )
##### 这是五级标题(#####)
###### 这是六级标题 (###### )
2.分级标题
注:= - 最少可以只写一个,兼容性一般
======================
二级标题
---------------------
3. TOC
注:根据标题生成目录,兼容性一般
@[toc]
二、字体
加粗
要加粗的文字左右分别用两个*号包起来
斜体
要倾斜的文字左右分别用一个*号包起来
斜体加粗
要倾斜和加粗的文字左右分别用三个*号包起来
删除线
要加删除线的文字左右分别用两个~~号包起来
示例:
这是加粗的文字(这是加粗的文字)
这是倾斜的文字(*这是倾斜的文字*
)
这是斜体加粗的文字 (这是斜体加粗的文字)
这是加删除线的文字 (这是加删除线的文字)
三、引用
在引用的文字前加>即可。引用也可以嵌套,如加两个>>三个>>>
n个…
貌似可以一直加下去,但没神马卵用
单行式
> 第一行
效果:
第一行
多行式
> 第一行
第二行
第三行
或者这样:
> 第一行
> 第二行
> 第三行
效果:
第一行
第二行
第三行
>这是引用的内容
>>这是引用的内容
>>>>>>>>>>这是引用的内容
多层嵌套
四、分割线
三个或者三个以上的 - 或者 * 都可以。
示例:
效果如下:
可以看到,显示效果是一样的。
五、图片,视频
1. 内链式
[图片上传失败...(image-90880b-1542510791300)]
2. 引用式
![name][01]
[01]: ./01.png '描述'
语法:
![图片alt](图片地址 ‘‘图片title’’)
图片alt就是显示在图片下面的文字,相当于对图片内容的解释。
图片title是图片的标题,当鼠标移到图片上时显示的内容。title可加可不加
示例:
![blockchain](https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/
u=702257389,1274025419&fm=27&gp=0.jpg “区块链”)
视频插入
注:Markdown 语法是不支持直接插入视频的
普遍的做法是 插入HTML的 iframe 框架,通过网站自带的分享功能获取,如果没有可以尝试第二种方法
第二是伪造播放界面,实质是插入视频图片,然后通过点击跳转到相关页面
注:多数第三方平台不支持插入>视频
代码1
<iframe height=498 width=510 src='http://player.youku.com/embed/XMjgzNzM0NTYxNg==' frameborder=0 'allowfullscreen'></iframe>
代码2
[[图片上传失败...(image-49aefe-1542510791300)]](http://v.youku.com/v_show/id_XMjgzNzM0NTYxNg==.html?spm=a2htv.20009910.contentHolderUnit2.A&from=y1.3-tv-grid-1007-9910.86804.1-2#paction){:target="_blank"}
六、超链接
1. 内链式
{:target="_blank"}跳转方式兼容性一般 ,多数第三方平台不支持跳转
[百度1](http://www.baidu.com/" 百度一下"){:target="_blank"}
2.引用式
[百度2][2]{:target="_blank"}
[2]: http://www.baidu.com/ "百度二下"
语法:
超链接名
title可加可不加
示例:
[简书](http://jianshu.com)
[百度](http://baidu.com)
注:Markdown本身语法不支持链接在新页面中打开,貌似简书做了处理,是可以的。别的平台可能就不行了,如果想要在新页面中打开的话可以用html语言的a标签代替。
<a href="超链接地址" target="_blank">超链接名</a>
示例
<a href="https://www.jianshu.com/u/1f5ac0cf6a8b" target="_blank">简书</a>
七、列表
1.无序列表
语法:
无序列表用 - + * 任何一种都可以
- 列表内容
+ 列表内容
* 列表内容
* one
* two
* three
效果:
- one
- two
- three
2.有序列表
注意:- + * 跟内容之间都要有一个空格
注:序列.后 保持空格
- 列表内容
+ 列表内容
* 列表内容
效果如下:
- 列表内容
- 列表内容
- 列表内容
语法:
数字加点
1. one
2. two
3. three
效果:
- one
- two
- three
3.列表嵌套
上一级和下一级之间敲三个空格即可
1. one
1. one-1
2. two-2
2. two
* two-1
* two-2
效果:
- one
- one-1
- two-2
- two
- two-1
- two-2
列表嵌套代码块:
换行+两个Tab
* one
var a = 10; // 与上行保持空行并 递进缩进
效果:
-
one
var a = 10; // 与上行保持空行并 递进缩进
4. 任务列表
兼容性一般 要隔开一行
这是文字……
- [x] 选项一
- [ ] 选项二
- [ ] [选项3]
效果:
这是文字……
- 选项一
- 选项二
- [选项3]
八、表格
:代表对齐方式 ,** : 与 | 之间不要有空格**,否则对齐会有些不兼容
代码1
表头|表头|表头
---|:--:|---:
内容|内容|内容
内容|内容|内容
第二行分割表头和内容。
- 有一个就行,为了对齐,多加了几个
文字默认居左
-两边加:表示文字居中
-右边加:表示文字居右
注:原生的语法两边都要用 | 包起来。此处省略
代码2:
姓名 | 技能 | 排行 |
---|---|---|
刘备 | 哭 | 大哥 |
关羽 | 打 | 二哥 |
张飞 | 骂 | 三弟 |
代码3:
| a | b | c |
|:-------:|:------------- | ----------:|
| 居中 | 左对齐 | 右对齐 |
|=========|===============|============|
效果:
a | b | c |
---|---|---|
居中 | 左对齐 | 右对齐 |
========= | =============== | ============ |
代码4:(简约写法)
a | b | c
:-:|:- |-:
居中 | 左对齐 | 右对齐
============|=================|=============
代码5:(特殊表格)
注:一般对合并单元格,以及其他特殊格式表格,markdown 是无能为力的
所以常规的做法是使用HTML标签,但是这样的编写效率极低。
但是有了这款工具的话,所有问题都迎刃而解。
在线生成HTML代码 Tables Generator (国外的站)
代码6:(支持内嵌CSS样式)
<p style="color: #AD5D0F;font-size: 30px; font-family: '宋体';">内联样式</p>
九、代码
1.行内标记
用 ` 标记代码块将变成一行
标记之外`hello world `标记之外
效果:
标记之外hello world
标记之外
语法:
单行代码:代码之间分别用一个反引号包起来
`代码内容`
2. 代码块
- 代码块:代码之间分别用三个反引号包起来,且两边的反引号单独占一行
用```生成代码块
(```)
function fun(){
echo "这是一句非常牛逼的代码";
}
fun();
(```)
() 代码... 代码... 代码... (
)
注:为了防止转译,前后三个反引号处加了小括号,实际是没有的。这里只是用来演示,实际中去掉两边小括号即可。
- Tab 缩进
我是文字……
<div>
<div></div>
<div></div>
<div></div>
</div>
效果:
我是文字……
-
自定义语法
可以根据不同的语言配置不同的代码着色
(```javascript
var num = 0;
for (var i = 0; i < 5; i++) {
num+=i;
}
console.log(num);
```)
效果:
var num = 0;
for (var i = 0; i < 5; i++) {
num+=i;
}
console.log(num);
十、流程图
代码1
(```mermaid
flowchat // 流程
st=>start: 开始|past:> http://www.baidu.com // 开始
e=>end: 结束 // 结束
c1=>condition: 条件1:>http://www.baidu.com[_parent] // 判断条件
c2=>condition: 条件2 // 判断条件
c3=>condition: 条件3 // 判断条件
io=>inputoutput: 输出 // 输出
//----------------以上为定义参数-------------------------
//----------------以下为连接参数-------------------------
// 开始->判断条件1为no->判断条件2为no->判断条件3为no->输出->结束
st->c1(yes,right)->c2(yes,right)->c3(yes,right)->io->e
c1(no)->e // 条件1不满足->结束
c2(no)->e // 条件2不满足->结束
c3(no)->e // 条件3不满足->结束
```)
代码2
(```mermaid)
flowchat
st=>start: 开始
op=>operation: 操作
cond=>condition: Yes or No?
e=>end
st->op->cond
cond(yes)->e
cond(no)->op
(&```)
效果:
十一、时序图
代码
(```mermaid)
sequenceDiagram
A->>B: 你好
Note left of A: 我在左边 // 注释方向,只有左右,没有上下
Note right of B: 我在右边
B-->>A: 很高兴认识你
(```)
效果
代码2
(```mermaid)
sequenceDiagram
起床->>吃饭: 稀饭油条
吃饭->>上班: 不要迟到了
上班->>午餐: 吃撑了
上班->>下班:
Note right of 下班: 下班了
下班->>回家:
Note right of 回家: 到家了
回家-->>起床:
Note left of 起床: 新的一天
(```)
十二、其他
1.脚注
Markdown[^1]
[^1]: Markdown是一种纯文本标记语言 // 在文章最后面显示脚注
效果:
Markdown[^1]
2.锚点
只有标题支持锚点, 跳转目录方括号后 保持空格
[公式标题锚点](#1)
### [需要跳转的目录] {#1} // 方括号后保持空格
效果:
公式标题锚点
3.定义型列表
解释型定义
Markdown
: 轻量级文本标记语言,可以转换成html,pdf等格式 // 开头一个`:` + `Tab` 或 四个空格
代码块定义
: 代码块定义……
var a = 10; // 保持空一行与 递进缩进
效果:
-
代码块定义
-
代码块定义……
var a = 10; // 保持空一行与 递进缩进
5.自动邮箱链接
代码
<xxx@outlook.com>
效果:
xxx@outlook.com
6.分割符
最少三个 — 或 ***或 * * *
代码1
***
---
* * *
效果:
7.公式{#1}
注:1个$左对齐,2个居中
代码1
$$ x \href{why-equal.html}{=} y^2 + 1 $$
$ x = {-b \pm \sqrt{b^2-4ac} \over 2a}. $
效果:
x
=
y
2
+
1
x \href{why-equal.html}{=} y^2 + 1
x=y2+1
$ x = {-b \pm \sqrt{b^2-4ac} \over 2a}. $
8.格式化文本
保持输入排版格式不变
注:对内含标签需要破坏结构才能显示
代码1
<pre>
hello world
hi
hello world
</pre>
效果:
hello world hi hello world
9.语义标记
描述 | 代码 | 效果 |
---|---|---|
斜体 | 斜体 | 斜体 |
斜体 | 斜体 | 斜体 |
加粗 | 加粗 | 加粗 |
加粗+斜体 | 加粗+斜体 | 加粗+斜体 |
删除线 | 删除线 |
10.语义标签
描述 | 代码 | 效果 |
---|---|---|
斜体 | 斜体 | 斜体 |
加粗 | 加粗 | 加粗 |
强调 | 强调 | 强调 |
上标 | Za | Za |
下标 | Za | Za |
键盘文本 | Ctrl | Ctrl |