Skip to content

Releases: marlin-md/marlin-releases

Marlin 2.0.2

Choose a tag to compare

@danielmlc danielmlc released this 15 Oct 10:36

Marlin 会自己检查更新了:有新版本时状态栏提示,点一下就下载安装,装好后自动打开原来的窗口。安装包和历史版本搬到了公开的 marlin-releases。

这一版本身还需要手动安装一次,之后的版本就能自动更新。

自动更新

  • 启动几秒后在后台检查,一天最多一次;只向 GitHub 查询有没有新版本,不发送任何文档内容
  • 有新版本时状态栏右边出现「新版本 x.y.z」,点开能看到这一版的更新说明,可以「下载并安装」「跳过这个版本」或「以后再说」,不强制
  • 安装包下载后先验签名,对不上就不装;有没保存的文档时先全部保存再装
  • 设置 → 关于:「自动检查更新」开关(默认开)和「检查更新」按钮
  • 便携版只提示有新版本,按钮打开下载页,不自动替换文件

修正

  • 实时预览里点表格的格子进入编辑,页面会跳到表格下面的内容
  • 分组之间有连线的流程图(如 libs --> SINK,libs 是分组)在画板里只能看、不能改
  • 放映时右键菜单里有「编辑」「在画板里编辑」「编辑源码」;放映时按 Esc 关右键菜单会连放映一起退出

Marlin 2.0.1

Choose a tag to compare

@danielmlc danielmlc released this 15 Oct 08:32

右键菜单理顺了:各处都是同一种菜单,右键一个东西就是它的「⋯」;浏览器自带的「返回、刷新、另存为、打印」菜单不再出现。同步面板和文件树可以「放弃改动」。

右键菜单

  • 各处的菜单样子一样:分组之间有分隔线,右边写快捷键,用不了的项置灰,删除这类操作是红色;↑ ↓ Enter 可以用键盘选,Esc 关
  • 实时预览里右键图、图片、表格、公式、HTML 块或卡片头,和点它的「⋯」是同一份菜单;图还有「复制图片」「保存为 PNG…」,图片还有「替换…」
  • 编辑器正文:剪切、复制、粘贴、粘贴为纯文本、全选(拼错的词先列拼写建议);「粘贴」和 Ctrl+V 一样,截图会存成图片
  • 阅读视图:复制、全选、「编辑」(进入编辑,光标在右键的那一段);链接多了「打开链接」「复制链接地址」,图片多了「复制图片」「在资源管理器中显示」,图多了「在画板里编辑」
  • 标签页:关闭、关闭其他、关闭右侧、固定、复制路径、在资源管理器中显示、在文件树中显示
  • 同步面板的文件:打开、和上次提交比较、复制路径、在文件树中显示
  • 表格网格的格子:剪切、复制、粘贴,以及这一行、这一列的操作
  • 文件树的文件右键最上面加了「打开」
  • 输入框、文本框保留系统的剪切、复制、粘贴菜单

放弃改动

  • 同步面板里文件的右键、「⋯」里的「放弃全部改动」,文件树里有改动的文件或文件夹的右键
  • 先问,列出要放弃的文件;改过、删掉的恢复成上次提交的样子,新文件移到回收站
  • 放弃前把现在的内容备份到仓库的 .git/marlin-backup;开着的文档有没保存的修改,也先存进备份

修正

  • 实时预览里编辑表格后,点表格下面的文字会把最后一行选中
  • 实时预览的代码块、图表卡片里选中文字看不到选中的底色
  • 流程图画板选中一条长连线时,选中框盖住半张图;现在亮的是线本身,改名框在标签上
  • 换主题(包括跟随系统切换明暗)后,实时预览里的图有的还是旧主题的颜色

Marlin 2.0.0

Choose a tag to compare

@danielmlc danielmlc released this 15 Oct 08:32

画板大版本:流程图、时序图、思维导图都能不写一行语法画出来、改好,文件里始终只有纯 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

Choose a tag to compare

@danielmlc danielmlc released this 15 Oct 08:31

按 F5 把文档全屏放映出来讲:先是封面,之后正文连续滚动、不分页,不用另做幻灯片。讲的时候可以用激光笔指、用画笔圈,笔迹跟着内容走,退出就清空,不改文档。

放映

  • F5 或标题栏「▶ 放映」:窗口全屏,只剩文档;编辑时也能放映(放的是排好版的内容),退出后回到原来的编辑布局
  • 封面:标题取文档属性里的 title、第一个一级标题或文件名,下面一行作者 · 日期;文档开头的属性表放映时不显示
  • 正文自动放大到适合屏幕宽度;右下角工具条上可 − / + / 「适应」,Ctrl 0 回到适应屏幕
  • ↓ ↑(PageDown PageUp、空格)翻一屏;→ ← 在文档用到的最高两级标题之间跳;Home / End 到封面、文末;Esc 退出,窗口、缩放都恢复
  • 鼠标停 2 秒自动隐藏
  • 比一屏高的 Mermaid 图缩到一屏之内;点图全屏看全貌,可缩放、拖动,Esc 回到放映

演示笔

  • 激光笔 L:跟着鼠标的红点,带短拖尾,不留痕迹
  • 画笔 P:5 种颜色(1–5)、细 / 中 / 粗,线宽随数位笔压感变化
  • 荧光笔 H:半透明黄色;橡皮 X:碰到哪一笔擦掉整笔;C 全部清除
  • 笔迹跟着内容滚动和缩放,压在原来的字上;拿着笔时 Esc 先放下笔,再按一次才退出放映

Marlin 1.4.0

Choose a tag to compare

@danielmlc danielmlc released this 15 Oct 08:31

文件夹在 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

Choose a tag to compare

@danielmlc danielmlc released this 15 Oct 08:31

编辑模式多了第三种布局「实时预览」:直接在排好版的正文里改,代码、公式、图表、表格、图片、折叠块都是原地可改的卡片,不露 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

Choose a tag to compare

@danielmlc danielmlc released this 15 Oct 08:31

能打开整个文件夹了:左侧文件树,在树里管理文件,改名时同步改链接,按文件名快速打开、全目录搜索;图片、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

Choose a tag to compare

@danielmlc danielmlc released this 15 Oct 08:30

编辑态输入 / 呼出插入菜单,不熟悉 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

Choose a tag to compare

@danielmlc danielmlc released this 15 Oct 08:30

正式版。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(内测)

Pre-release

Choose a tag to compare

@danielmlc danielmlc released this 15 Oct 08:30

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(主题)在中文输入法下可能被输入法切换热键截走,状态栏按钮是主入口
  • 卸载再安装后,需要重新点一次「设为默认打开方式」