Skip to content

Markdown 支持 - v0.0.1 核心功能

All Writer 完整支持 Markdown 语法,提供原生 Markdown 编辑体验和丰富的扩展功能。

功能特点

📝 完整的 Markdown 语法支持

All Writer 支持标准 Markdown 语法的所有特性:

  • 标题:6 级标题,自动生成大纲
  • 文本格式:粗体、斜体、删除线、高亮
  • 列表:有序列表、无序列表、任务列表
  • 链接和图片:支持相对路径和绝对路径
  • 代码:行内代码和代码块,支持语法高亮
  • 表格:支持对齐和格式化
  • 引用:支持嵌套引用
  • 数学公式:行内公式和块级公式(KaTeX)
  • 图表:Mermaid 流程图、序列图等

🎨 扩展语法

除了标准 Markdown,All Writer 还支持:

  • 删除线~~文本~~
  • 高亮==文本==
  • 注解(外部引用)[[ref:引用标题]] 语法
  • HTML 标签:支持部分安全的 HTML 标签
  • HTML 注释:支持 HTML 注释语法
  • Mermaid 图表:流程图、序列图、甘特图等
  • KaTeX 数学公式:完整的 LaTeX 数学语法

⚡ 实时预览

  • 编辑时实时查看渲染效果
  • 支持编辑模式和预览模式切换
  • 大纲面板自动同步更新

基础语法

标题

使用 # 创建标题,标题会自动显示在大纲面板中:

markdown
# 一级标题

## 二级标题

### 三级标题

#### 四级标题

##### 五级标题

###### 六级标题

文本格式

markdown
_斜体文本_
**粗体文本**
**_粗斜体文本_**
~~删除的文本~~
==高亮的文本==

列表

无序列表

markdown
- 项目 1
- 项目 2
  - 子项目 2.1
  - 子项目 2.2

有序列表

markdown
1. 第一项
2. 第二项
3. 第三项
   1. 子项 3.1
   2. 子项 3.2

任务列表

markdown
- [ ] 未完成任务
- [x] 已完成任务

链接和图片

markdown
[链接文本](https://example.com)
![图片描述](image.png)

代码

行内代码

markdown
使用 `code` 表示行内代码。

代码块

支持多种编程语言的语法高亮:

markdown
```javascript
function hello() {
  console.log("Hello, World!");
}
```

表格

markdown
| 列 1   | 列 2   | 列 3   |
| ------ | ------ | ------ |
| 数据 1 | 数据 2 | 数据 3 |
| 数据 4 | 数据 5 | 数据 6 |

支持对齐:

markdown
| 左对齐 | 居中 | 右对齐 |
| :----- | :--: | -----: |
| 左     |  中  |     右 |

引用

markdown
> 这是一段引用文本。
>
> 可以包含多个段落。
>
> > 嵌套引用也是支持的。

扩展功能

数学公式

行内公式

markdown
这是行内公式:$E = mc^2$

块级公式

markdown
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$

图表

Mermaid 流程图

markdown
```mermaid
graph TD
    A[开始] --> B{判断}
    B -->|是| C[操作1]
    B -->|否| D[操作2]
    C --> E[结束]
    D --> E
```

Mermaid 序列图

markdown
```mermaid
sequenceDiagram
    participant A as 用户
    participant B as 系统
    A->>B: 请求
    B-->>A: 响应
```

HTML 支持

All Writer 支持在 Markdown 中使用部分安全的 HTML 标签。出于安全考虑,所有 HTML 内容都会经过 DOMPurify 清理。

支持的 HTML 标签:

  • 文本标签:<p>, <span>, <div>, <br>, <hr>
  • 格式标签:<strong>, <em>, <u>, <s>, <code>, <pre>
  • 列表标签:<ul>, <ol>, <li>
  • 表格标签:<table>, <thead>, <tbody>, <tr>, <th>, <td>
  • 链接和图片:<a>, <img>
  • 其他:<details>, <summary>, <blockquote>

示例:

markdown
<div style="color: red;">
  这是红色文本
</div>

<details>
<summary>点击展开</summary>

这是折叠的内容。

</details>

<span style="background-color: yellow;">高亮文本</span>

注意事项:

  • 危险的标签(如 <script>, <iframe>, <object> 等)会被自动过滤
  • style 属性中的部分危险样式可能会被清理
  • 建议优先使用 Markdown 语法,HTML 仅用于 Markdown 无法实现的效果

注解(外部引用)

All Writer 支持在文档中使用外部引用注解,类似于学术论文中的引用标注。注解会自动渲染为带序号的上标,点击可查看引用详情。

语法:

markdown
这是需要标注的内容[[ref:引用标题]]。

这是另一个引用[[ref:另一个引用]]。

相同的引用标题会使用相同的序号[[ref:引用标题]]。

功能特点:

  • 自动编号:相同标题的引用使用相同序号,按出现顺序自动分配
  • 点击查看:点击上标数字可查看引用详情(标题、内容、链接等)
  • 项目级别:引用在项目级别管理,可在项目中复用
  • 使用统计:自动统计每个引用的使用次数

使用步骤:

  1. 在右侧面板打开"外部引用"面板
  2. 创建新的引用(输入标题、内容描述、链接等)
  3. 在文档中使用 [[ref:引用标题]] 语法插入引用
  4. 引用会自动渲染为带序号的上标(如 [1], [2])
  5. 点击上标可查看引用详情

示例:

markdown
机器学习是人工智能的一个重要分支[[ref:人工智能概述]]。

深度学习作为机器学习的子领域[[ref:深度学习基础]],近年来取得了突破性进展[[ref:人工智能概述]]。

渲染效果:

  • [[ref:人工智能概述]] → 显示为 [1]
  • [[ref:深度学习基础]] → 显示为 [2]
  • 再次使用 [[ref:人工智能概述]] → 仍然显示为 [1]

HTML 注释

All Writer 支持在 Markdown 中使用 HTML 注释,注释内容不会在渲染时显示,但会保留在源代码中。

语法:

markdown
<!-- 这是一条注释,不会在渲染时显示 -->

这是一段正常文本。

<!--
  多行注释也是支持的
  可以包含多行内容
-->

用途:

  • 添加文档说明和备注
  • 临时隐藏某些内容
  • 为后续编辑添加提示
  • 标记待完成的内容

示例:

markdown
## 研究方法

<!-- 描述实验设计、数据采集方法、分析工具 -->

这是研究方法的正文内容。

## 实验结果

<!-- TODO: 需要添加数据图表 -->
<!-- 展示主要发现、数据图表、统计分析 -->

快捷键

All Writer 提供了 Markdown 编辑的快捷键:

功能快捷键
加粗Ctrl + B
斜体Ctrl + I
插入链接Ctrl + K
插入代码块Ctrl + Shift + K
插入表格Ctrl + T
插入图片Ctrl + Shift + I

最佳实践

1. 标题层级

  • 使用合理的标题层级
  • 避免跳过层级(如从 H1 直接跳到 H3)
  • 建议不超过 4 级标题

2. 列表使用

  • 使用有序列表表示步骤
  • 使用无序列表表示要点
  • 合理使用嵌套列表

3. 代码块

  • 始终指定代码语言以获得语法高亮
  • 长代码块使用代码块而非行内代码
  • 添加必要的代码注释

4. 链接和图片

  • 使用描述性的链接文本
  • 为图片添加 alt 文本
  • 使用相对路径引用本地资源

5. 表格

  • 保持表格简洁
  • 使用对齐方式提高可读性
  • 避免过宽的表格

常见问题

Q: Markdown 和 HTML 可以混用吗?

A: 可以。All Writer 支持在 Markdown 中使用 HTML 标签,但建议优先使用 Markdown 语法。

Q: 如何插入特殊字符?

A: 使用反斜杠转义,如 \* 表示字面量星号,而不是强调标记。

Q: 支持哪些代码语言?

A: All Writer 支持主流编程语言的语法高亮,包括 JavaScript、Python、Java、C++、Go、Rust 等。

Q: 数学公式支持哪些语法?

A: 支持 LaTeX 数学公式语法,包括分数、根号、积分、求和等。

Q: 图表支持哪些类型?

A: 支持 Mermaid 流程图、序列图、甘特图、类图等多种图表类型。

相关资源


💡 提示:Markdown 语法简单易学,建议多练习。All Writer 提供实时预览功能,可以边写边查看效果。