Repository navigation
Releases: marlin-md/marlin-releases
Release list
Marlin 2.0.2
Marlin 会自己检查更新了:有新版本时状态栏提示,点一下就下载安装,装好后自动打开原来的窗口。安装包和历史版本搬到了公开的 marlin-releases。
这一版本身还需要手动安装一次,之后的版本就能自动更新。
自动更新
- 启动几秒后在后台检查,一天最多一次;只向 GitHub 查询有没有新版本,不发送任何文档内容
- 有新版本时状态栏右边出现「新版本 x.y.z」,点开能看到这一版的更新说明,可以「下载并安装」「跳过这个版本」或「以后再说」,不强制
- 安装包下载后先验签名,对不上就不装;有没保存的文档时先全部保存再装
- 设置 → 关于:「自动检查更新」开关(默认开)和「检查更新」按钮
- 便携版只提示有新版本,按钮打开下载页,不自动替换文件
修正
- 实时预览里点表格的格子进入编辑,页面会跳到表格下面的内容
- 分组之间有连线的流程图(如
libs --> SINK,libs是分组)在画板里只能看、不能改 - 放映时右键菜单里有「编辑」「在画板里编辑」「编辑源码」;放映时按
Esc关右键菜单会连放映一起退出
Marlin 2.0.1
右键菜单理顺了:各处都是同一种菜单,右键一个东西就是它的「⋯」;浏览器自带的「返回、刷新、另存为、打印」菜单不再出现。同步面板和文件树可以「放弃改动」。
右键菜单
- 各处的菜单样子一样:分组之间有分隔线,右边写快捷键,用不了的项置灰,删除这类操作是红色;
↑↓Enter可以用键盘选,Esc关 - 实时预览里右键图、图片、表格、公式、HTML 块或卡片头,和点它的「⋯」是同一份菜单;图还有「复制图片」「保存为 PNG…」,图片还有「替换…」
- 编辑器正文:剪切、复制、粘贴、粘贴为纯文本、全选(拼错的词先列拼写建议);「粘贴」和
Ctrl+V一样,截图会存成图片 - 阅读视图:复制、全选、「编辑」(进入编辑,光标在右键的那一段);链接多了「打开链接」「复制链接地址」,图片多了「复制图片」「在资源管理器中显示」,图多了「在画板里编辑」
- 标签页:关闭、关闭其他、关闭右侧、固定、复制路径、在资源管理器中显示、在文件树中显示
- 同步面板的文件:打开、和上次提交比较、复制路径、在文件树中显示
- 表格网格的格子:剪切、复制、粘贴,以及这一行、这一列的操作
- 文件树的文件右键最上面加了「打开」
- 输入框、文本框保留系统的剪切、复制、粘贴菜单
放弃改动
- 同步面板里文件的右键、「⋯」里的「放弃全部改动」,文件树里有改动的文件或文件夹的右键
- 先问,列出要放弃的文件;改过、删掉的恢复成上次提交的样子,新文件移到回收站
- 放弃前把现在的内容备份到仓库的
.git/marlin-backup;开着的文档有没保存的修改,也先存进备份
修正
- 实时预览里编辑表格后,点表格下面的文字会把最后一行选中
- 实时预览的代码块、图表卡片里选中文字看不到选中的底色
- 流程图画板选中一条长连线时,选中框盖住半张图;现在亮的是线本身,改名框在标签上
- 换主题(包括跟随系统切换明暗)后,实时预览里的图有的还是旧主题的颜色
Marlin 2.0.0
画板大版本:流程图、时序图、思维导图都能不写一行语法画出来、改好,文件里始终只有纯 Mermaid 文本,git diff 只有改到的那几行。写源码的人也有补全和中文报错。
流程图画板
- 右边常驻属性面板:节点的文字、8 种形状、颜色、所在分组;连线的两端、标签、线型(实线 / 虚线 / 粗线 / 隐形)、末端(箭头 / 无 / 圆头 / 叉头)、反转方向;分组的标题、方向、解散;什么都没选时是整张图的方向
- 键盘画图:选中节点按
Tab接一个新节点、Enter加同级,直接打字改文字(中文输入法也行),方向键换选中;从节点右侧的圆点拖到空白处新建并连上 - 框选、
Ctrl+A全选,多选时形状、颜色、分组一次改全部;Ctrl+G放进新分组,分组可以嵌套 - 拖到另一个节点的左右是调同层顺序,上下是放到它上面 / 下面;每次修改后节点平滑滑到新位置
- 画板新建的节点 id 取它的文字(
登录 --> 校验),作者写的 id 从不改 - 认得更多写法:
A-->B(不留空格)、A@{ shape: … }、A:::class、连线 id、linkStyle(删改连线后序号自动改对)、两种梯形和双圆
时序图画板
- 左边时间线、中间图、右边属性面板;点图里的消息、注释、框就选中对应的行
- 行里直接改文字,
Enter写入并在下面加一条回复;拖 ⋮⋮ 或Alt+↑↓调顺序,拖进框里就进了框;多选后「包进」循环、分支、可选、并行等框 - 参与者左右拖动排序、双击改名、方框 / 小人;消息的两端、10 种箭头、激活、反转;注释的位置;框的条件、加一段、解开;自动编号
- 做不了的操作会说明原因(比如结束一个还没开始的激活、删除还有消息用到的参与者)
思维导图画板
- 像 XMind 一样在图上改:选中主题直接打字,
Tab加子主题、Enter加同级、Shift+Tab升级、Alt+↑↓调顺序、Delete删除;拖到别的主题中间放进去,拖到上下边排到前后 - 工具栏「大纲」打开左边的大纲,适合大段整理
- 7 种形状和图标;改字、挪动都保留原来的缩进风格和注释
- 新的树状布局:加一个主题时别的分支不动(Mermaid 默认的布局每改一次整张重排)。「/」新建的思维导图默认就是树状;旧图打开画板时一键换成树状。GitHub 等地方照常按原布局显示
三种画板都有
- 「改动 N」:标出和打开时相比改了什么,新加的绿、改过的蓝,删掉的列在状态栏
- 撤销重做、缩放平移、全屏;完成后整个画板的修改是编辑器里的一步撤销
- 画板改不了的写法就只读,并说明原因,不会写坏文件
写源码
- 补全:mermaid 代码块里打字时弹出图的类型、本图已有的节点和参与者、关键字、连线和箭头写法,都带中文说明;选了箭头接着弹出另一端
- 中文报错:图渲染失败时说清楚是第几行、什么问题(「注释要用 %% 开头,不是 //」);常见错误旁边有「修复」按钮,一步改好
- 「/」新建流程图、时序图、思维导图:源码里插入后直接打开画板,实时预览里留在卡片里等你填字
- 粘贴一份提纲(列表、缩进的文字或标题)后,旁边出现「转成思维导图」,一点就成图,
Ctrl+Z换回原文;在思维导图画板里选中主题粘贴,几行按层级加成子主题
其他
- 标题栏的「放映」「导出」只在阅读时显示(编辑时
F5、Ctrl+P照常可用) - 「/」菜单去掉了甘特图模板
- 修正:实时预览里图片工具条的「⋯」菜单出在图片底下,现在紧贴按钮
- 修正:启动后马上双击文件树里的文件,偶尔什么都不打开
- 修正:「最近打开」偶尔显示为空,两个文件同时打开时甚至可能丢掉整个列表;设置等文件现在都是写完整再替换
Marlin 1.5.0
按 F5 把文档全屏放映出来讲:先是封面,之后正文连续滚动、不分页,不用另做幻灯片。讲的时候可以用激光笔指、用画笔圈,笔迹跟着内容走,退出就清空,不改文档。
放映
F5或标题栏「▶ 放映」:窗口全屏,只剩文档;编辑时也能放映(放的是排好版的内容),退出后回到原来的编辑布局- 封面:标题取文档属性里的 title、第一个一级标题或文件名,下面一行作者 · 日期;文档开头的属性表放映时不显示
- 正文自动放大到适合屏幕宽度;右下角工具条上可
−/+/ 「适应」,Ctrl 0回到适应屏幕 ↓↑(PageDownPageUp、空格)翻一屏;→←在文档用到的最高两级标题之间跳;Home/End到封面、文末;Esc退出,窗口、缩放都恢复- 鼠标停 2 秒自动隐藏
- 比一屏高的 Mermaid 图缩到一屏之内;点图全屏看全貌,可缩放、拖动,
Esc回到放映
演示笔
- 激光笔
L:跟着鼠标的红点,带短拖尾,不留痕迹 - 画笔
P:5 种颜色(1–5)、细 / 中 / 粗,线宽随数位笔压感变化 - 荧光笔
H:半透明黄色;橡皮X:碰到哪一笔擦掉整笔;C全部清除 - 笔迹跟着内容滚动和缩放,压在原来的字上;拿着笔时
Esc先放下笔,再按一次才退出放映
Marlin 1.4.0
文件夹在 Git 仓库里时,Marlin 能看出改了什么,一键提交、拉取、推送,冲突在应用里逐个解决,也能直接克隆仓库。用的是电脑上装的 git,登录交给 git 自己(SSH 密钥或登录窗口),Marlin 不保存任何密码。不在仓库里、没装 git 时,一切和以前一样。
看得到改了什么
- 文件树:改过的文件标 M(黄),新文件标 U / A(绿),冲突和删除标红;里面有改动的文件夹带一个点
- 状态栏:分支,
↑没推送的提交数,↓远端的新提交数;点它打开「同步」页签 - 打开文件夹时在后台获取一次远端,之后默认每 10 分钟一次(设置 → 打开文件 → Git),只获取不合并;不弹登录窗口
- 在终端里 commit、pull,或保存文件后,1 秒内更新
- 编辑器(分栏、仅源码):和上次提交比,改过的行左侧有色条(新增绿、修改蓝、删除处红三角);点色条看原来的内容,「还原这一块」
同步
- 侧栏「同步」页签:改动列表带勾选框,点文件名并排对比;提交说明不填就按改动生成(「更新 a.md、b.md」)
- 「同步」一键完成:保存打开的文档 → 提交勾上的 → 拉取(rebase)→ 推送;「⋯」里也能单独提交、拉取、推送、获取
- 只提交勾上的文件;还有没提交的改动时拉取,先问要不要暂存
- 出错时用中文说明原因:连不上远端、远端拒绝登录、要先拉取、没设置名字和邮箱
- 没设置提交用的名字和邮箱时在面板里填,只写进这个仓库
冲突
- 拉取遇到冲突时停下,逐个文件选「保留我的」「使用远端」或「手动改」;用远端的内容前先把我的版本备份到
.git/marlin-backup - 编辑器里的冲突块写明上面是远端的、下面是我的,带「用远端的 / 用我的 / 两个都要」按钮
- 全部解决后「继续」完成拉取并推送;随时可以「中止」,回到拉取之前
克隆
- 起始页和菜单里的「克隆仓库…」:填地址、选位置(记住上次的位置),完成后打开
Marlin 1.3.0
编辑模式多了第三种布局「实时预览」:直接在排好版的正文里改,代码、公式、图表、表格、图片、折叠块都是原地可改的卡片,不露 Markdown。表格可以像表格软件一样编辑。
实时预览
- 编辑时的第三种布局,和「分栏」「仅源码」并列:
Alt+1分栏、Alt+2实时预览、Alt+3仅源码(阅读时按也直接进编辑),标题栏三段按钮点一下就到;Ctrl+\照旧轮换。设置 → 编辑器里可以设为默认 - 标题、粗体、斜体、链接、列表、引用、提示框按阅读样式显示,光标所在处才露出
**、#这些符号;任务列表的复选框点一下就勾上 - 代码块是卡片:头上选语言、复制,代码原地改,看不到围栏
- 公式块是卡片:上面写 LaTeX,下面实时排版;行内公式
$…$点一下在小框里改,带预览 - Mermaid 图是卡片:上面写源码,下面边打边画;写错时一行红字指出第几行,图保留上一版;有模板、画板(流程图)和「⤢ 展开」大窗口。
/流程图插入后留在卡片里 - 图片点一下出工具条:改说明文字、替换、复制删除移动;拖右下角调大小(写成
<img … width>),「原始大小」变回去 - 折叠块
<details>是卡片:头上改标题,下面直接写正文 - 脚注引用显示成上标编号,文末的定义显示成脚注区,光标碰到时露出源码
- HTML 块显示渲染结果,
⋯ → 编辑源码才露出源码 - 每张卡片的
⋯:复制整块的 Markdown、删除、上移、下移 - 复制得到 Markdown 原文;查找能找到被隐藏的内容;三种布局来回切换时停在同一行;整页缩放同样作用于实时预览
- 什么都不改时文件一个字节都不变(BOM、CRLF 保留)
表格
- 实时预览里点表格的某一格,表格原地变成可编辑的网格,改一格写一格;分栏和仅源码里点第一行末尾的「✎ 编辑表格」打开表格面板
Tab/Enter在格子间移动;增删行列、设对齐;拖行号、列头调整顺序;按某一列升序 / 降序(数字按数值、中文按拼音)- 拖过几个格子选中一块:
Ctrl+C复制出去能直接贴进 Excel,Delete清空,Ctrl+V贴进来;格子里Shift+Enter换行 - 原表对齐就重新对齐,紧凑就保持紧凑,没改的行一个字符不动;一次
Ctrl+Z退回整次编辑 /表格先在弹出的网格里选几列几行
文档属性
- 开头的 YAML(
---之间的title、owner、tags: [a, b]等)显示成一张属性表,列表是小标签;不再变成分隔线和标题,也不进大纲。阅读、分栏预览、导出都一样
其他
- 分栏右侧的预览和阅读模式一样只用来看,表格面板、画板都从编辑器打开,在当前布局上原地打开
<img src="相对路径">写的本地图片在预览和导出里也能显示- 修复:脚注的引用顺序和书写顺序不同时,脚注块的行号颠倒,滚动同步跑偏
Word 导入导出推迟到之后的版本。
Marlin 1.2.0
能打开整个文件夹了:左侧文件树,在树里管理文件,改名时同步改链接,按文件名快速打开、全目录搜索;图片、PDF 在标签里看,文本、配置和代码文件在编辑器里改。阅读模式改为纯阅读,整页可以缩放。
打开文件夹
- 入口:起始页或菜单里的「打开文件夹…」(
Ctrl+Shift+O)、把文件夹拖进窗口、命令行marlin.exe <目录>、「最近打开」里的文件夹;安装版在资源管理器里右键文件夹(或文件夹里的空白处)有「用 Marlin 打开」,Win11 上在「显示更多选项」里 - 一个窗口对应一个文件夹:当前窗口还没有文件夹就在这里打开,已经有了就开新窗口,已经开着的文件夹直接切过去;双击属于某个已打开文件夹的
.md,在那个窗口开标签 - 侧栏分「文件 / 大纲 / 搜索」三个页签,宽度可以拖动并记住;
Ctrl+Shift+E切到文件树 - 文件树:文件夹在前、数字按大小排(
2.md在10.md前);按.gitignore和隐藏文件夹过滤,「⋯」里可切换「只看 Markdown」「显示被忽略的文件」;打不开的类型颜色淡一些;外部增删文件 1 秒内反映到树上;↑↓←→和Enter可以操作 - 单击文件在「临时标签」里打开(标题斜体),再单击别的文件就替换它;双击、开始编辑或双击标签标题转为普通标签。临时标签不记进「最近打开」
- 「最近打开」同时记文件和文件夹,起始页用「文件 / 文件夹」切换
- 启动时不自动恢复上次的文件夹,起始页一键回去
文件管理
- 树里右键:新建文件(预填
未命名.md)、新建文件夹、重命名(F2,只改大小写也行)、删除(Delete,进回收站,先确认,可勾「不再询问」)、复制路径 / 相对路径、在资源管理器中显示;拖到文件夹上就是移动 - 已打开的文件被改名或移动时,标签跟着走,未保存的改动保留;被删除时,没改动的标签关掉,有改动的保留并提示
- 改名或移动后,列出工作区里指向它的链接(
[文字](路径)、、引用式定义),问要不要一起改;只改路径那一小段,#锚点、尖括号、百分号编码、BOM、CRLF 都保留,代码块里的文字不动。打开着的文档在编辑器里改,可以Ctrl+Z撤销 - 点
[说明](guide.md#安装)打开 guide.md 并滚到「安装」这个标题;找不到标题时停在开头并提示
搜索
Ctrl+Shift+P快速打开:按文件名模糊查找,字母按顺序出现即可(rdme→ README.md);Enter打开,Ctrl+Enter新窗口;没打开文件夹时在「最近打开」里找Ctrl+Shift+F在文件夹中搜索:边输入边搜,支持区分大小写、全词、正则;结果按文件分组,点一条跳到那一行(Markdown 滚到那一段并短暂高亮,代码文件在编辑器里选中);打开着、没保存的文档搜编辑器里的内容;跳过被忽略的、超过 5 MB 的和二进制文件
图片、PDF 与非 Markdown 文件
- 图片(png jpg gif webp svg bmp avif)在标签里看,适应窗口显示,滚轮缩放、拖拽平移;PDF 用 WebView2 自带的查看器预览
.mmd/.mermaid整个文件渲染成一张图,可以编辑、进画板,保存后仍是纯 Mermaid- 文本、配置、代码和脚本(json yaml toml xml csv log ini、js ts py rs go java c cpp cs php rb sh ps1 bat 等,以及没有扩展名的文件)在带语法高亮的编辑器里打开,可以编辑保存;保存时 BOM、CRLF / LF、末尾有没有换行都不变;
Tab跟着文件原有的缩进走。脚本从不运行 - 超过 5 MB 或内容是二进制的文件、Word 等其他类型交给系统程序打开;exe、lnk、vbs 等程序只在资源管理器中显示,不运行
- 从树里把图片拖进正在编辑的文档,插入相对路径
阅读、编辑与缩放
- 阅读模式改为纯阅读:阅读时的任何操作都不会改动文档;画板入口只在编辑模式的分栏里;阅读时双击正文不再进入编辑
- 整页等比缩放:正文栏、字号、图片、Mermaid、公式一起缩放,窗口放不下时正文重新换行;状态栏常驻
− 100% +,点百分比可选「适应窗口宽度」和常用比例;新增Ctrl + 滚轮;缩放前后保持阅读位置
窗口与菜单
- 标题栏最右边的「☰」菜单:新建文件、新建窗口(
Ctrl+Shift+N)、打开文件、打开文件夹、最近打开、帮助(Markdown 语法速查 / 键盘快捷键 / 关于)、设置;原来标题栏上的新建、打开、帮助、设置图标收进了菜单 - 已经开着 Marlin 时,从开始菜单或任务栏再启动一次,开一个新的空窗口(以前什么也不发生)
修复
- 设置的快捷键页补上
Ctrl+Shift+P、Ctrl+Shift+F、Ctrl+Shift+N
Marlin 1.1.0
编辑态输入 / 呼出插入菜单,不熟悉 Markdown 语法也能写出表格、代码块、公式和 Mermaid 图。
/ 插入菜单
- 在行首,或空格、中文标点之后输入
/弹出菜单;URL、路径、代码、HTML 和公式里的/不触发 - 继续输入即过滤,中文、拼音全拼 / 首字母、英文都能找到:
/表格、/bg、/table - 条目:标题 1–3、引用、提示框、分割线、无序 / 有序 / 任务列表、代码块、表格、数学公式、折叠块、图片…、链接、脚注、流程图 / 时序图 / 思维导图 / 甘特图、今天日期
- 插入后光标停在第一个要填的位置,
Tab跳到下一个空位(表格逐格填写);Ctrl+Z一次复原,连同那个/ - 「图片…」打开文件选择器:图片按粘贴图片的规则存进
assets/,已经在文档旁边的图片直接用相对路径,不复制 - 「流程图」插入后自动切到分栏并打开画板
- 过滤结果相同时,最近用过的排在前面
- 光标所在的空行显示淡色提示「输入 / 插入内容」;设置 → 编辑器里可以关掉菜单
编辑
Ctrl+I斜体:包住选中文字,再按一次取消Ctrl+K链接:选中文字变成链接文字、光标跳到网址;选中的是网址则反过来;没选中时插入[文字](网址)模板
阅读
- 支持 GitHub 提示框(
> [!NOTE]、[!TIP]、[!IMPORTANT]、[!WARNING]、[!CAUTION]),默认标题显示为注意 / 提示 / 重要 / 警告 / 危险,源码里写了标题则用源码的;配色在深浅主题下都清楚,自定义主题可用--md-alert-*覆盖
修复
- 多屏时文件对话框(打开、新建、选图片、导出 PNG / HTML / PDF)可能出现在另一块屏上;现在都出现在 Marlin 窗口上方,并且是模态的
- 在
/菜单里用回车选「图片…」时,文件对话框上看不到鼠标指针(点击仍然有效)
Marlin 1.0.0
正式版。PRD 的 P1 功能全部完成,Mermaid 流程图可以不写语法、在画板里直接改。
Mermaid 画板
- 流程图上点「✎ 编辑」或右键「编辑图…」,在全窗口画板里改图,点「完成」一次写回源码
- 从托盘拖入节点(矩形、圆角、菱形、圆形等),从节点圆点拖出连线,双击改文字,切换形状,删除节点或连线
- 多选后
Ctrl+G编组,节点可拖进 / 拖出分组,分组可改标题、解组 - 缩放、平移、全屏(
F11),Ctrl+Z/Ctrl+Y撤销重做 - 写回只改动相关的几行,注释、
%%{init}%%和原有排版不动;画板打开期间源码被别处改了会提示冲突 - 流程图默认样式更紧凑、字号小一号,同样面积能放下更多内容
编辑
Ctrl+S只保存、留在编辑态;1 秒内连按 3 次才回到阅读态- 新建文件(
Ctrl+N):先选位置和文件名,建好后直接进编辑态 - 查找替换(
Ctrl+H):区分大小写 / 全词 / 正则,显示「第几个 / 共几个」,正则替换支持$1,全部替换一次撤销 - 粘贴截图、拖入图片:存到文档旁的
assets/(可在设置里改),自动插入相对路径;同一张图重复粘贴只存一份 - 英文拼写检查:内置 en-US 词典,代码、链接、驼峰和全大写词不查;右键给建议或加入词典,可在设置里关闭
- 修复:鼠标选中文本时没有背景色、偶尔错位
阅读
- 数学公式:
$…$、$$…$$和```math用 KaTeX 排版;写错的公式显示红色原文,悬停看原因;没有公式的文档不加载 - 重新打开文件时回到上次读到的位置(按源码行记录,换窗口大小或缩放也对得上)
- 代码块右上角「复制」按钮
- 点正文里的图片放大查看,滚轮缩放、拖拽平移
导出与打印
- 导出 HTML:单个文件,图表、公式、本地图片都内嵌,在别的电脑上打开和预览一样
- 导出 PDF:直接存成 A4 文件,不经过打印对话框;主题背景铺满整页,每页都有页边距留白
- 打印(
Ctrl+P):系统打印对话框;大文档也会打印全文 - 超过约 4 MB 的文档(约 3000 页 A4)不再导出 PDF / 打印,提示改为导出 HTML;10 MB 文档导出 HTML 约 12 秒
- Mermaid 图右键「复制图片」,2× PNG 直接贴进聊天软件或文档
起始页与窗口
- 没有打开文件时显示起始页:「打开文件…」「新建文件…」和最近打开的 20 个文件;已移动或删除的文件划线显示,可从列表移除
- 标题栏新增新建、打开按钮和「导出」菜单(导出 PDF / 导出 HTML / 打印);设置按钮换成齿轮图标
- 起始页重做:居中排版,「打开文件」「新建文件」两张卡片;最近打开默认列 6 个、可展开全部,文件名左、路径右对齐,可按文件名或路径搜索,回车打开第一个
- 关闭最后一个标签回到起始页,起始页上再按
Ctrl+W才关窗口 - 设置面板重排:每项一行、标签左对齐,说明文字小一号且不超过两行;快捷键单独一页,一行一个
- 「Markdown 语法速查」:标题栏「?」按钮或「设置 → 关于」打开,每种写法配效果对照
- 起始页上不显示目录按钮
- 修复:标签很多时标题栏的「导出」按钮被挤成两行
便携版
Marlin_1.0.0_x64-portable.zip解压即用:设置、最近文件、WebView2 缓存都放在程序旁的data\,不写用户目录,也不提示设为默认
已知限制
- 仅 Windows x64
- 10 MB 级文档在编辑态每次按键约 0.5 秒,阅读不受影响
- 打印保留主题背景:深色主题用纸打印前建议切到浅色主题
- 便携版与安装版同时运行时共用一个进程,后打开的文件会交给先启动的那个
- 拼写检查只支持英文
Ctrl+Shift+T(主题)在中文输入法下可能被截走,状态栏按钮是主入口
下载
Marlin_1.0.0_x64-setup.exe:安装版,装到当前用户目录,不需要管理员权限Marlin_1.0.0_x64-portable.zip:便携版,解压即用
Marlin 0.1.0(内测)
Marlin 0.1.0 内测版。Windows 10 1809+ / Windows 11,x64。
下载 Marlin_0.1.0_x64-setup.exe 运行即可,安装到当前用户目录,不需要管理员权限。装完后首次打开 .md 会提示「设为默认打开方式」,点一次即可。
- 大小:4.23 MB
- SHA-256:
8deb8f20604e5c13436e634d503e182ad1a325138e6218d47c6aa5975aabb248
第一个可发的版本。PRD 里的 P0 功能都在,性能指标除内存一项外全部达标(那一项是 WebView2 的固定开销,指标已改为按文档增量计算)。
打开与阅读
- 注册
.md/.markdown文件关联,双击即开;命令行marlin.exe <path>与拖拽打开 - 单实例:再次打开文件转交给已有进程,默认在最近使用的窗口里新开标签
- CommonMark + GFM:表格、任务列表、删除线、脚注、自动链接
- 代码高亮,除 syntect 自带语法外另打包 TypeScript / TSX、Kotlin、Swift、Dart、TOML、Dockerfile、Nginx、GraphQL、Protobuf、SCSS、INI
- 目录侧栏,滚动时高亮当前章节,点击跳转
- 页内查找(
Ctrl+F),用 CSS Custom Highlight API,不改动已渲染的 DOM - 非 UTF-8 文件(GBK、Big5、UTF-16 等)自动探测并只读打开,一键转成 UTF-8 后可编辑
- 相对路径的图片与本地 md 链接按文件所在目录解析;外链交给系统浏览器
编辑
E进入编辑,左源码右预览,双向滚动同步,Ctrl+S保存并回到阅读态- 保存是「写临时文件 + 原子改名」,保留原文件的 BOM 与换行符
- 保存前检测文件是否被外部改动,冲突时交给用户选择;未编辑时外部改动自动重载
- 崩溃恢复:编辑中定期快照,异常退出后重开提示恢复
- 连打时的多次改动合并成一次渲染,大文档不会越拖越远
Mermaid
- 全图类型按需加载,纯文本文档不加载这部分代码
- 样式从主题变量推导,换主题自动重渲染
- 语法错误时保留上一次成功的图并标出行号,点击跳到源码
- 点击放大(滚轮缩放、拖拽平移);右键复制 SVG、导出 2× PNG
- 改一张图只重渲染这一张(20 图文档实测 41 ms)
主题与设置
- 内置 6 套预览主题:Marlin Light / Dark、GitHub Light / Dark、学术、护眼绿
- 代码高亮主题可独立选择:跟随主题 / GitHub / One Dark / Solarized Light
- 跟随系统明暗,明暗各自可指定主题
- 字号、行高、正文宽度、正文字体可覆盖;
Ctrl +/-/0临时缩放 - 自定义主题放进
<app data>/themes/<id>/,改动即时生效,无需重启 - 设置存
<app data>/settings.json,多窗口实时同步
窗口与文件
- 多标签多窗口,同一文件跨窗口聚焦已有标签
- 记住窗口位置与大小,新窗口相对上一个偏移
- 设置项:外部打开的文件进标签还是新窗口
大文档
- 超过 1000 块的文档由 Rust 分页交付,前端只渲染视口附近的块
- 10 MB 语料:启动到可见 1.8 s,补齐期间滚动 68–75 fps,补齐后 140 fps
- 渲染核心的高亮与净化并行化:1 MB 语料 167 ms → 67 ms
安装器
- NSIS,安装到当前用户目录,不需要管理员权限
- 覆盖升级保留设置、主题与文件关联;运行中升级会提示关闭
- 卸载可选删除应用数据,并清理文件关联(不留下指向已删除程序的
.md关联) .md文件有独立的文件图标,与应用图标区分
已知限制
- 仅 Windows x64
- 10 MB 级文档在编辑态每次按键约 0.5 秒(comrak 每次整篇重新解析),阅读不受影响
- 内存基线由 WebView2 决定:空窗口约 450 MB 工作集 / 230 MB 私有,文档本身 1 万字约多占 20 MB
Ctrl+Shift+T(主题)在中文输入法下可能被输入法切换热键截走,状态栏按钮是主入口- 卸载再安装后,需要重新点一次「设为默认打开方式」