# Markdown语法

## 背景

Markdown 和 BBCode 都是轻量级标记语言，本站选择 Markdown 作为种子描述、论坛帖子和评论内容的编辑语法，以下是 Markdown 相比 BBCode 的优点：

#### 1. **语法更简洁直观**

* **Markdown**：用简单的符号（如 `#`、`*`、`-`）实现格式，接近自然书写习惯。
  * 标题：`# 标题`
  * 加粗：`**文本**`
  * 列表：`- 项目`
* **BBCode**：依赖标签（如 `[b][/b]`），更像 HTML 的简化版，输入更繁琐。
  * 标题：`[h1]标题[/h1]`
  * 加粗：`[b]文本[/b]`

#### 2. **原生可读性更强**

* **Markdown** 的原始文本无需渲染也能清晰阅读。例如：\
  `**加粗** 和 _斜体_` 直接表达意图。
* **BBCode** 的标签会干扰阅读：\
  `[b]加粗[/b] 和 [i]斜体[/i]`。

#### 3. **跨平台通用性**

* **Markdown** 被广泛支持：GitHub、Notion、VS Code、Stack Overflow、博客工具等。
* **BBCode** 主要局限于传统论坛（如 phpBB、Discourse），应用场景狭窄。

#### 4. **扩展性与灵活性**

* **Markdown**：
  * 支持混合 HTML 实现复杂布局（如表格、图表）。
  * 通过扩展语法（如 GitHub Flavored Markdown）支持任务列表、代码高亮等。
* **BBCode**：功能依赖论坛预设的标签，扩展性差，无法自由定制。

#### 5. **工具生态丰富**

* **Markdown** 有强大的编辑器（Typora、Obsidian）、预览工具、静态网站生成器（Hugo、Jekyll）等。
* **BBCode** 工具链较少，通常依赖论坛内置的编辑器。

#### 6. **移动端友好**

* Markdown 的符号（`*` `#` `-`）在手机键盘上易于输入，而 BBCode 的 `[ ]` 标签需要频繁切换符号面板。

#### 7. **标准化与社区支持**

* Markdown 有 CommonMark 等标准化努力，减少方言差异；而 BBCode 不同论坛的实现可能不一致。
* Markdown 拥有活跃的开源社区，BBCode 逐渐成为“旧时代”产物。

## 语法规范

### 原生语法规范

您可以参考 [这篇教程](https://www.runoob.com/markdown/md-tutorial.html) 学习 Markdown 语法，诚然在markdown中可以使用HTML/CSS/JavaScript语言，但为了网站的健壮性，我们屏蔽了绝大多数HTML/CSS/JavaScript语法，建议您只使用纯粹的 Markdown 语法。

### 扩展支持

由于大部分PT站都构建自PHP，并且都在使用BBCode语言，本站也提供了相当多的 Markdown 扩展语法，用于构建比肩 BBCode 的展示体验。

#### 1. emoji

您可以使用这种语法来编写emoji：

```
:xxxx:
```

例如:smile:

```
:smile:
```

这里是 [emoji码表](https://gist.github.com/rxaviers/7360908) ，你可以参考使用，同时本站的编辑器工具栏中内置了许多emoji快捷方式。

#### 2. 折叠面板

BBCode语法支持折叠面板，本站引入了类似的语法支持：

```markdown
:::collapse{label=这是折叠面板}
这是内容
:::
```

其中label表示折叠面板的标题，:::包裹的内容则是内容。编辑器工具栏中包含了折叠面板的快捷操作。

#### 3. Alert支持

如果想实现带有背景颜色的内容，则可以使用alert语法，其中type表示提示类型，message表示标题，showIcon表示是否展示图标。编辑器工具栏中包含了折叠面板的快捷操作。

```markdown
:::alert{type=error}
这是内容
:::
:::alert{type=warning}
这是内容
:::
:::alert{type=success}
这是内容
:::
:::alert{type=info message=这是标题 showIcon=1}
这是内容
:::

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki1.yemapt.org/newbie/markdown.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
