# harmonyos-md-reader-lite **Repository Path**: bzm121/harmonyos-md-reader-lite ## Basic Information - **Project Name**: harmonyos-md-reader-lite - **Description**: HarmonyOS 彻底本地化 Markdown 阅读器:零联网、零数据收集,TTS 熄屏朗读 + MP3 导出 + Mermaid 离线渲染(仅申请一项后台朗读权限) - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-12 - **Last Updated**: 2026-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # harmonyos-md-reader-lite > HarmonyOS(OpenHarmony)平台上的 **彻底本地化 Markdown 阅读器** — ArkTS 编写,零联网、零数据收集,仅申请一项后台朗读权限。 一款"小而美"的**纯本地** Markdown 阅读应用。打开 `.md` 文件即可阅读:支持完整 Markdown 语法、表格自适应列宽、**Mermaid 图表离线渲染**(内置 minified 渲染引擎)。 本项目是 [harmonyos-md-reader](https://gitcode.com/gcw_qHAw3DfL/harmonyos-md-reader) 的**彻底本地化分支**:移除全部云端分享能力,不申请联网权限,不调用任何远端 API。 ## ✨ 核心特性 - 🚫 **零联网** — 解析、渲染 100% 在设备本地完成,**不申请 `ohos.permission.INTERNET`** - 🚫 **零数据收集** — 不上报任何使用数据 - 🔊 **TTS 朗读** — 系统 TTS 逐段朗读,支持语速/音调调节;申请 `KEEP_BACKGROUND_RUNNING` + 后台音频模式,**熄屏后朗读不中断**(全项目唯一权限,仅此用途) - 💾 **导出 MP3** — 朗读音频可录制导出为 MP3(内置 lamejs 纯 JS 编码器,本地完成,不联网) - 📤 **本地分享** — 通过 HarmonyOS 系统分享面板(Share Kit)把 Markdown 原文交给目标应用,全程不联网 - 📝 **完整 Markdown** — 标题、段落、列表、引用、代码块、分割线、图片、链接、表格 - 📊 **表格自适应** — 列宽自动计算、同行等高、横向滚动 - 🧜 **Mermaid 离线渲染** — ` ```mermaid ` 围栏块自带渲染引擎,无须联网 - 🖐️ **全屏查看** — 点击图形进入全屏,支持双指缩放 - 📱 **phone 设备** — 目标设备类型:仅手机 ## 🔍 与 harmonyos-md-reader 的差异 | 项 | harmonyos-md-reader | **harmonyos-md-reader-lite** | |---|---|---| | `ohos.permission.INTERNET` | 已申请 | **不申请** | | 分享实现 | 上传至自建服务生成短链 | **系统分享面板(本地)** | | 网络请求 | 仅用户主动分享时发起 | **完全没有** | | 权限总数 | 网络 + 存储 | **仅 1 项**(`KEEP_BACKGROUND_RUNNING`,熄屏朗读用) | | Markdown 解析与渲染 | 自研解析器 + 离线 Mermaid | 完全相同 | | 表格 / 手势 / 视图切换 | 支持 | 完全相同 | | TTS 朗读 / MP3 导出 | — | **lite 独有** | 除分享链路外,两个版本的渲染内核与交互体验完全一致。 ## 📁 项目结构 ``` harmonyos-md-reader-lite/ ├── AppScope/ # 应用级配置(包名、版本、图标) ├── entry/ # 主模块 │ └── src/main/ │ ├── ets/ │ │ ├── entryability/ # 入口 Ability │ │ ├── pages/ # 页面(Index.ets) │ │ ├── components/ # 渲染组件(MarkdownView / MermaidView) │ │ └── utils/ # 解析器与文件读取 │ ├── resources/rawfile/ # 内置示例文档 + 离线 Mermaid 引擎 │ └── module.json5 # 模块配置(仅声明后台朗读权限与 audioPlayback 模式) ├── hvigor/ # 构建工具 ├── hvigorfile.ts # 构建脚本 ├── build-profile.json5 # 构建配置(不含签名信息) ├── oh-package.json5 # 依赖声明 └── sample.md # 示例 md 文件(用于自测) ``` ## 🚀 快速开始 ### 环境要求 - DevEco Studio 5.0+ - HarmonyOS SDK API 12+(`5.0.0(12)`) - hvigor 构建工具 ### 构建步骤 ```bash # 1. 用 DevEco Studio 打开本目录 # 2. 配置自己的签名(File → Project Structure → Signing Configs) # 3. Build → Build Hap(s) / APP(s) ``` 命令行构建 release 包: ```bash hvigorw assembleApp -p product=default -p buildMode=release --no-daemon ``` ## 🔐 签名 **重要**:本仓库**不包含**任何签名证书,`build-profile.json5` 中也不含签名配置。请在本地自行配置(`.p12` / `.p7b`),并确保不要提交到 Git —— `.gitignore` 已排除 `signing/` 与所有证书后缀。 ## 🧪 自测 ```bash # 启动应用 → 打开内置示例文档 → 验证: # 1. 表格列宽自适应、宽表横向滚动 # 2. Mermaid 各类型图形离线渲染(流程图 / 时序图 / 类图 / 甘特图 / 饼图 / 时间线) # 3. 预览 / 源码切换、图形全屏缩放 # 4. 「分享 Markdown」调起系统分享面板 ``` ## 🔒 隐私说明 应用无任何联网行为:不申请网络权限,不访问任何服务器,不分发任何数据。文档内容只在设备本地解析与渲染;分享动作由系统分享面板完成,接收方由用户自行选择。 权限方面仅申请 1 项:`ohos.permission.KEEP_BACKGROUND_RUNNING`(配合 `audioPlayback` 后台模式),唯一用途是**熄屏后 TTS 朗读不中断**。不做任何后台保活、不采集任何数据;关闭朗读功能即无任何后台行为。 ## 📜 许可证 / License 本项目基于 **Apache License 2.0** 开源 — 详见 [LICENSE](LICENSE) 与 [NOTICE](NOTICE)。 Copyright 2026 白志明 (Bai Zhiming)