Home在线笔记

上传或选择Markdown文件,实时查看解析后的HTML效果

登录

文件上传

📄

拖放Markdown文件到此处,或点击上传

上传路径:

Manual目录中的文件

专题目录

《MarkDown语法规范 - GFM扩展语法》预览

文档样式:

GFM (GitHub Flavored Markdown) 标准语法

首行缩进(行首空两格)的表示方法,非标准Markdown语法要求,不在GFM语法范畴。Markdown的设计初衷就是为了简洁,标准Markdown不推荐。

<p style="text-indent: 2em;">首行缩进(行首空两格)的表示方法,非标准Markdown语法要求,不在GFM语法范畴。Markdown的设计初衷就是为了简洁,标准Markdown不推荐。</p>

这是GitHub Flavored Markdown (GFM) 标准语法,供其他MarkDown编辑器使用参考


Markdown语法

请不要删除这个文档,你可以从这里找到需要的帮助信息。

什么是 Markdown?

Markdown 是一种轻量级的标记语言。它允许人们使用易读易写的纯文本格式编写文档,并支持图片、图表、数学公式等,然后转换成有效的 HTML 文档。Batata采用 GitHub Flavored Markdown 语法(简称 GFM),并支持一些扩展语法。

为了方便导航,我们在这里插入本文档目录:

目录

0 目录

[TOC] 或者 [toc]

1 标题

  • 标准Markdown最高支持六级标题,一级标题在行首使用一个#,二级标题使用两个##,以此类推。
  • 使用 === 表示高阶标题,使用 --- 表示次阶标题。
    1 # 和标题之间记得有个空格哦。
    2 ====---- 表示标题时,大于等于2个都可以表示,与分割线区别是分割线前面要空一行。语法如下:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

一级标题
===
二级用标题
---

2 文本强调

使用 ** 或者 __ 表示粗体
使用 * 或者 _ 表示斜体
使用==表示 高亮
使用~~表示 删除
*,= 或 _ 的后面不要跟空格

  • **粗体**用于表示粗体
  • *斜体*用于表示斜体
  • ~~删除线~~用于表示删除线

3 脚注

用法

正文中引用脚注[^1][^note]
定义脚注内容:

[^1]: 这是第一个数字脚注的内容
[^note]: 这是命名脚注,支持**加粗**等行内格式
  • [^id] 引用按首次出现顺序自动编号为上标链接
  • [^id]: 脚注内容 定义从正文移除,统一汇总到文末(带回链 ↩)
  • 定义内容支持行内 Markdown

示例

我们可以在这里插入一个命名脚注 1

4 引用

使用 > 表示引用, >> 表示引用里面再套一层引用,依次类推。

如果 > 和 >> 嵌套使用的话,从 >> 退到 > 时,必须之间要加一个空格或者 > 作为过渡,否则默认为下一行和上一行是同一级别的引用。如示例所示。
引用标记里可以使用其他标记,如:有序列表或无序列表标记,代码标记等。

示例

> 这是一级引用
>> 这是二级引用
>>> 这是三级引用

> 这是一级引用

效果:

这是一级引用

这是二级引用

这是三级引用

这是一级引用

5 链接

[链接标题](http://www.acemark.net)

输出:链接标题

自动链接:

<https://apps.apple.com/app/id1472328263>
<user@example.com>

https://apps.apple.com/app/id1472328263
user@example.com

6 图片

如果想要显示一张网络图片,方式和普通链接类似,但需要在前面加一个!符号。

![图片标题](https://www.heyanper.top/api/images/img_10001.jpg)

# 指定大小
![图片标题](https://www.heyanper.top/api/images/img_10001.jpg){width=640px}
![图片标题](https://www.heyanper.top/api/images/img_10001.jpg){width=60%}

# 居中
<center>

![图片标题](https://www.heyanper.top/api/images/img_10001.jpg){width=60%}

</center>

注意:<center>前后要空一行,否则不生效。

图片标题

7 表格

通过下面的标记,就可以输出一份表格

有边框表格

| 标题1 | 标题2 | 标题3 |
|------|-------|------|
| 内容1 | 内容2 | 内容3 |
| 内容4 | 内容5 | 内容6 |

无边框表格

标题1 | 标题2 | 标题3
------|-------|------
内容1 | 内容2 | 内容3
内容4 | 内容5 | 内容6

对齐方式:

Heading | Heading | Heading
:----- | :----: | ------:
Left   | Center | Right
Left   | Center | Right

输出表格:

  • 有边框表格
标题1 标题2 标题3
内容1 内容2 内容3
内容4 内容5 内容6
  • 无边框表格
标题1 标题2 标题3
内容1 内容2 内容3
内容4 内容5 内容6
  • 对齐方式:
Heading Heading Heading
Left Center Right
Left Center Right

8 列表

有序列表

1. 2. 3.用来标识有序列表项。例如:

1. 第一项
2. 第二项

输出结果:

  1. 第一项
  2. 第二项

无序列表

+*-都可以用来标识无序列表项。例如:

+ 项目1
* 项目2
- 项目3

输出结果:

  • 项目1
  • 项目2
  • 项目3

嵌套列表

无序嵌套列表

无序列表的嵌套很简单,你只需要在子列表的每一项前增加额外的缩进(通常是四个空格或者一个制表符)。

  • 一级列表
    • 二级列表
      • 三级列表
        • 四级列表

有序嵌套列表

有序列表的嵌套方法与无序列表类似,也是在子列表的每一项前增加额外的缩进。

  1. 一级列表
    1. 二级列表1
    2. 二级列表2
      1. 三级列表1
        1. 四级列表
        2. 四级列表
        3. 四级列表
      2. 三级列表2
  2. 一级列表

混合嵌套列表

  1. 一级列表
    1. 二级列表1
    2. 二级列表2
      1. 三级列表1
        • 四级列表
        • 四级列表
        • 四级列表
      2. 三级列表2
  2. 一级列表

TODO 标记

- [ ] 未完成
- [X] 已完成

输出结果:

  • [ ] 未完成
  • [X] 已完成

注意事项

确保在Markdown编辑器中正确地使用空格或制表符进行缩进。不同的Markdown解析器对缩进的处理可能略有不同,但大多数都接受四个空格或一个制表符作为标准。
在某些Markdown变种或特定渲染环境中,你可能需要使用四个空格而不是一个制表符来实现一致的渲染效果。例如,GitHub和一些Markdown解析器推荐使用四个空格进行缩进。
在写作时,保持一致的缩进风格可以提高Markdown文档的可读性和兼容性。

9 代码

  • 反引号代码块:用两个位于行首的```包裹表示;
  • 缩进代码块:用四个空格或者一个 Tab 表示缩进代码块,8个空格或者2个Tab表示进一步缩进;
  • 不管反引号还是缩进代码块代码块,前后分别空一行才能正确解析渲染。
  • 行内代码:格式行内代码

缩进代码示例

这是一个普通的段落。

支持几十种代码高亮。例如:

代码块示例

PHP

require_once "Parsedown.php";
$parsedown = new Parsedown();
echo $parsedown->text("# Hello Markdown!");

Go

```go
func Fibonacci(n int) int {
    if n <= 1 {
        return n
    }
    return Fibonacci(n-1) + Fibonacci(n-2)
}
```

输出:

func Fibonacci(n int) int {
    if n <= 1 {
        return n
    }
    return Fibonacci(n-1) + Fibonacci(n-2)
}

JavaScript

```javascript
function Fibonacci(num) {
    if (num <= 1) return 1;
    return Fibonacci(num - 1) + Fibonacci(num - 2);
}
```

输出:

function Fibonacci(num) {
    if (num <= 1) return 1;
    return Fibonacci(num - 1) + Fibonacci(num - 2);
}

Lua

```lua
local function Fibonacci(n)
    local function doFibonacci(n, ret1, ret2)
        if (n <= 1) then
            return ret2
        end
        return doFibonacci(n - 1, ret2, ret1 + ret2)
    end
    return doFibonacci(n, 1, 1)
end
```

输出:

local function Fibonacci(n)
    local function doFibonacci(n, ret1, ret2)
        if (n <= 1) then
            return ret2
        end
        return doFibonacci(n - 1, ret2, ret1 + ret2)
    end
    return doFibonacci(n, 1, 1)
end

10 数学公式

支持 LaTeX 语法的数学公式。例如

$$
f(x) = a x^2 + b x + c
$$

会输出一个抛物线方程

f(x) = a x^2 + b x + c
x = {-b \pm \sqrt{b^2-4ac} \over 2a}

而下面这个表达式

$$
F(\omega)=\int_{-\infty}^{+\infty} {f(t)e^{-i\omega t}dt}
$$

会输出一个傅里叶变换积分方程

F(\omega)=\int_{-\infty}^{+\infty} {f(t)e^{-i\omega t}dt}

要输出矩阵也很简单,只需要

$$
\begin{bmatrix}
1 & x & x^2 \\
1 & y & y^2 \\
1 & z & z^2 \\
\end{bmatrix}
$$

便可得到想要的效果

\begin{bmatrix} 1 & x & x^2 \\ 1 & y & y^2 \\ 1 & z & z^2 \\ \end{bmatrix}

公式也可以显示在行内。例如 $f(x)=kx+b$ 就会输出 f(x)=kx+b,这是一个显示在行内的直线方程。

11 换行

  • 标准语法要求在行尾添加两个空格或者换行符代表换行
  • 部分MarkDown工具可以自动处理回车为换行,无标准换行要求。如Typro,AceMark等, FlashNode调用Parsedown支持自定义设置:$pd->setBreaksEnabled(true); marked.js默认支持GFM 模式,默认已启用(marked.setOptions({ gfm: true, breaks: true }))

标准换行示例如下:

这行的行尾有两个空格
这是一个新行。

12 分割线

使用 --- 或者 *** 或者变体* * * 表示水平分割线,显示效果相同。

  1. 只要 * 或者 - 大于等于三个就可组成一条平行线。
  2. 使用 --- 作为水平分割线时,要在它的前后都空一行,防止 --- 被当成标题标记的表示方式。

示例




Markdown 分割线本质是 HTML <hr> 标签,基础语法仅支持横线,具体样式(粗细、颜色、圆角)需通过 CSS 定制。

  1. 基础写法(生成标准横线)
    以下三种写法效果相同,均要求独占一行且符号数量 ≥3个:
  • ---(减号,最推荐,简洁通用)
  • ***(星号)
  • ___(下划线,注意避免与标题语法冲突)
  • 变体:符号间可加空格,如 - - -* * *,渲染效果一致 。
  1. 自定义样式(需嵌入 HTML/CSS)
    原生 Markdown 无法直接改变颜色或粗细,需在支持 HTML 的编辑器中插入 <style> 或内联样式:
  • 修改粗细:
    <hr style="border-top: 3px solid 000;">
  • 修改颜色:将 000 替换为任意颜色代码(如 4ade80)。
  • 修改圆角/渐变:
    <div style="border-top: 4px solid 4ade80; border-radius: 4px; margin: 32px 0;"></div>

    注:部分平台(如 GitHub)会过滤自定义 CSS,仅显示默认灰色细线 。

  1. 关键注意事项
  • 前后留空:分割线前后必须各空一行,否则可能无法渲染或被误解析为文本 。
  • YAML 冲突:在静态站点生成器(如 Hugo/Hexo)中,文档开头的 --- 可能被识别为 Front Matter 分隔符,需确保上下文正确 。
  • 平台差异:Typora、Obsidian 等本地编辑器支持 CSS 美化;网页端(如知乎、CSDN)通常仅显示默认样式 。

  1. 这是命名脚注内容。