MarkText 跨平台 Markdown 编辑器完全指南:从安装、WYSIWYG 写作到源码构建(基于官方日文文档与仓库源码)
【免费下载链接】marktext📝A simple and elegant markdown editor, available for Linux, macOS and Windows.项目地址: https://gitcode.com/gh_mirrors/ma/marktext
MarkText 是一款面向 Linux、macOS、Windows 的开源 Markdown 编辑器,以"速度与易用性"为核心,提供所见即所得(WYSIWYG)的实时预览与干净专注的写作界面。本文以仓库中的日文官方文档 docs/i18n/README-jp.md 为主体骨架,结合仓库内安装、主题、构建等真实文档与源码,完整讲解其功能特性、三平台安装方式、包管理器使用、常见问题排查,以及从源码自行构建的开发流程,读完即可独立完成 MarkText 的安装、配置与二次开发环境搭建。
MarkText 是什么:面向写作场景的次世代 Markdown 编辑器
根据 docs/i18n/README-jp.md 的介绍,MarkText 被定位为"次世代(Next generation)的 Markdown 编辑器",主打速度(speed)与易用性(usability),是一个简单、优雅的开源 Markdown 编辑器,官方支持Linux、macOS、Windows三大桌面平台。
从仓库结构看,MarkText 是一个 pnpm monorepo 工程(根目录 package.json 声明packageManager: pnpm@10.33.4),核心包含三个工作区包:
- packages/desktop:基于 Electron + Vue 3 的桌面应用外壳(主进程、预加载脚本、渲染进程);
- packages/muya:
@muyajs/core,使用 TypeScript 重写的编辑器内核(Markdown 解析、块结构、WYSIWYG 渲染),基于ot-json1 + ot-text-unicode + snabbdom + marked构建; - packages/muyajs:旧版 JS 编辑器引擎(
@marktext/muyajs),正被新内核逐步替代。
编辑器引擎与桌面壳分离的架构(详见 CLAUDE.md 的目录结构说明)意味着 MarkText 的 Markdown 解析与渲染能力是独立、可测试的,这也是它能同时保证解析规范性与渲染性能的底层原因。
核心功能一览:从 Markdown 规范到写作体验
日文文档 docs/i18n/README-jp.md 明确列出了 MarkText 的核心功能,本文逐条展开并补充仓库内的实现佐证:
1. 实时预览(WYSIWYG)与专注写作体验
MarkText 提供实时预览(What You See Is What You Get)能力,配合简洁干净的界面,让写作者专注于内容本身。编辑器内所见即所得的效果由渲染进程中的编辑器内核负责:渲染进程代码位于 packages/desktop/src/renderer/src,其编辑器引擎消费@muyajs/core(见 packages/desktop/package.json 中的依赖声明"@muyajs/core": "workspace:*")。
2. Markdown 规范支持
- 完整支持CommonMark Spec与GitHub Flavored Markdown(GFM)Spec;
- 部分支持 Pandoc Markdown语法;
- 仓库中 packages/muya/test/spec 下的
commonmark.spec.ts、gfm.spec.ts、roundTrip.spec.ts即为对应规范的一致性测试(conformance tests),验证解析器对规范语法的符合度。
3. Markdown 扩展
- 数学公式(KaTeX):依赖
katex(见 packages/desktop/package.json),支持行内与块级数学公式渲染; - Front Matter(YAML 前置元数据);
- Emoji 表情;
- 此外还支持Mermaid 图表、PlantUML、flowchart.js、Vega-Lite等图表扩展(依赖列表中可见
mermaid、flowchart.js、vega-embed等),CLAUDE.md 的项目概述也确认了这一点。
4. 写作效率快捷键
支持段落级别与行内样式(inline style)的快捷键,例如标题切换、加粗、斜体、引用、列表等,提高写作效率。快捷键与命令绑定实现在 packages/desktop/src/main/keyboard 与 packages/desktop/src/common/keybinding,并针对 macOS / Linux / Windows 分别提供键位配置。
5. 导出能力
可导出HTML与PDF文件。导出实现在主进程的文件系统模块中,仓库测试 packages/desktop/test/unit/specs/exportHtml.spec.ts 与pdf.spec.ts等单元测试覆盖了导出逻辑。
6. 主题系统
内置多种主题,文档特别提到Cadmium Light、Material Dark等。根据 packages/website/content/docs/end-user/THEMES.md,MarkText 内置33 个主题,分为 Light(浅色)与 Dark(深色)两大类:浅色主题包括 Ayu Light、Cadmium Light(默认)、Catppuccin Latte、Solarized Light 等;深色主题包括 Cadmium Dark、Material Dark、One Dark、Dracula、Nord、Tokyo Night、Rosé Pine 等。主题可通过菜单 → Theme、偏好设置 → Theme 标签页切换,也可以启用Follow System Theme跟随系统亮暗模式自动切换。主题的 label↔id 映射定义在 packages/desktop/src/main/menu/templates/theme.ts。
7. 多种编辑模式
支持源代码模式(Source Code mode)、打字机模式(Typewriter mode)与专注模式(Focus mode):源代码模式使用 CodeMirror 5 提供纯 Markdown 源码编辑(依赖见 packages/desktop/package.json 中的codemirror),打字机模式与专注模式则服务于沉浸式写作。
8. 剪贴板直接粘贴图片
支持从系统剪贴板直接粘贴图片到文档,粘贴后会自动写入图片文件并插入引用,相关测试见 packages/desktop/test/unit/specs/upload-image.spec.ts 与 muya 侧的pasteImage实现(packages/muya/src/clipboard/pasteImage.ts)。
下载与安装:三大平台与包管理器全解
MarkText 随每个 release 发布预编译二进制文件,支持平台覆盖Linux x64、macOS x64/arm64、Windows x64/arm64。以下安装说明综合 docs/i18n/README-jp.md 与仓库内更详细的 packages/website/content/docs/end-user/INSTALLATION.md。
macOS 安装
方式一:从 release 页面下载最新的marktext-mac-(arm64|x64)-<版本>.dmg。注意官方不发布 Universal 通用构建,请按芯片架构选择arm64(Apple Silicon M 系列)或x64(Intel)对应的安装包。安装后如遇 Gatekeeper 提示,可右键应用选择"打开"以接受一次(当前构建未做 notarization 公证)。
方式二:使用 Homebrew Cask 安装(需先安装 Homebrew):
brew install --cask mark-textWindows 安装
下载并运行安装向导marktext-setup-<版本>.exe,可在"用户级(per-user)"与"系统级(machine wide)"两种安装方式中选择;也支持便携版 zip(解压即用,数据可跟随应用存放,详见 packages/website/content/docs/end-user/PORTABLE.md)。安装完成后 MarkText 会自动注册为.md、.markdown、.mmd、.mdown、.mdtxt、.mdtext文件的默认打开程序。
除安装向导外,还可以使用包管理器(需预先安装对应工具):
# Chocolatey choco install marktext # Windows Package Manager (Winget) winget install marktextLinux 安装
Linux 是 MarkText 发布格式最丰富的平台,共提供五种格式(完整步骤见 packages/website/content/docs/end-user/LINUX.md):
| 格式 | 适用场景 |
|---|---|
marktext-linux-<版本>.AppImage | 推荐。无需 root,chmod +x后直接运行,兼容大多数发行版 |
marktext-linux-<版本>.deb | Debian / Ubuntu / Linux Mint / Pop!_OS 等,sudo apt install ./marktext-linux-<版本>.deb |
marktext-linux-<版本>.rpm | Fedora / RHEL / openSUSE 等,sudo rpm -i marktext-linux-<版本>.rpm |
marktext-linux-<版本>.snap | 支持 snap 的发行版,sudo snap install marktext-linux-<版本>.snap --dangerous --classic |
marktext-linux-<版本>.tar.gz | 便携 tar 包,解压后运行其中的marktext可执行文件 |
AppImage 使用要点(packages/website/content/docs/end-user/LINUX.md):
# 1. 赋予可执行权限并运行 chmod +x marktext-<版本>-x86_64.AppImage ./marktext-<版本>-x86_64.AppImage # 2. 集成到桌面环境(可选):创建 desktop entry 或使用 AppImageLauncher # 手动创建 desktop entry: curl -L https://raw.githubusercontent.com/marktext/marktext/develop/resources/linux/marktext.desktop -o $HOME/.local/share/applications/marktext.desktop # 编辑该文件中的 Exec 为真实命令后: update-desktop-database $HOME/.local/share/applications/ # 3. 卸载:删除 AppImage 文件、desktop 文件以及用户配置目录 ~/.config/marktextArch Linux 用户可通过 AUR 安装marktext-bin(yay -S marktext-bin),该包会自动处理glibc、gtk3、nss、alsa-lib、libxss、cups、libxkbcommon、libxkbfile、mesa、hicolor-icon-theme等依赖。注意 AUR 包并非本仓库维护者维护,版本可能滞后,安装前建议核对 PKGBUILD 中的版本号。
校验下载与更新、卸载
- 校验:每个 release 附带
latest-<平台>.yml文件,包含 SHA-512 哈希,可用shasum -a 512 marktext-linux-<版本>.AppImage对比校验(见 INSTALLATION.md)。 - 更新:MarkText 启动时会检查更新(可在偏好设置 → General → Updates关闭),发现新版本后在后台下载、下次重启时安装;便携版 zip 与 AppImage 不参与自动更新,需要手动重新下载最新构件(详见 INSTALLATION.md)。
- 卸载:Windows 通过"设置 → 应用"或运行自带的
Uninstall MarkText.exe;macOS 直接删除 MarkText.app(可同时清理~/Library/Application Support/marktext);Linux 下.deb用sudo apt remove marktext、.rpm用sudo rpm -e marktext、snap 用sudo snap remove marktext、AppImage/tar.gz 直接删除文件即可。如需彻底清除用户数据,删除对应的应用数据目录即可。
命令行选项
MarkText 还提供命令行接口(详见 packages/website/content/docs/end-user/CLI.md):
Usage: marktext [commands] [path ...] --debug 启用调试模式 --safe 禁用插件与其他用户配置 -n, --new-window 在第二实例时打开新窗口 --user-data-dir 修改用户数据目录 --disable-gpu 禁用 GPU 硬件加速 --disable-spellcheck 本次会话禁用拼写检查 -v, --verbose 输出详细日志 --version 打印版本信息 -h, --help 打印帮助信息在 macOS 上可创建便捷别名:alias marktext="/Applications/Mark\ Text.app/Contents/MacOS/Mark\ Text"。
从源码构建与开发模式
如果希望自行构建 MarkText(例如跟踪 develop 分支、为官方未发布的架构构建,或参与开发),请参考 packages/website/content/docs/dev/BUILD.md。要点如下:
环境前置条件:
- Node.js
>=20.19.0,pnpm>=10(根 package.json 声明engines); - Python
>=3.12(供 node-gyp 编译原生模块); - C++ 编译器与开发工具;
- 构建在 Linux、macOS、Windows 上均受支持。
Linux 额外依赖(Debian 系):sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev libfontconfig-dev rpm(Red Hat 系对应dnf install libX11-devel libxkbfile-devel libsecret-devel fontconfig-devel)。
构建步骤:
git clone https://github.com/marktext/marktext.git cd marktext pnpm install # 自动执行 postinstall 脚本(打补丁、下载 Electron、重建原生模块、压缩 locale) pnpm run build # 构建当前平台的二进制与安装包产物位于仓库根目录dist/文件夹(electron-builder 输出;中间产物在packages/desktop/out/)。BUILD.md 还提供基于容器(podman/docker)的构建方式,可在干净的 Debian bookworm 环境中一键完成依赖安装与构建。
常用开发脚本(BUILD.md 的脚本表):
| 脚本 | 说明 |
|---|---|
pnpm run build | 构建当前平台的二进制与安装包 |
pnpm run dev | 以开发模式构建并运行 MarkText,源码改动自动热重载(渲染进程),主进程改动需重启 |
pnpm run lint | ESLint 代码风格检查 |
pnpm run test | 运行单元测试(Vitest) |
开发模式中可用Ctrl+R手动重载渲染进程,以提升开发效率(详见 BUILD.md 的 TIP)。平台专属构建命令包括pnpm run build:win(NSIS 安装器 + zip)、pnpm run build:mac(DMG + zip,x64/arm64)、pnpm run build:linux(AppImage、snap、deb、rpm、tar.gz),这些命令在打包前会自动执行minify-locales与electron-rebuild。
参与贡献:从 Issue 到 Pull Request
MarkText 仍处于活跃开发中(当前仓库版本为0.20.0-dev)。如果你想参与:
- 提 Issue 时请使用默认的 issue 模板(关于使用或功能问题均可直接创建 issue);
- 提交 Pull Request 前务必阅读贡献指南(详见 packages/website/content/docs/dev/README.md 对应文档以及仓库内贡献规范);PR 请提交到
develop分支,并在描述中关联相关 issue; - 想了解项目规划,可参考项目路线图(roadmap)与开放的 issue 列表;
- 深度开发者可进一步阅读 packages/website/content/docs/dev/ARCHITECTURE.md(进程与模块分层)、packages/website/content/docs/dev/IPC.md(
mt::前缀 IPC 通道约定)与 packages/website/content/docs/dev/DEBUGGING.md(主进程/渲染进程调试)等开发文档; - 版本更新内容可查阅 packages/website/content/docs/CHANGELOG.md。
许可证
MarkText 以MIT License开源发布(见根目录 LICENSE),允许自由使用、修改与再分发。
综上,MarkText 通过 WYSIWYG 实时预览、CommonMark/GFM/Pandoc 语法支持、KaTeX 数学公式与图表扩展、丰富的主题与编辑模式,为 Markdown 写作提供了完整的桌面体验;同时凭借三平台二进制、主流包管理器(Homebrew、Chocolatey、Winget、AUR)支持以及清晰的可复现构建流程,无论是普通写作者还是希望深入源码的开发者,都能快速上手。本文所有安装命令与构建步骤均以当前仓库中的官方文档为准,实际使用中请以对应平台的 release 页面与 packages/website/content/docs 下的用户/开发者文档为最新依据。
【免费下载链接】marktext📝A simple and elegant markdown editor, available for Linux, macOS and Windows.项目地址: https://gitcode.com/gh_mirrors/ma/marktext
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考