[说明文档] Markdown

发布于 2019-11-16  84 次阅读


Markdown是一种用于很多博客、评论区的标记语言,最常见的用处是github中的README.md。

本站的评论也支持Markdown,以Parsedown为标准

图标含义:

属于Markdown标准

在代码块中仍然起作用(因此危险),并且不能用 \ 字符屏蔽。

仅适用于此处(多以短码形式体现)

无法使用“只使用HTML”功能屏蔽

警告:误区

有的人一看到支持Markdown就打 [url=https://www.baidu.com/]百度一下[/url]。注意,这是 BBCode 而不是 Markdown,因此在此处不工作。

说明:这不是Markdown。Markdown超链接格式是 [链接文字](https://example.com/ "悬停提示")

分段与换行

第一段

第二段.1
第二段.2

在Markdown中,空一行代表分段。

段内回车会造成不分段的换行。(注意,Markdown 标准中并非如此)

段落的内容不可使用Tab或空格缩进。

第一段

第二段.1  
第二段.2

标题

一级标题

一级标题2

二级标题

二级标题2

三级标题

四级标题

五级标题
六级标题

行首的 # 表示此行是标题,标题级别等于 # 的数量。在 # 之后,需要加一个空格。

在一行文字下方加上 ---(数量可以更多) 也可以表示二级标题,加上 ===(数量可以更多) 也可以表示一级标题。

一般来说,标题从二级标题开始用,即始终不使用一级标题。

# 一级标题

一级标题2
===

## 二级标题

二级标题2
---

### 三级标题

#### 四级标题

##### 五级标题

###### 六级标题

粗体、斜体和删除线

粗体
斜体
粗斜体
混合语法test
删除线
混合语法test

一对 ** 之间的文本是粗体,一对 * 之间的文本是斜体,一对 ~~ 表示删除线。

**粗体**
*斜体*
***粗斜体***
*混合**语法**test*
~~删除线~~
~~*混合**语法**test*~~

如果需要在文章中使用 * ~ _ 等字符,则需要在这些字符前面添加 \

*这不是斜体*

**这不是加粗**

*这不是斜体\*

\*\*这不是加粗\*\*

分割线



三个或以上连续(或中间有换行符)的 -* 表示分割线。

****

---

同样,通过在每个字符前加上 \ 可以避免被转换为分割线。-* 混用不表示分割线。

---

****

-*-

-\-\-

\*\*\*\*

-*-

列表与列表嵌套

  • 无序表
  1. 有序表
  • 嵌套无序表
    • 嵌套项1
    • 嵌套项2
  1. 嵌套有序表
    1. 嵌套项1
    2. 嵌套项2

可以用 - + * 作为无序表符号,符号后要有空格。同一个无序表中使用的符号要统一。

在数字编号后加一个句点,然后空格,会自动生成有序表。嵌套的有序表会自动设定能够体现嵌套的序号。

有序表的数字编号如果是错的,会被自动更正。

以上两者均可以用缩进法实现嵌套(缩进为2个空格)。有序表嵌套和无序表相同。

- 无序表
- 二
- 三

1. 有序表
2. 二
3. 三

- 嵌套无序表
- 二
  - 嵌套项1
  - 嵌套项2
- 三

1. 嵌套有序表
4. 二
  1. 嵌套项1
  2. 嵌套项2
3. 三

如果不希望内容被识别为有序或无需列表,可以妥善使用 \ 符号。

- 这不是列表
- 这也不是列表
- 这还是不是列表

1. 这不是列表
2. 这也不是列表
3. 这还是不是列表

- 这不是列表
\- 这也不是列表
\- 这还是不是列表

1\. 这不是列表
2\. 这也不是列表
3\. 这还是不是列表

引用

引用文本1.2

引用文本2.1

引用

引用的引用或引用中的引用。(禁止套娃)
Markdown基础语法仍然可以用于引用内容。

但是其样式可能会有不同。

> 引用文本1.1

> 引用文本1.2

> 引用文本2.1

> 引用
> > 引用的引用或引用中的引用。
> **Markdown**基础语法**仍然可以**用于引用内容。
> ### 但是其样式可能会有不同。

链接与图片

百度一下

替代文本

链接语法为 [链接文字](https://example.com/ "悬停提示")

图片语法类似 ![替代文本](https://vjudge.net/static/images/beiju.jpg "悬停提示")。(图片无法加载时会以“替代文本”来取代图片)

注意网址一定要加上 https:// 等协议标志。如果不加上,将会引用相对资源,即如果文章页面是 https://ak-ioi.com/114514-a-cup-of-null-juice/,你给出的网址是 www.baidu.com/favicon.ico,那么引用的图片将是 https://ak-ioi.com/114514-a-cup-of-null-juice/www.baidu.com/favicon.ico,当然无法加载。

本站由于某些原因不允许以 http:// 形式给出的图片。如果图片是 http:// 的,那么请换成 https://,或者将这张图片上传到图床引用。

过多的超链接可能导致你的评论被判为垃圾。故意加载无效资源拖慢页面加载将造成严重后果(如果被发现)。

[百度一下](https://www.baidu.com/?from=toxic2018.ml "百度一下")

![替代文本](https://vjudge.net/static/images/beiju.jpg "vjudge的卧槽")

网站并不会正确识别链接。

http://vjudge.net/problem/description

https://vjudge.net/problem/description

插入简单HTML

这是一个图标:

有时候 Markdown 并无法满足你的编辑要求。此时允许直接插入简单的 HTML 代码。试图遮盖页面的评论会被阻止。含有行为的 HTML 代码会被过滤掉。

评论和文章编辑(如果用户被授权)仅支持极少的 HTML,其余 HTML 标签将被直接删除。请尽量避免这种情况。

这是一个图标:<span class="fa fa-home"></span>

只使用HTML

如果你是专业人士,你可能只希望用 HTML 构建你的评论或文章,而不经过 Markdown。实现方法很简单,在任意位置加入 <!--PARSEDOWN_DO_NOT_PARSE--> 即可。

示例见评论区。

插入代码

这是一段行内代码:print("Hello, world!")

这是一长串代码:

//请勿尝试运行。若运行后果自负
#include<bits/stdc++.h>
#include<windows.h>
#include<winable.h>
using namespace std;

int main(){
    cout<<"你自由了!"<<endl;
    FreeConsole();
    while(1){
        BlockInput(1);
    }
}

在行内贴代码时,在代码两端加上 "`" 符号。

长串代码切忌直接粘贴(这甚至会导致“用标题行强调头文件重要性”的局面),应当在前后各加三个 "`"。如果需要代码高亮,请在代码前的符号后面直接跟上语言。如"cpp"。

这是一段行内代码:`print("Hello, world!")`

这是一长串代码:
```cpp
//请勿尝试运行。若运行后果自负
#include<bits/stdc++.h>
#include<windows.h>
#include<winable.h>
using namespace std;

int main(){
    cout<<"你自由了!"<<endl;
    FreeConsole();
    while(1){
        BlockInput(1);
    }
}

```

表格

姓名 语文 数学 总分
A 82 100 182
B 10 3 13
C 99 95 194

表格不需要对齐。

| 姓名    | 语文 | 数学 | 总分 |
| ------- | ---- | ---- | ---- |
| A       | 82   | 100  | 182  |
| B       | 10   | 3    | 13   |
| C       | 99   | 95   | 194  |

LaTeX / 数学公式

将 LaTeX 代码包含在两个 $ 字符中,可创建行内公式。

将 LaTeX 代码包含在左右各两个 $ 中,并且独立成行,会生成多行公式并居中。

这是一个公式:a^2 + b^2 = c^2

这是一个多行居中公式:

I\ AK\ IOI

这是一个公式:$a^2 + b^2 = c^2$

这是一个多行居中公式:

$$I\ AK\ IOI$$

利用 LaTeX,甚至可以做出超出公式范围的、有趣而有害的排版。

要使用 LaTeX,必须在评论开头加上 <!--Written with editor.md-->

特殊格式

有颜色的文字

标记文本

不可告人的东西

文本颜色:使用 [FMTcolor=red]文本[/FMTcolor] 即可。
背景颜色:使用 [FMTbcolor=red]文本[/FMTbcolor] 即可。
请注意:只能使用 red blue green 基本单词作为颜色,不支持颜色代码

这是在代码块中仍然会被处理的代码。“文字颜色”功能属于本站特有,不属于Markdown标准。此后的功能都是本站特有。同样的,此后功能在代码块中也会被处理(因此在代码块中使用这些内容时要注意)。

[FMTcolor=red]有颜色[/FMTcolor][FMTcolor=blue]的文字[/FMTcolor]

[FMTbcolor=yellow]标记文本[/FMTbcolor]

[FMTredacted]不可告人的东西[/FMTredacted]

屏蔽器[blank]

下面是一些危险的代码:

<!--PARSEDOWN_DO_NOT_PARSE--> ——不能直接打出,否则Markdown会失效(见“只使用HTML”章节)

[FMTcolor=red]示例文字[/FMTcolor] ——不能直接打出,否则会被理解成是文字颜色(见“文字颜色”章节)

### 标题行 ——不能直接打出,否则会变成标题。

[blank] ——不能直接打出,否则会被清除。

实际上,这些代码的打法大同小异。在本站,如果使用 Markdown,那么系统会自动清除文档中的 [blank]。因此,在想打出“有活性”(即,会被Markdown和本站系统处理的代码)时,可以在这个代码中插入一个 [blank],使其失去活性。而输入的 [blank] 则会自动清除,不会影响视觉效果。实际上,本站上利用中括号处理的代码都是不能直接放进代码块的,此时也要用 [blank] 分隔。

下面是一些危险的代码:

`<!--PARSEDOWN[blank]_DO_NOT_PARSE-->`  ——不能直接打出,否则Markdown会失效(见“只使用HTML”章节)

[FMTcol[blank]or=red]示例文字[/FMTc[blank]olor]  ——不能直接打出,否则会被理解成是文字颜色(见“文字颜色”章节)

[blank]### 标题行  ——不能直接打出,否则会变成标题。

[bla[blank]nk]  ——不能直接打出,否则会被清除。

undefined