# Centerline [English version](README.en.md) Centerline 是一个 Obsidian 插件,为 Markdown 编辑器提供类似 Typora 的专注模式和打字机模式。 ## 功能 - **专注模式**:降低非当前行的透明度,光标所在行保持清晰。 - 可设置光标行上下各保持清晰的行数(0 表示仅当前行清晰)。 - **打字机模式**:让光标所在行平滑滚动到编辑区的固定位置,支持垂直居中或偏上三分之一。 - **禅模式**:设置中的持久开关;开启时立即同时启用专注与打字机模式,`F8` 一键切换两者,`F9` 暂时失效,关闭时全部恢复。 - 同时支持 **Live Preview** 和 **Source Mode**。 - 专注模式和打字机模式相互独立,可以同时开启。 - 插件重载后模式默认关闭;可在设置中开启「记住模式状态」,恢复上次关闭时的状态。 - 支持自定义快捷键、修饰键、输入法组合态、macOS 修饰键显示、冲突检查和恢复默认。 - 默认快捷键: - `F8`:切换专注模式;禅模式开启时改为同时切换两个模式 - `F9`:切换打字机模式;禅模式开启期间暂时失效 阅读模式不会被修改。 ## 关于禅模式 禅模式是设置里的一个开关(也可以通过命令面板或左侧栏的月亮图标切换): - **开启时**:立即同时启用专注与打字机模式,`F8` 变为同时切换两者,`F9` 暂时失效。 - **关闭时**:同时关闭两个模式,`F8` 恢复为切换专注模式,`F9` 恢复为切换打字机模式。 ## 安装 ### 从 Release 安装 1. 在 GitHub Releases 下载与 manifest 版本一致的 `main.js`、`manifest.json` 和 `styles.css`。 2. 在 vault 中创建目录: ```text <你的 vault>/.obsidian/plugins/centerline/ ``` 3. 将这三个文件放入该目录。 4. 打开 Obsidian 的 **设置 > 社区插件**。 5. 启用 **Centerline**。 ### 手动安装 也可以从对应版本的 GitHub Release 单独下载 `main.js`、`manifest.json` 和 `styles.css`,再按上面的目录结构放入插件文件夹。 ## 设置 打开 **设置 > 社区插件 > Centerline**,可以: - 调整专注模式保持清晰的上下文行数(0 为仅当前行清晰)。 - 调整专注模式透明度,或将透明度恢复为默认值。 - 选择打字机模式的光标行位置(垂直居中 / 偏上三分之一)。 - 开启禅模式。 - 开启「记住模式状态」。 - 修改专注模式和打字机模式快捷键,并分别或全部恢复默认值。 专注模式默认透明度为 `42%`,默认上下文行数为 `2`,设置会在插件重载后保留。 ## 命令 命令面板提供: - 切换专注模式 - 切换打字机模式 - 切换禅模式 插件不给命令注册固定快捷键,`F8` / `F9` 由插件自己的快捷键系统处理。请不要在 Obsidian 的「设置 > 快捷键」里给这三个命令绑定按键——两套系统会同时响应,导致一次按键触发两次切换。 ## 开发 项目采用 Obsidian 官方 sample plugin 的工程结构,使用 TypeScript 和 esbuild。 ```bash npm install npm run build npm run dev npm test ``` 开发构建会生成 `main.js`。将它与 `manifest.json`、`styles.css` 一起复制到 vault 的插件目录即可。 CodeMirror 6 扩展通过 `registerEditorExtension` 注册,Obsidian 提供的 CodeMirror 包在构建中保持 external,避免加载第二份 CodeMirror 实例。 ## 已知限制 - 插件只作用于 Markdown 编辑器视图。 - 最终视觉效果会受到当前主题和编辑器布局影响。 - 阅读模式不会改变。 ## 许可证 本项目使用 MIT License,详见 [LICENSE](LICENSE)。 ## English Centerline adds independent Focus Mode, Typewriter Mode, and a persistent Zen Mode switch to Markdown editors. Focus Mode dims non-active lines (optionally keeping a few context lines around the cursor clear). Typewriter Mode smoothly scrolls the cursor line to the vertical center or the upper third. Enabling Zen Mode turns on both modes at once and makes `F8` toggle them together while `F9` is suspended; disabling it restores everything. It supports Live Preview, Source Mode, desktop, and mobile. Default shortcuts are `F8` and `F9`, handled by the plugin itself. Do not bind these commands in Obsidian's own hotkey settings — both systems would fire and each keypress would toggle twice. The plugin is MIT-licensed. To install, download `main.js`, `manifest.json`, and `styles.css` from the matching GitHub Release. Place them in `/.obsidian/plugins/centerline/`, then enable Centerline under **Settings > Community plugins**.