md2ui 1.0.18 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -58
- package/bin/build.js +95 -9
- package/bin/md2ui.js +102 -13
- package/package.json +24 -10
- package/public/docs/00-/345/277/253/351/200/237/345/274/200/345/247/213.md +48 -28
- package/public/docs/01-/345/212/237/350/203/275/347/211/271/346/200/247.md +55 -40
- package/public/docs/02-Markdown/346/270/262/346/237/223/00-/345/237/272/347/241/200/350/257/255/346/263/225.md +88 -0
- package/public/docs/02-Markdown/346/270/262/346/237/223/01-/344/273/243/347/240/201/345/235/227.md +91 -0
- package/public/docs/02-Markdown/346/270/262/346/237/223/02-/350/241/250/346/240/274.md +187 -0
- package/public/docs/02-Markdown/346/270/262/346/237/223/03-Mermaid/345/233/276/350/241/250.md +101 -0
- package/public/docs/02-Markdown/346/270/262/346/237/223/04-Frontmatter.md +32 -0
- package/public/docs/02-Markdown/346/270/262/346/237/223/05-/346/225/260/345/255/246/345/205/254/345/274/217.md +47 -0
- package/public/docs/02-Markdown/346/270/262/346/237/223/06-Mermaid/345/244/215/346/235/202/345/233/276/350/241/250/346/265/213/350/257/225.md +1376 -0
- package/public/docs/02-Markdown/346/270/262/346/237/223/assets/img-1777383093712.png +0 -0
- package/public/docs/03-/345/257/274/350/210/252/344/270/216/345/270/203/345/261/200/00-/344/270/211/346/240/217/345/270/203/345/261/200.md +33 -0
- package/public/docs/03-/345/257/274/350/210/252/344/270/216/345/270/203/345/261/200/01-/347/233/256/345/275/225/346/240/221/345/257/274/350/210/252.md +43 -0
- package/public/docs/03-/345/257/274/350/210/252/344/270/216/345/270/203/345/261/200/02-/346/226/207/346/241/243/345/244/247/347/272/262.md +51 -0
- package/public/docs/03-/345/257/274/350/210/252/344/270/216/345/270/203/345/261/200/03-/344/270/212/344/270/213/347/257/207/345/257/274/350/210/252.md +29 -0
- package/public/docs/03-/345/257/274/350/210/252/344/270/216/345/270/203/345/261/200/04-/347/253/231/345/206/205/351/223/276/346/216/245.md +39 -0
- package/public/docs/03-/345/257/274/350/210/252/344/270/216/345/270/203/345/261/200/05-/345/244/247/347/272/262/345/216/213/345/212/233/346/265/213/350/257/225.md +340 -0
- package/public/docs/04-/346/220/234/347/264/242/345/212/237/350/203/275/00-/345/205/250/346/226/207/346/220/234/347/264/242.md +46 -0
- package/public/docs/05-/347/274/226/350/276/221/345/212/237/350/203/275/00-/347/274/226/350/276/221/345/231/250/345/237/272/347/241/200.md +65 -0
- package/public/docs/05-/347/274/226/350/276/221/345/212/237/350/203/275/01-/350/207/252/345/212/250/344/277/235/345/255/230.md +38 -0
- package/public/docs/06-/351/230/205/350/257/273/344/275/223/351/252/214/00-/351/230/205/350/257/273/350/277/233/345/272/246.md +43 -0
- package/public/docs/06-/351/230/205/350/257/273/344/275/223/351/252/214/01-/345/233/276/347/211/207/346/224/276/345/244/247.md +40 -0
- package/public/docs/06-/351/230/205/350/257/273/344/275/223/351/252/214/02-/350/277/224/345/233/236/351/241/266/351/203/250.md +38 -0
- package/public/docs/06-/351/230/205/350/257/273/344/275/223/351/252/214/assets/img-1777261394722.png +0 -0
- package/public/docs/07-/347/247/273/345/212/250/347/253/257/351/200/202/351/205/215/00-/345/223/215/345/272/224/345/274/217/345/270/203/345/261/200.md +37 -0
- package/public/docs/08-/346/226/207/346/241/243/347/256/241/347/220/206/00-/346/226/260/345/273/272/344/270/216/345/210/240/351/231/244.md +47 -0
- package/public/docs/09-/345/257/274/345/207/272/345/212/237/350/203/275/00-/345/257/274/345/207/272Word.md +77 -0
- package/public/docs/10-/351/203/250/347/275/262/344/270/216/351/205/215/347/275/256/00-CLI/345/267/245/345/205/267.md +52 -0
- package/public/docs/10-/351/203/250/347/275/262/344/270/216/351/205/215/347/275/256/01-SSG/351/235/231/346/200/201/346/236/204/345/273/272.md +44 -0
- package/public/docs/10-/351/203/250/347/275/262/344/270/216/351/205/215/347/275/256/02-/350/207/252/345/256/232/344/271/211/351/205/215/347/275/256.md +58 -0
- package/public/docs/11-/345/244/232/347/272/247/347/233/256/345/275/225/346/265/213/350/257/225/00-/344/270/200/347/272/247/346/226/207/346/241/243.md +20 -0
- package/public/docs/11-/345/244/232/347/272/247/347/233/256/345/275/225/346/265/213/350/257/225/01-/345/255/220/347/233/256/345/275/225/00-/344/272/214/347/272/247/346/226/207/346/241/243.md +13 -0
- package/public/docs/11-/345/244/232/347/272/247/347/233/256/345/275/225/346/265/213/350/257/225/01-/345/255/220/347/233/256/345/275/225/01-/346/267/261/345/261/202/345/265/214/345/245/227/00-/344/270/211/347/272/247/346/226/207/346/241/243.md +23 -0
- package/src/App.vue +111 -12
- package/src/components/AppSidebar.vue +181 -21
- package/src/components/CodeBlockNodeView.vue +72 -0
- package/src/components/DocContent.vue +25 -14
- package/src/components/EditorContent.vue +257 -0
- package/src/components/EditorToolbar.vue +264 -0
- package/src/components/ImageZoom.vue +88 -5
- package/src/components/MathBlockNodeView.vue +160 -0
- package/src/components/MathInlineNodeView.vue +145 -0
- package/src/components/MermaidNodeView.vue +157 -0
- package/src/components/MobileSearch.vue +97 -0
- package/src/components/TableOfContents.vue +174 -32
- package/src/components/TopBar.vue +69 -4
- package/src/components/TreeNode.vue +232 -39
- package/src/components/WelcomePage.vue +2 -2
- package/src/composables/useDocHash.js +9 -1
- package/src/composables/useDocManager.js +452 -105
- package/src/composables/useDocTree.js +33 -2
- package/src/composables/useExportWord.js +73 -10
- package/src/composables/useFileWatcher.js +45 -0
- package/src/composables/useFrontmatter.js +2 -2
- package/src/composables/useMarkdown.js +450 -52
- package/src/composables/useMermaidCache.js +15 -0
- package/src/composables/useScroll.js +354 -27
- package/src/composables/useSearch.js +12 -11
- package/src/config.js +1 -4
- package/src/extensions/CodeBlockCustom.js +113 -0
- package/src/extensions/MathBlock.js +107 -0
- package/src/extensions/MathInline.js +100 -0
- package/src/extensions/MermaidBlock.js +73 -0
- package/src/extensions/TableControls.js +670 -0
- package/src/services/DocService.js +168 -0
- package/src/style.css +2416 -36
- package/src/utils/imageConverter.js +129 -0
- package/vite-plugin-doc-api.js +369 -0
- package/vite.config.js +7 -2
- package/public/docs/02-Mermaid/345/233/276/350/241/250.md +0 -102
- package/public/docs/03-/350/277/233/351/230/266/346/214/207/345/215/227/01-/347/233/256/345/275/225/347/273/223/346/236/204.md +0 -55
- package/public/docs/03-/350/277/233/351/230/266/346/214/207/345/215/227/02-/350/207/252/345/256/232/344/271/211/351/205/215/347/275/256.md +0 -63
- package/public/docs/03-/350/277/233/351/230/266/346/214/207/345/215/227/03-/351/203/250/347/275/262/346/226/271/346/241/210.md +0 -73
- package/public/docs/04-API/345/217/202/350/200/203/01-/347/273/204/344/273/266API.md +0 -80
- package/public/docs/04-API/345/217/202/350/200/203/02-Composables.md +0 -92
- package/src/api/docs.js +0 -106
- package/src/components/SearchPanel.vue +0 -90
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Mermaid 图表
|
|
2
|
+
|
|
3
|
+
验证各类 Mermaid 图表的渲染效果。图表支持点击放大查看。
|
|
4
|
+
|
|
5
|
+
## 流程图
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
graph TD
|
|
9
|
+
A[开始] --> B{是否有文档?}
|
|
10
|
+
B -->|是| C[扫描目录]
|
|
11
|
+
B -->|否| D[提示创建文档]
|
|
12
|
+
C --> E[生成目录树]
|
|
13
|
+
E --> F[渲染页面]
|
|
14
|
+
D --> G[结束]
|
|
15
|
+
F --> G
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 序列图
|
|
19
|
+
|
|
20
|
+
```mermaid
|
|
21
|
+
sequenceDiagram
|
|
22
|
+
participant U as 用户
|
|
23
|
+
participant C as CLI
|
|
24
|
+
participant V as Vite Server
|
|
25
|
+
participant B as 浏览器
|
|
26
|
+
|
|
27
|
+
U->>C: md2ui
|
|
28
|
+
C->>V: 启动开发服务器
|
|
29
|
+
V->>V: 扫描 .md 文件
|
|
30
|
+
V-->>C: 服务就绪
|
|
31
|
+
C->>B: 自动打开浏览器
|
|
32
|
+
B->>V: 请求文档列表
|
|
33
|
+
V-->>B: 返回 JSON
|
|
34
|
+
B->>B: 渲染导航树
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 甘特图
|
|
38
|
+
|
|
39
|
+
```mermaid
|
|
40
|
+
gantt
|
|
41
|
+
title 项目开发计划
|
|
42
|
+
dateFormat YYYY-MM-DD
|
|
43
|
+
section 基础功能
|
|
44
|
+
Markdown 渲染 :done, a1, 2024-01-01, 30d
|
|
45
|
+
代码高亮 :done, a2, after a1, 14d
|
|
46
|
+
section 增强功能
|
|
47
|
+
全文搜索 :done, b1, after a2, 14d
|
|
48
|
+
编辑器 :active, b2, after b1, 21d
|
|
49
|
+
section 部署
|
|
50
|
+
SSG 构建 :c1, after b2, 14d
|
|
51
|
+
文档完善 :c2, after c1, 7d
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 饼图
|
|
55
|
+
|
|
56
|
+
```mermaid
|
|
57
|
+
pie title 技术栈占比
|
|
58
|
+
"Vue 3" : 40
|
|
59
|
+
"Tiptap" : 20
|
|
60
|
+
"Mermaid" : 15
|
|
61
|
+
"highlight.js" : 10
|
|
62
|
+
"MiniSearch" : 8
|
|
63
|
+
"其他" : 7
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## 类图
|
|
67
|
+
|
|
68
|
+
```mermaid
|
|
69
|
+
classDiagram
|
|
70
|
+
class DocManager {
|
|
71
|
+
+docsList: Array
|
|
72
|
+
+currentDoc: String
|
|
73
|
+
+loadDocsList()
|
|
74
|
+
+loadDoc(key)
|
|
75
|
+
+saveDoc(path, content)
|
|
76
|
+
}
|
|
77
|
+
class MarkdownRenderer {
|
|
78
|
+
+htmlContent: String
|
|
79
|
+
+tocItems: Array
|
|
80
|
+
+renderMarkdown(md)
|
|
81
|
+
}
|
|
82
|
+
class SearchEngine {
|
|
83
|
+
+searchIndex: MiniSearch
|
|
84
|
+
+buildIndex(docs)
|
|
85
|
+
+doSearch(query)
|
|
86
|
+
}
|
|
87
|
+
DocManager --> MarkdownRenderer
|
|
88
|
+
DocManager --> SearchEngine
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 状态图
|
|
92
|
+
|
|
93
|
+
```mermaid
|
|
94
|
+
stateDiagram-v2
|
|
95
|
+
[*] --> 查看模式
|
|
96
|
+
查看模式 --> 编辑模式: 点击编辑按钮
|
|
97
|
+
编辑模式 --> 查看模式: 点击查看按钮
|
|
98
|
+
编辑模式 --> 自动保存: 内容变更(1秒防抖)
|
|
99
|
+
自动保存 --> 编辑模式: 保存完成
|
|
100
|
+
查看模式 --> [*]
|
|
101
|
+
```
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Frontmatter 功能测试
|
|
3
|
+
description: 验证 YAML frontmatter 解析和阅读时间计算
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Frontmatter 功能测试
|
|
8
|
+
|
|
9
|
+
本文档使用了 Frontmatter 元数据,页面标题应显示为 "Frontmatter 功能测试"。
|
|
10
|
+
|
|
11
|
+
## 支持的字段
|
|
12
|
+
|
|
13
|
+
| 字段 | 类型 | 说明 |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| title | string | 文档标题,覆盖第一个 h1 |
|
|
16
|
+
| description | string | 文档描述,显示在元信息区域 |
|
|
17
|
+
| order | number | 排序权重 |
|
|
18
|
+
| hidden | boolean | 是否在导航中隐藏 |
|
|
19
|
+
|
|
20
|
+
## 阅读时间
|
|
21
|
+
|
|
22
|
+
文档顶部应显示字数统计和预计阅读时间:
|
|
23
|
+
|
|
24
|
+
- 中文按 400 字/分钟计算
|
|
25
|
+
- 英文按 200 词/分钟计算
|
|
26
|
+
- 自动去除 frontmatter、代码块、HTML 标签后统计
|
|
27
|
+
|
|
28
|
+
## 验证要点
|
|
29
|
+
|
|
30
|
+
1. 页面标题应为 frontmatter 中的 `title` 值
|
|
31
|
+
2. 元信息区域应显示 `description` 内容
|
|
32
|
+
3. 应显示字数和预计阅读时间
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# 数学公式
|
|
2
|
+
|
|
3
|
+
md2ui 内置 KaTeX 支持,可以在 Markdown 中直接书写数学公式。
|
|
4
|
+
|
|
5
|
+
## 行内公式
|
|
6
|
+
|
|
7
|
+
使用单个 `$` 包裹行内公式:
|
|
8
|
+
|
|
9
|
+
- 质能方程:$E = mc^2$
|
|
10
|
+
- 二次公式:$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$
|
|
11
|
+
- 欧拉公式:$e^{i\pi} + 1 = 0$
|
|
12
|
+
- 求和符号:$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$
|
|
13
|
+
|
|
14
|
+
## 块级公式
|
|
15
|
+
|
|
16
|
+
使用双 `$$` 包裹块级公式:
|
|
17
|
+
|
|
18
|
+
$$
|
|
19
|
+
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
|
|
20
|
+
$$
|
|
21
|
+
|
|
22
|
+
$$
|
|
23
|
+
\frac{\partial f}{\partial x} = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h}
|
|
24
|
+
$$
|
|
25
|
+
|
|
26
|
+
## 矩阵
|
|
27
|
+
|
|
28
|
+
$$
|
|
29
|
+
A = \begin{pmatrix}
|
|
30
|
+
a_{11} & a_{12} & a_{13} \\
|
|
31
|
+
a_{21} & a_{22} & a_{23} \\
|
|
32
|
+
a_{31} & a_{32} & a_{33}
|
|
33
|
+
\end{pmatrix}
|
|
34
|
+
$$
|
|
35
|
+
|
|
36
|
+
## 语法说明
|
|
37
|
+
|
|
38
|
+
| 语法 | 说明 | 示例 |
|
|
39
|
+
| --- | --- | --- |
|
|
40
|
+
| `$...$` | 行内公式 | `$E=mc^2$` |
|
|
41
|
+
| `$$...$$` | 块级公式(居中显示) | `$$\sum_{i=1}^n i$$` |
|
|
42
|
+
| `\frac{a}{b}` | 分数 | |
|
|
43
|
+
| `\sqrt{x}` | 平方根 | |
|
|
44
|
+
| `\int` | 积分 | |
|
|
45
|
+
| `\sum` | 求和 | |
|
|
46
|
+
|
|
47
|
+
更多 KaTeX 语法请参考 [KaTeX 官方文档](https://katex.org/docs/supported.html)。
|