MD阅读 1.1.0 新版说明
MD阅读 1.1.0 新版说明:新增语音朗读(离线合成、熄屏播放、语音导出)
欢迎使用 MD阅读。
这份文档就是应用内置的示例文档,完整展示了它所支持的全部 Markdown 语法与渲染效果。
在微信、QQ 或文件管理器中选中任意
.md文件,选择「用其他应用打开」→ MD阅读,即可快速切换到你自己的文档。
目录
- 一、标题层级
- 二、行内样式
- 三、列表
- 四、引用与分割线
- 五、代码块
- 六、表格
- 七、Mermaid 图形
- 八、SVG 图形
- 九、分享给其他应用
- 十、语音朗读
- 十一、更新日志
一、标题层级
六级标题均有独立的字号与颜色层次,层级越深颜色越浅,阅读时主次分明。
一级标题 H1
二级标题 H2
三级标题 H3
四级标题 H4
五级标题 H5
六级标题 H6
二、行内样式
这是一段普通正文。行内支持 加粗、斜体、_加粗的另一种写法_、行内代码,以及 超链接。
组合用法也很自然:加粗里可以写 代码,斜体里也能放 链接。
中英文混排时,行距与字间距都会自动适配,长段落读起来不累眼。
三、列表
无序列表:
- 轻量、纯净的离线阅读体验
- 支持微信「用其他应用打开」直接唤起
- 预览与源码一键切换
- 表格支持横向滚动,宽表不再被截断
有序列表:
- 打开任意 .md 文件
- 应用自动解析并渲染排版
- 点击「⋮」可切换预览 / 源码 / 全屏
- 点击 Mermaid 图形可进入全屏查看
四、引用与分割线
单段引用:
好的工具应该安静地待在角落,需要时一秒出现,用完就消失。
多段引用(连续多行会被合并为同一块):
第一条:所有解析都在本地完成。 第二条:文档内容不会离开你的手机。 第三条:应用不发起任何网络请求,也不申请联网权限。
引用也支持 加粗、行内代码 等行内样式。
五、代码块
ArkTS / TypeScript:
@Entry
@Component
struct Index {
@State mode: string = 'rich';
build() {
Column() {
Text('MD阅读')
.fontSize(18)
.fontWeight(FontWeight.Medium)
}
}
}
Python:
def parse_markdown(src: str) -> list:
lines = src.replace('\r\n', '\n').split('\n')
blocks = []
for line in lines:
if line.startswith('#'):
blocks.append(('heading', line))
return blocks
Bash:
# 构建 release 包
hvigorw assembleApp -p product=default -p buildMode=release
# 查看产物
ls -lh build/outputs/default/
SQL:
SELECT doc_id, title, block_count, parsed_at
FROM parsed_document
WHERE block_count > 100
ORDER BY parsed_at DESC
LIMIT 20;
JSON:
{
"status": "success",
"code": 200,
"result": {
"blocks": 128,
"elapsed_ms": 12
}
}
六、表格
窄表格(自动等分,无需滚动):
| 功能 | 状态 | 说明 |
|---|---|---|
| 标题渲染 | 已支持 | H1 - H6 共 6 级 |
| 表格渲染 | 已支持 | 自动计算列宽 |
| 代码高亮 | 已支持 | 等宽字体 + 灰底 |
| 图形渲染 | 已支持 | Mermaid + SVG 离线引擎 |
宽表格(超出屏幕宽度时横向滚动,列宽按内容自适应,不截断):
| 模块 | 语法 | 是否支持 | 渲染方式 | 备注 |
|---|---|---|---|---|
| 标题 | # ~ ###### | 是 | 原生组件 | 六级字号递减 |
| 段落 | 连续文本 | 是 | 原生组件 | 自动合并软换行 |
| 代码块 | 三反引号围栏 | 是 | 原生组件 | 保留原始缩进 |
| 表格 | 竖线分隔 | 是 | 原生组件 | 超宽横向滚动 |
| 图形 | mermaid 围栏 | 是 | Web 渲染 | 离线,不联网 |
| 图形 | svg 围栏 / 裸 <svg> | 是 | Web 渲染 | 离线,自动清洗脚本 |
| 列表 | - / 1. | 是 | 原生组件 | 支持连续多项 |
| 引用 | > | 是 | 原生组件 | 多行合并为一块 |
| 分割线 | --- | 是 | 原生组件 | 三种写法均可 |
七、Mermaid 图形
所有图形均由应用内置的 Mermaid 引擎离线渲染,不连接任何服务器,也不需要网络。点击图形可进入全屏查看,支持双指缩放。
7.1 流程图(纵向)
flowchart TD
A[收到 .md 文件] --> B{是否已知格式}
B -->|是| C[调用解析器]
B -->|否| D[按纯文本兜底]
C --> E[生成 Block 列表]
D --> E
E --> F[懒加载渲染]
F --> G[展示精美排版]7.2 流程图(横向)
flowchart LR
微信 --> 用其他应用打开 --> MD阅读 --> 渲染
MD阅读 --> 系统分享 --> 目标应用7.3 时序图
sequenceDiagram
participant U as 用户
participant A as MD阅读
participant S as 系统分享面板
U->>A: 打开文档
A->>A: 本地解析渲染
U->>A: 点击「分享 Markdown」
A->>S: 提交文档原文
S-->>U: 选择目标应用7.4 类图
classDiagram
class Block {
+String type
+render()
}
class Heading {
+int level
}
class Table {
+int[] colWidths
+int minHeight
}
class Mermaid {
+String code
}
Block <|-- Heading
Block <|-- Table
Block <|-- Mermaid7.5 状态图
stateDiagram-v2
[*] --> 未打开
未打开 --> 预览: 打开文档
预览 --> 源码: 切换视图
源码 --> 预览: 切换视图
预览 --> 图形全屏: 点击图形
图形全屏 --> 预览: 返回
预览 --> [*]: 关闭7.6 甘特图
gantt
title 上架进度
dateFormat YYYY-MM-DD
section 开发
需求与原型 :done, a1, 2026-08-25, 3d
编码实现 :done, a2, after a1, 7d
section 上架
发布签名 :done, b1, 2026-09-04, 2d
商店材料 :done, b2, after b1, 3d
备案与审核 :active, b3, after b2, 10d7.7 饼图
pie showData
title 文档元素占比
"正文段落" : 35
"代码块" : 18
"图形" : 22
"表格" : 10
"标题" : 157.8 时间线
timeline
title 版本里程碑
2026-08 : 项目立项 : 完成技术选型
2026-09 : 首个可用版本 : 支持全部基础语法
2026-09 : 图形引擎 : 内置离线 Mermaid
2026-09 : 本地分享 : 接入系统分享面板八、SVG 图形
除了 Mermaid,文档里也可以直接嵌入 SVG 矢量图。两种写法都支持:
- 围栏写法:用
`svg把 SVG 源码包起来(推荐,来源清晰、便于折叠) - 直接粘贴:把
.svg文件的内容原样粘贴进文档,识别<svg与</svg>之间的部分
图形按页面宽度等比缩放,点击图形可进入全屏查看,双指缩放、拖动平移。整个渲染过程在本地完成,图形不联网加载;图形内携带的脚本与外链资源会被自动移除。
8.1 柱状图(围栏写法)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 180" width="340" height="180">
<defs>
<linearGradient id="barGrad" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#6aa9f0"/>
<stop offset="100%" stop-color="#2a6fdb"/>
</linearGradient>
</defs>
<line x1="42" y1="18" x2="42" y2="140" stroke="#d0d7e2" stroke-width="1"/>
<line x1="42" y1="140" x2="322" y2="140" stroke="#d0d7e2" stroke-width="1"/>
<rect x="62" y="62" width="34" height="78" rx="3" fill="url(#barGrad)"/>
<rect x="122" y="92" width="34" height="48" rx="3" fill="url(#barGrad)"/>
<rect x="182" y="38" width="34" height="102" rx="3" fill="url(#barGrad)"/>
<rect x="242" y="76" width="34" height="64" rx="3" fill="url(#barGrad)"/>
<text x="79" y="54" font-size="12" fill="#4a5568" text-anchor="middle">86</text>
<text x="139" y="84" font-size="12" fill="#4a5568" text-anchor="middle">52</text>
<text x="199" y="30" font-size="12" fill="#4a5568" text-anchor="middle">112</text>
<text x="259" y="68" font-size="12" fill="#4a5568" text-anchor="middle">70</text>
<text x="79" y="156" font-size="11" fill="#8892a0" text-anchor="middle">解析</text>
<text x="139" y="156" font-size="11" fill="#8892a0" text-anchor="middle">排版</text>
<text x="199" y="156" font-size="11" fill="#8892a0" text-anchor="middle">渲染</text>
<text x="259" y="156" font-size="11" fill="#8892a0" text-anchor="middle">打开</text>
</svg>8.2 环形进度(直接粘贴写法)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" width="120" height="120">
<circle cx="60" cy="60" r="50" fill="none" stroke="#e8eef7" stroke-width="12"/>
<circle cx="60" cy="60" r="50" fill="none" stroke="#2a6fdb" stroke-width="12" stroke-linecap="round" stroke-dasharray="236 314" transform="rotate(-90 60 60)"/>
<text x="60" y="58" font-size="22" font-weight="bold" fill="#2a6fdb" text-anchor="middle">75%</text>
<text x="60" y="78" font-size="11" fill="#8892a0" text-anchor="middle">渲染完成度</text>
</svg>上面的环形图就是直接粘贴的效果——没有围栏,识别到 <svg> 就按图形渲染。
九、分享给其他应用
点击右上角 ⋮ → 分享 Markdown,系统会弹出分享面板,你可以把当前文档的 Markdown 原文发送给微信、邮件、备忘录等任意应用。
- 分享的是 Markdown 原文,接收方可直接存为
.md文件 - 分享动作由系统面板完成,应用本身不发起任何网络请求
- 本应用不申请联网权限,也不存在任何服务器
文档只在你和设备之间流转,不经过任何中间服务器。
十、语音朗读
MD阅读 现在可以把文档读给你听。朗读基于系统离线语音引擎(Core Speech Kit)在本机完成合成与播放,不联网、不收集、不申请任何网络或录音权限。
10.1 开始朗读
打开任意文档后,点击右上角 ⋮ → 语音朗读,应用会从当前阅读位置开始朗读正文;朗读中可暂停、继续,或跳到上一段 / 下一段。
朗读内容仅在本机合成与播放,文档不会离开你的手机。
10.2 熄屏 / 后台播放
开启朗读后,即使锁屏或切换到其他应用,朗读仍会在后台继续。通知栏提供播放 / 暂停 / 上下篇控制,熄屏也能接着听。
10.3 导出为 MP3
在朗读面板选择 导出 MP3,可将整篇文档的语音导出为 .mp3 文件,保存到你在系统文件选择器里自选的位置(如「文档」目录)。导出走系统文件选择器,无需授予任何存储权限。
10.4 设计原则
| 特性 | 说明 |
|---|---|
| 离线合成 | 使用本机已安装语音引擎,飞行模式也可朗读 |
| 不联网 | 不声明 INTERNET 权限,断网照常工作 |
| 不收集 | 不上传任何文档或语音数据 |
| 熄屏播放 | 后台长时任务 + 通知栏控制 |
| 语音导出 | 导出 MP3 到用户自选位置,零权限 |
十一、更新日志
1.1.0
- 新增 语音朗读:基于系统离线语音引擎把文档读给你听,不联网、不收集
- 支持 熄屏 / 后台播放,通知栏可控播放、暂停与上下篇
- 新增 导出 MP3:将整篇语音导出为
.mp3,保存到用户自选位置,零权限
1.0.4
- 新增 SVG 图形渲染:支持
`svg围栏写法与直接粘贴<svg>两种写法 - SVG 与 Mermaid 共用同一套全屏查看交互(双指缩放、拖动平移、双击放大)
- 图形渲染前执行两层安全清洗(字符串级 + DOM 白名单),自动移除脚本与外链资源
1.0.0
- 自研 Markdown 解析引擎,支持标题、段落、列表、引用、代码块、表格、分割线
- 内置离线 Mermaid 渲染引擎,流程图、时序图、饼图等一应俱全
- 预览 / 源码双视图切换,支持横竖屏自适应
- 支持从微信等应用「用其他应用打开」直接唤起
- 新增「分享 Markdown」,通过系统分享面板发送给其他应用
本文档为应用内置示例,保存在安装包内,无需联网即可阅读。
有任何建议可发送邮件至 *****。