经过在 QQ 频道里近 3 个月的测试,OhMyMN 更新了 16 个测试版,现在发布 v4.1.0 签名版本,你如果从 v4.0.0 升级过来,可能你需要查看一下 更新记录,部分功能进行了删减和调整。由于 v4.0.0 版本发布的有点急,导致一些 bug 没有修复。一些功能也没来的急写,v4.1.0 才算得上完全体的 v4。
简介
对于 插件开发者
MarginNote 开放的 API 比较底层,导致上手比较困难,需要大量 Objective-C 以及 iOS 开发相关知识。OhMyMN 做的就是简化这一切,首先是将所有 API 翻译成 TypeScript 版本,并且封装了大量好用的方法,使得你不用接触到底层 API 也能进行开发。
其次,OhMyMN 提供了一套非常好用的模块化开发框架,将其与控制面板以及配置管理相绑定。想要开发一个和 OhMyMN 一样复杂的插件,离不开这些东西。
最后,OhMyMN 完全使用 TypeScript 进行开发,配合 VS Code,可以实现代码提示,类型检查,在编译期就能杜绝大多数的问题,进行功能重构时也非常方便。
目前 TypeScript 版 API 已经发布到 NPM,随着 OhMyMN v4.1.0 的发布,API 基本已经稳定,OhMyMN 的整体架构也已经稳定,基本不会进行大的调整。如果后续有想要参与的人,我会补充上注释和文档。但目前这部分不会成为我的主要工作。
普通用户 要注意听了
模块可以类比于插件,是 OhMyMN 内部的插件。
首先要明白 OhMyMN 本质上是一个工具箱。里面所有的功能都是单独的模块,每个模块都被赋予了三种能力:
- 摘录时,修改摘录的内容或者获取摘录内容并进行其他操作。
- 脑图中选中卡片后,对卡片进行修改或获取信息并进行其他操作。
- 文档中选中文字后,获取文字或选区信息并进行其他操作。
有的模块可能三种能力都用了,有的可能只用了其中一个,也有的一个都没有,仅仅只是一些选项。
使用第一种能力的模块通常以 Auto 开头,比如 AutoTitle,AutoDef,表示可以在摘录时自动执行(默认不执行,需要开启 摘录时自动执行
)。使用第一种能力的模块通常还会使用第二种能力,以便处理已经存在的卡片。
第二种能力和第三种能力也通常同时使用,比如用来复制,搜索,导出。它们有一个共同的名字 —— 动作(Action)。所有模块的动作都会出现在 MagicAction for Card 和 MagicAction for Text 中,也就是一个按钮,点击就会执行相应的动作。
除此之外,所有模块被分为了两大类:
- 必选模块:无法关闭的模块。
- OhMyMN
- MagicAction for Card:一些与卡片有关的动作
- MagicAction for Text:一些与文本有关的动作
- 可选模块:可以选择开启的模块,可以在
OhMyMN-模块快捷开关
中启用
- Shortcut:使用 URL Scheme 触发动作,可自行设置快捷键来打开 URL Scheme。
- Gesture:使用手势触发动作。
- CopySearch:复制或搜索选中的文字或选中的卡片。
- AutoX
- Another AutoTitle:自动转标题。
- Another AutoDef:自动拆分摘录为标题和摘录两部分,提取标题。
- AutoFormat:自动格式化摘录,比如自动添加空格。
- AutoComplete:自动补全英文单词词形,填充单词信息,制成单词卡片。
- AutoReplace:自动替换摘录中的内容。
- AutoList:自动在指定位置换行,添加序号。
- AutoTag:自动添加标签或者提取部分内容为标签。
- AutoComment:自动添加评论或者提取部分内容为评论。
- AutoStyle:自动设置摘录颜色和填充样式。
- AutoOCR:自动对摘录的选区进行 OCR 识别或者矫正。
- AutoTranslate:自动翻译摘录的内容。
- AutoSimplify:自动将繁体转为简体中文。
这里就展示三个基本操作吧:
1、根据字数自动将摘录转为标题,有标题时直接合并标题,充分利用标题链接。
2、英文单词制卡,补全单词词形,充分利用标题链接。
3、对脑图卡片分层进行编号。
使用方法
使用指南:https://ohmymn.marginnote.cn/guide/
PDF 版本的使用指南:OhMyMN v4.1.1 文档(PDF内跳转).pdf (13.2 MB)
OhMyMN 非常的自由,功能强大。使用指南只提供最基本的使用方法,你需要自行探索使用技巧。现在你还可以在论坛 方法、技巧、工作流 学习到更多 OhMyMN 使用技巧,也欢迎分享你的使用技巧。
- 【OhMyMN 使用技巧分享】Another AutoTitle —— 自动转标题,自动合并标题
- 【OhMyMN 使用技巧分享】Another AutoDef —— 将摘录一分为二,提取标题
- 【OhMyMN 使用技巧分享】AutoComplete —— 摘录单词自动制卡
- 【OhMyMN 使用技巧分享】AntoFormat —— 中文格式优化
- 【OhMyMN 使用技巧分享】AutoList —— 摘录列表自动换行,自动编号
- 【OhMyMN 使用技巧分享】AntoStyle —— 自动设置摘录颜色和样式
- 【OhMyMN 使用技巧分享】重命名标题 —— 把卡片标题批量重命名这块彻底拿捏住!
- 【OhMyMN 使用技巧分享】MagicAction & Gesture —— 一键转标题,一键 OCR 公式
- 【OhMyMN 使用技巧分享】CopySearch —— 跳转欧陆词典查词只是冰山一角
- 【OhMyMN 使用技巧分享】AutoTranslate —— 自动翻译摘录
- 【OhMyMN 使用技巧分享】AutoOCR —— 小语种在线矫正,公式识别
注意事项
请认真阅读
-
OhMyMN 的使用逻辑与以往的插件均不相同,尤其是以 Auto 开头的模块,是真正的自动化。你需要设定执行的条件并开启
摘录时自动执行
,让它可以在你需要的时候自动执行。模块通常会提供预设,你可以直接选用,也可以自定义。OhMyMN 不推荐无差别执行,所以没有提供全局的开关来一键开启或关闭 OhMyMN。 -
所有模块的预设中自定义的优先级始终最高。
-
如果你正在创建笔记本,需要在创建完成后重新进入,让 OhMyMN 知道你刚导入的文档。
-
OhMyMN 只能处理摘录,从浏览器中拖进来的或者自己输入的都属于评论。
-
不要将 OhMyMN 和其他在摘录时自动执行的插件同时使用,可能会出现冲突。
-
自定义输入时需要
回车
确认,会出现保存成功的提示,同时输入法关闭。否则就是输入错误。 -
在插件设置中停用 OhMyMN 可以
清空配置
,如果出现错误导致崩溃,可以停用再启用插件。当然,大部分情况下都不需要清空配置,不然重新设置起来会非常的麻烦。 -
如果你划重点,MN 会重新获取新的摘录内容,进而导致 OhMyMN 的处理失效。可以在划完重点后稍微修改一下摘录选区,即可重新处理摘录。
-
划完重点后,OhMyMN 获取到的重点两边会出现两个
*
,比如**这是重点**
,在替换,筛选,提取等操作时要格外注意。 -
如果安装插件后看不到笑脸 Logo,可以尝试重现安装,如果还是不行,说明系统版本太低,可以尝试升级系统。
-
想要让 Auto 模块协同工作,必须先了解一下模块的执行顺序。
讨论
加入 QQ 频道,一起讨论(QQ 频道处于内测中,有可能无法加入)。频道内会发布最新版本,论坛中只会发布签名版本。
下载
需要 MarginNote v3.7.21 版本。
ohmymn_v4_1_1_signed.mnaddon (598.4 KB)
v4 还有一个版本,将 AutoComplete 中需要的数据库打包了进来,从而不再受网络影响。数据库体积较大,并且进行了压缩,在安装插件时会解压数据库,导致首次打开 MN 时间较长,但之后不会有所影响。显示超时就是 AutoComplete API 挂了,只能用这个本地数据库。
该版本需要在 OhMyMN 官方 QQ 频道的新版发布中下载,欢迎加入。进不去就直接下 ohmymn_v4_1_1_signed_local_database_autocomplete.mnaddon官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘
源码
marginnoteapp/ohmymn: MarginNote Addon Development Framework (github.com)