Releases: mococouo/markdown2txt
Releases · mococouo/markdown2txt
Markdown to TXT v0.4.0
Markdown to TXT v0.4.0
Zero-dependency offline Markdown to TXT converter. Runs entirely in the browser.
新增功能
- 🌙 暗色模式(系统偏好检测 + 手动切换 + 持久化)
- 📦 ZIP 批量下载(纯 JS store 模式,无需依赖)
- ⚙️ 转换预设:AI 数据清洗 / 文档归档 / 发布
- 🗑️ 文件队列单条删除 + 拖拽排序
- ⌨️ 快捷键帮助面板(
?唤起) - 📱 PWA 支持(可安装 + 离线缓存)
- 📊 字数统计扩展为字符/行/词/阅读时间(CJK 按字计数)
- 大文件防抖(200ms)
转换引擎
- 重构为 22 步命名 pipeline,可单独测试
- 支持数学公式(行内
$...$/ 块$$...$$) - 支持脚注引用
[^id]和定义块清理 - 支持自动链接
<url>转 URL - 行内 HTML 白名单(
<kbd><sup><sub><abbr>等保留) - 支持 admonition
!!! note折叠为[note] body - 支持定义列表
Term\n: def→Term: def - 链接引用定义
[1]: url从输出中移除
i18n
- fr/de/it/hi/id/vi/tr/pl/nl 从 29 键补齐到 60 键
- 全部 20 种语言达到 60 键一致
无障碍
- 复选框
for/id显式关联 :focus-visible焦点环- 跳转到输入框链接
- 状态栏
role=status+aria-live=polite
安全
- CSP meta 标签
- 5MB 文件大小上限
Bug 修复
- HTML 实体(
&<>)原样保留,不再错误解码 - 代码块占位符不再与强调标记冲突
- 表格行和标题不再吞掉相邻空行
- 清空文件队列同时清空编辑器
- 加载新批次改为追加而非覆盖
- Clean 模式代码块之间加空行分隔
- 嵌套列表保留缩进
测试
- 45 个转换测试(CI 自动运行)
node test/converter.test.js
键盘快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+Enter |
转换 |
Ctrl+Shift+C |
复制结果 |
Ctrl+D |
下载当前 |
? |
切换快捷键帮助 |
Esc |
关闭对话框 |
隐私
所有转换在浏览器本地完成,无服务器、无 CDN、无上传。
Markdown to TXT v0.2.0
Markdown to TXT v0.2.0
A polished offline-first Markdown to TXT converter that runs entirely in the browser.
Highlights
- Added a zero-dependency static web app.
- Added paste, manual input, file picker, and drag-and-drop workflows.
- Added multi-file queue and batch conversion.
- Added three conversion styles: Standard, Clean, and Structured.
- Added output rule toggles for links, code blocks, and front matter.
- Added input/output character and line counts.
- Added copy result, download current output, and merge-download all outputs.
- Added multilingual UI with RTL support.
- Added documentation for usage, packaging, roadmap, privacy, and GitHub Pages deployment.
Privacy
Markdown conversion runs locally in the browser. No server, CDN, upload, or network request is required for normal
use.
Verification
Smoke check completed successfully:
python legacy/tests/_smoke.py