Skip to content

Markion v0.3.5

Choose a tag to compare

@github-actions github-actions released this 07 Sep 15:37
· 8 commits to main since this release

Markion v0.3.5

Markion can now synchronize a notes workspace through an ordinary Git repository with one click, and typewriter mode keeps the caret centered reliably across every editing surface.

Highlights

Git workspace synchronization

  • Sync Now (File menu and status bar) saves eligible named notes, creates a local snapshot commit when content changed, fetches the upstream branch, fast-forwards or merges ordinary divergent history, and pushes to the configured branch — covering buffer, worktree, local history, and remote in one action.
  • File → Set Up Git Sync reviews the canonical worktree, branch, current changes, and file policy before connecting a repository. Hidden paths, symlinks, nested repositories, and unsupported binaries stop one-click sync for review; linked worktrees, submodules, LFS, bare, sparse, partial, shallow, and detached-HEAD workspaces are detected and stay read-only.
  • Secondary actions — Commit Locally, Check Remote, Pull Updates, and Push Commits — are kept separate so a network failure is never reported as a local-save failure.
  • Merge conflicts are resolved per path in the app (This Computer / Remote Version / deletion), verified against the real Git index and worktree bytes before staging. A versioned operation journal outside the repository restores an interrupted operation after a restart, and lost push responses are verified against the remote so retrying never creates duplicate snapshot commits.
  • Local Markdown images participate in the same commit as their note; Organize Images copies eligible local images into the note's asset folder. Markion never rebases, stashes, force-pushes, resets, cleans, or deletes branches automatically.
  • Optional background remote checks (off by default) poll the active workspace at most once per interval without saving, committing, merging, or pushing.
  • Requires Git 2.39+ on PATH and your platform's secure credential helper (Git Credential Manager, macOS Keychain, libsecret) or SSH agent; Markion never enables plaintext credential storage or disables host-key verification. See docs/git-sync.md.

Typewriter mode centering

  • Typewriter mode now centers the caret using measured layout geometry: wrapped visual rows in Edit and Split Preview source panes, and the rendered caret row in Visual Edit — instead of counting hard newlines.
  • Centering survives tab and view switches, window or pane resizes, and font changes: stale geometry from a previous version, tab, or width no longer displaces the scroll position, and the caret recenters once current geometry is measured.
  • Presentation-only leading and trailing scroll room makes the first and final document rows centerable without touching document text, dirty state, undo history, or the derived Markdown cache.
  • Manual scrolling is no longer fought by the mode; the next typing or caret movement recenters. In Split Preview with Sync scroll, the preview follows the recentered source pane.

Compatibility

  • No migration required: Markdown files, preferences, and workspace data from previous versions load unchanged. The new optional [git] section in config.toml is additive with defaults.
  • Windows and macOS installers are unsigned: expect SmartScreen / Gatekeeper prompts on first launch.
  • Git sync requires Git 2.39 or newer available on PATH (or configured via [git] executable).

Downloads

  • Windows x64: markion_0.3.5_x64-setup.exe (NSIS, with signed one-click updater metadata in update.json).
  • macOS Apple Silicon: Markion_0.3.5_aarch64.dmg.
  • Linux x86_64: markion_0.3.5_amd64.deb and markion_0.3.5_x86_64.AppImage.

Verification

  • Local cargo test --workspace: all suites green.
  • Native CI builds succeeded on Windows, macOS, and Ubuntu 22.04, including packaged MarkNice workspace manifest verification for every installer.

Full comparison: v0.3.4...v0.3.5


Markion v0.3.5(中文说明)

Markion 现在可以通过普通 Git 仓库一键同步笔记工作区,打字机模式也能在全部编辑界面上稳定地将光标居中。

主要更新

Git 工作区同步

  • 立即同步(文件菜单与状态栏)会保存符合条件的已命名笔记,在内容变化时创建本地快照提交,拉取上游分支,快进或合并普通的分叉历史,并推送到已配置分支——一次动作覆盖编辑器缓冲区、工作区文件、本地历史与远端四种状态。
  • 文件 → 设置 Git 同步会在接入仓库前让你确认主工作区、分支、当前改动与文件策略。隐藏路径、符号链接、嵌套仓库与不支持的二进制文件会暂停一键同步以供人工检查;链接工作区、子模块、LFS、裸仓库、稀疏/部分/浅克隆以及游离 HEAD 的工作区会被识别并保持只读。
  • 本地提交检查远端拉取更新推送提交等次级操作彼此独立,网络故障绝不会被误报为本地保存失败。
  • 合并冲突可在应用内按路径逐个解决(本机版本 / 远端版本 / 删除),写入前会对照真实的 Git 索引与工作区字节进行校验。仓库外部的版本化操作日志可在重启后恢复中断的操作;推送响应丢失时会向远端核实,重试不会产生重复的快照提交。
  • 笔记引用的本地图片随笔记进入同一提交;整理图片可将符合条件的本地图片复制进笔记的资源目录。Markion 绝不自动执行变基、贮藏、强制推送、重置、清理或删除分支。
  • 可选的后台远端检查(默认关闭)按固定间隔仅检查当前工作区,不会保存、提交、合并或推送。
  • 需要 PATH 上可用的 Git 2.39 及以上版本,以及平台安全的凭据助手(Git Credential Manager、macOS 钥匙串、libsecret)或 SSH agent;Markion 不会启用明文凭据存储,也不会关闭主机密钥校验。详见 docs/git-sync.md

打字机模式居中

  • 打字机模式现在基于实测排版几何居中:编辑模式和分屏预览源码面板按软换行后的可视行计算,可视化编辑模式按渲染后的光标行计算——不再按硬换行计数。
  • 切换标签页或视图、调整窗口或面板大小、更换字体后居中依然可靠:来自旧版本、旧标签或旧宽度的过期几何数据不会再移动滚动位置,光标会在获得当前几何数据后重新居中。
  • 纯展示用途的首尾留白让文档首行和末行都能居中,且不改动文档文本、脏标记、撤销历史或派生 Markdown 缓存。
  • 手动滚动不再被模式抢占;下一次输入或移动光标时才重新居中。分屏预览开启滚动同步时,预览会跟随重新居中的源码面板。

兼容性

  • 无需迁移:旧版本的 Markdown 文件、偏好设置与工作区数据可直接加载。config.toml 中新增的可选 [git] 节为增量字段,带默认值。
  • Windows 与 macOS 安装包未签名:首次启动时需手动绕过 SmartScreen 或 Gatekeeper 提示。
  • Git 同步需要 Git 2.39 及以上版本(可通过 [git] executable 指定路径)。

下载

  • Windows x64:markion_0.3.5_x64-setup.exe(NSIS,附带已签名的一键更新元数据 update.json)。
  • macOS Apple Silicon:Markion_0.3.5_aarch64.dmg
  • Linux x86_64:markion_0.3.5_amd64.debmarkion_0.3.5_x86_64.AppImage

验证

  • 本地 cargo test --workspace:全部测试套件通过。
  • Windows、macOS、Ubuntu 22.04 原生 CI 构建全部成功,每个安装包均通过 MarkNice 工作区清单校验。

完整变更对比: v0.3.4...v0.3.5