Releases: ijaa/mdeye
Release list
v0.7.1
MDEye 0.7.1
完整离线包:GFM + Mermaid + 四套主题 + PDF 导出。
本版本新增工具栏 PDF 快捷按钮,首次启动默认使用 Sepia 主题。
当前为未签名自用构建(无 Apple Developer 签名)。
安装
- 打开 dmg,将 mdeye.app 拖入 Applications
- 首次启动若被拦截:系统设置 → 隐私与安全性 → 仍要打开
- 在应用内选择:MDEye → Set as Default Markdown App…
- 或在 Finder 中选择
.md→ 显示简介(⌘I)→ 打开方式 → MDEye → 全部更改…
- 或在 Finder 中选择
首次打开
- 尝试打开
MDEye,若被阻止则关闭提示 - 打开 系统设置 → 隐私与安全性
- 找到 MDEye 被阻止的提示
- 点击 仍要打开 并确认
完成后可双击任意 .md 文件阅读。
v0.7.0
MDEye 0.7.0 — 阅读舒适度与技术文档完整度
本版本合并了原计划的三个阶段功能,专注提升 Markdown 技术文档的阅读体验。
✨ 新增功能
阅读舒适度
- 字号缩放:⌘+/⌘-/⌘0 调整字体大小(85%–200%),偏好持久化,PDF 导出不受影响
- 栏宽调整:⌥+/⌥- 调整内容栏宽(600–1100px),适应不同屏幕与阅读习惯
- 冷启动恢复:自动恢复上次打开的文件,无需重新选择
技术文档完整度
-
数学公式:KaTeX 离线渲染,支持
$inline$ 与$$display$$ 公式 - 文内查找:⌘F 打开查找条,⌘G/⇧⌘G 跳转上下匹配,Esc 关闭
- GB18030 编码:自动探测 GB18030(GBK 超集)中文编码,跨平台兼容
编辑-阅读闭环
- Open in Editor:⌘⇧E 快速跳转 TextEdit 编辑当前文件
- 富文本格式检测:打开文件时检测 RTF 标记,提示在 TextEdit 中转为纯文本
📦 技术细节
- KaTeX 打包策略:仅包含 woff2 字体(~254KB),剥离 woff/ttf,app 体积增量约 0.54MB
- 编码探测:使用 CFStringConvert 跨平台构造 GB18030 编码,兼容 swift-corelibs-foundation(CI)
- 查找实现:TreeWalker 遍历文本节点高亮匹配,不依赖 window.find(WKWebView 多版本不一致)
- 缩放隔离:CSS 变量控制字号/栏宽,@media print 覆盖确保打印不受屏幕设置影响
🧪 测试覆盖
- CI 新增编码自检(UTF-8/GB18030)与富文本检测自检
- 多页 PDF 自检扩展数学公式 fixture(行内与块级)
- reader 单测覆盖 KaTeX 渲染与美元符消费
安装
- 下载
mdeye-0.7.0.dmg - 将 mdeye.app 拖入 应用程序
- 首次启动若被拦截:系统设置 → 隐私与安全性 → 仍要打开
- 菜单 MDEye → Set as Default Markdown App… 设为默认
首次打开(被拦截时)
- 尝试打开
MDEye,若被阻止则关闭提示 - 打开 系统设置 → 隐私与安全性
- 找到 MDEye 被阻止的提示
- 点击 仍要打开 并确认
完成后可双击任意 .md 文件阅读。
环境要求:macOS 12+
架构:Universal Binary(Apple Silicon + Intel)
分发:未签名自用构建(无需 Apple Developer 证书)
v0.6.0
MDEye 0.6.0
完整离线包:GFM + Mermaid + 四套主题 + PDF 导出。
本版本新增工具栏 PDF 快捷按钮,首次启动默认使用 Sepia 主题。
当前为未签名自用构建(无 Apple Developer 签名)。
安装
- 打开 dmg,将 mdeye.app 拖入 Applications
- 首次启动若被拦截:系统设置 → 隐私与安全性 → 仍要打开
- 在应用内选择:MDEye → Set as Default Markdown App…
- 或在 Finder 中选择
.md→ 显示简介(⌘I)→ 打开方式 → MDEye → 全部更改…
- 或在 Finder 中选择
首次打开
- 尝试打开
MDEye,若被阻止则关闭提示 - 打开 系统设置 → 隐私与安全性
- 找到 MDEye 被阻止的提示
- 点击 仍要打开 并确认
完成后可双击任意 .md 文件阅读。
v0.5.0
MDEye 0.5.0 (full)
Full offline pack: GFM + Mermaid + themes + HTML export.
Unsigned self-use build (no Apple Developer signing).
Install
- Open the dmg / unzip and drag mdeye.app to Applications
- First launch: System Settings → Privacy & Security → Open Anyway
- In app: MDEye → Set as Default Markdown App…
- Or Finder: select
.md→ Get Info (⌘I) → Open with MDEye → Change All…
- Or Finder: select
First open (method B)
- Open
MDEye(if blocked, dismiss the alert) - System Settings → Privacy & Security
- Find the message that MDEye was blocked
- Click Open Anyway, confirm Open
Then double-click any .md file to read.
v0.4.0
MDEye 0.4.0 (full)
Full offline pack: GFM + Mermaid + themes + HTML export.
Unsigned self-use build (no Apple Developer signing).
Install
- Open the dmg / unzip and drag mdeye.app to Applications
- First launch: System Settings → Privacy & Security → Open Anyway
- In app: MDEye → Set as Default Markdown App…
- Or Finder: select
.md→ Get Info (⌘I) → Open with MDEye → Change All…
- Or Finder: select
First open (method B)
- Open
MDEye(if blocked, dismiss the alert) - System Settings → Privacy & Security
- Find the message that MDEye was blocked
- Click Open Anyway, confirm Open
Then double-click any .md file to read.
v0.3.0
mdeasy 0.3.0
Breaking changes
- Export HTML → Export PDF: menu "Export HTML…" replaced by "Export PDF…" (⌘E). Uses native
WKWebView.createPDF— preserves current theme/CSS/Mermaid, paginated output. No more JS-side HTML re-assembly.
New
- Single-file reader semantics: when multiple files are opened together (Finder multi-select,
open *.md), only the last one renders. No multi-window/tabs — by design. - CI headless render self-check (
mdeasy --selftest <path.md>): proves the full load→IIFE→bridge→render→doc-shown pipeline on a GUI-less macOS runner. Every push to main is now verified end-to-end, not just compiled. - md.js unit tests (13 cases): slugify (ASCII + CJK), image rewrite, mermaid detection, outline extraction, task lists, code highlighting.
Improvements
- Version number single-sourced from
App/Info.plist, injected into the reader bundle at build time — no more hardcoded0.2.3drift. - Path sandbox unified:
PathSandbox.join(base:relative:)shared by bothmdeasy-app://andmdeasy-asset://handlers. - Mermaid/theme config deduped into single
mermaidConfig(). - Hot-refresh preserves scroll position (external editor save no longer jumps to top).
openInEditoravoids self-recursion (mdeasy is itself a registered .md handler).- FileWatcher re-arm race fixed (all shared state routed through serial queue).
- Icon alpha gate in CI actually works now (was silently swallowed by
|| true). - Source
reader/index.htmlunified with build output (no more ESM/CSP divergence trap). - Fragile
smoke-open.shremoved in favor ofci-selftest.sh.
Install (unsigned, self-use)
- Open the dmg, drag mdeasy.app to Applications
- First launch: System Settings → Privacy & Security → Open Anyway
- Set as default: mdeasy → Set as Default Markdown App…
- Or Finder: select
.md→ Get Info (⌘I) → Open with mdeasy → Change All…
- Or Finder: select
First open (method B)
- Open
mdeasy(if blocked, dismiss the alert) - System Settings → Privacy & Security
- Find the message that mdeasy was blocked
- Click Open Anyway, confirm Open
Then double-click any .md file to read.
v0.2.8
mdeasy 0.2.8 (full)
Full offline pack: GFM + Mermaid + themes + HTML export.
Unsigned self-use build (no Apple Developer signing).
Install
- Open the dmg / unzip and drag mdeasy.app to Applications
- First launch: System Settings → Privacy & Security → Open Anyway
- In app: mdeasy → Set as Default Markdown App…
- Or Finder: select
.md→ Get Info (⌘I) → Open with mdeasy → Change All…
- Or Finder: select
First open (method B)
- Open
mdeasy(if blocked, dismiss the alert) - System Settings → Privacy & Security
- Find the message that mdeasy was blocked
- Click Open Anyway, confirm Open
Then double-click any .md file to read.
v0.2.6
mdeasy 0.2.6 (full)
Full offline pack: GFM + Mermaid + themes + HTML export.
Unsigned self-use build (no Apple Developer signing).
Install
- Open the dmg / unzip and drag mdeasy.app to Applications
- First launch: System Settings → Privacy & Security → Open Anyway
- In app: mdeasy → Set as Default Markdown App…
- Or Finder: select
.md→ Get Info (⌘I) → Open with mdeasy → Change All…
- Or Finder: select
First open (method B)
- Open
mdeasy(if blocked, dismiss the alert) - System Settings → Privacy & Security
- Find the message that mdeasy was blocked
- Click Open Anyway, confirm Open
Then double-click any .md file to read.
v0.2.5
mdeasy 0.2.5 (full)
Full offline pack: GFM + Mermaid + themes + HTML export.
Unsigned self-use build (no Apple Developer signing).
Install
- Open the dmg / unzip and drag mdeasy.app to Applications
- First launch: System Settings → Privacy & Security → Open Anyway
- In app: mdeasy → Set as Default Markdown App…
- Or Finder: select
.md→ Get Info (⌘I) → Open with mdeasy → Change All…
- Or Finder: select
First open (method B)
- Open
mdeasy(if blocked, dismiss the alert) - System Settings → Privacy & Security
- Find the message that mdeasy was blocked
- Click Open Anyway, confirm Open
Then double-click any .md file to read.
v0.2.4
mdeasy 0.2.4 (full)
Full offline pack: GFM + Mermaid + themes + HTML export.
Unsigned self-use build (no Apple Developer signing).
Install
- Open the dmg / unzip and drag mdeasy.app to Applications
- First launch: System Settings → Privacy & Security → Open Anyway
- In app: mdeasy → Set as Default Markdown App…
- Or Finder: select
.md→ Get Info (⌘I) → Open with mdeasy → Change All…
- Or Finder: select
First open (method B)
- Open
mdeasy(if blocked, dismiss the alert) - System Settings → Privacy & Security
- Find the message that mdeasy was blocked
- Click Open Anyway, confirm Open
Then double-click any .md file to read.