V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ccyixia
V2EX  ›  分享创造

忍不了了,做了个插件让 OneNote 支持 Markdown

  ccyixia · 196 天前 · 19209 次点击
这是一个创建于 196 天前的主题,其中的信息可能已经有所发展或是发生改变。

1 年多前,由于工作原因,主力开发机换成了 Windows ,还入了 Office 365 全家桶。于是在时隔多年后,再次用起了 OneNote 。不得不说,都快 2022 年了,OneNote 的码字体验还停留在十多年前,一堆大大小小的遗留问题。但我实在懒得折腾什么 Notion Obsidian (没有复杂的知识管理需求),只想找个本地 /靠谱 /大厂出品 /开箱即用的笔记软件,简单记录下工作相关内容。 毕竟人一旦习惯了 Markdown 的符号 #-,就真的回不去了。于是研究了下 OneNote 的 api ,决定自己动手,丰衣足食。

废话不多说,直接上动图。

简单来说,实现了基于行的实时渲染,每次按回车时自动渲染当前行。当然,这个实时 跟新世代编辑器字符级别的没法比,但已经足够好用了。

不仅如此,终于在 OneNote 上实现了可用级别的代码高亮,输入```创建代码块后,每敲一行自动着色。(之前要在 OneNote 里插入代码简直反人类,心疼自己)

以及 LaTex 转换到 OneNote 原生的数学公式(不是图片)。

除此之外,还支持TOC / todo / 水平线 / 脚注 等常见的语法,直接拿已有的 Markdown 内容粘贴到 OneNote 中, 然后按 F5 渲染,大概率是可以完美还原的(强行自信。。不过毕竟是 beta 版本,出现意外欢迎反馈)。

你可能会问:这种转换是单向的吗?我如果有一天想导出 Markdown 纯文本怎么办?在我看来,原始 Markdown 丢失是绝对不能接受的,所以我花了很大力气来解决这个问题:笔记中每个段落的 Markdown 原文都以某种格式隐藏存储在自身之中,可以随时读取,不依赖外部文件,任意编辑也不会破坏。而且这种格式是公开透明的,只需要用 OneNote api 拿到 XML 格式的笔记内容,所有秘密一览无余。

更重要的是,渲染后的内容可以原地随意增删修改,不必再重新切换回 Markdown 形态编辑;而且在导出 Markdown 时,内容也会相应更新——是的,实现了双向更新。当然,如果由于某些原因,你想切换回 Markdown 形态编辑,也是支持的。按 ctrl + , ,即可在编辑和预览之间切换。

说完实时渲染和双向更新,接下来夸一下 OneNote 。。其实 OneNote 编辑器在刚推出的时候还是很超前的,有了现在流行的 block level 编辑器的雏形。无论是列表、段落、表格,书写和调整起来都非常得心应手。(可惜之后多年编辑器层面都没什么大的更新,逐渐有点落伍了。不过微软家产品向后兼容都做的非常好,所以估计只能保守,不敢太激进。这里顺便提一下某老牌笔记软件,每一次大更新确实有新的东西,但后果就是会有不少用户抱怨之前的笔记格式乱了。微软的产品是绝对不会出现这种情况的)说回正题。。也多亏了这些设计,结合 Markdown 之后居然毫不违和,整体体验下来有点现代编辑器的味道了。个中玄妙,就待各位亲自上手把玩了。

One more little thing ,被吐槽无数的英文自动变成 Calibri 字体的问题好像也因为这种二次渲染模式的引入无意中解决了。。

最后,隆重介绍下,插件的名字:OneMark (毫无创意但也顺理成章),官网: https://onemark.neuxlab.cn 欢迎大家试用反馈。

ps: 只支持 OneNote Windows 桌面版,不支持 UWP 版本。

第 1 条附言  ·  196 天前

@安装后没有反应的小伙伴们:请再次访问网站,试试下载64位版本。。正确安装后看到 OneNote 里多了个 tab,不需要任何额外多余的设置。

捕获5.PNG

如果64位的也不行,请加微信群沟通吧。

(欢迎大家加群,不过有一点要小声说明下:这几年卑躬屈膝做乙方,让我患上了严重的即时通讯恐惧症,特别怕消息提示音和电话。。所以,我本人在群里可能不会特别活跃,回复不一定及时,但每天还是会定时看的。

wechat.PNG

第 2 条附言  ·  187 天前

上面的群满了无法扫码加入,又建了一个:

e93bff8fbd776137e521920f0c9f973.png

285 条回复    2022-06-02 11:48:37 +08:00
1  2  3  
Qotal
    1
Qotal  
   196 天前   ❤️ 2
卧槽 这有点强啊。。。mark 白天下载试试
dingwen07
    2
dingwen07  
   196 天前 via iPhone
好!
就想知道如果这个在 Android 、iOS 和 macOS 端打开会怎么样?
ccyixia
    3
ccyixia  
OP
   196 天前
@dingwen07 和其他笔记一样打开,正常编辑,只是不能用 Markdown 形式编辑了。不过介绍里说了,支持双向更新的。无论在哪一端,任何以富文本方式做的修改,在 Windows 端切换或导出 Markdown 时都会更新。
geelaw
    4
geelaw  
   196 天前   ❤️ 1
支持一下,我之前想要用 OneNote COM API 做些东西,但是感觉它的 marshal 有 bug 🤣 (见 https://github.com/GeeLaw/onenote-object-model
mdrof
    5
mdrof  
   196 天前 via iPhone   ❤️ 1
厉害
devtiange
    6
devtiange  
   196 天前   ❤️ 25
楼主厉害, 建议楼主去 OneNote team 帮他们把这该死的功能做进去.
AndyVerne
    7
AndyVerne  
   196 天前 via Android   ❤️ 1
很棒的工作!
Just1n
    8
Just1n  
   196 天前
这个怎么用? 我下载并安装了,然后呢? 需要什么设置嘛?
cmdOptionKana
    9
cmdOptionKana  
   196 天前 via Android   ❤️ 3
微软应该给你丰厚奖金!
Just1n
    10
Just1n  
   196 天前
楼上诸位有去试过嘛?
lemonloving
    11
lemonloving  
   196 天前 via Android
楼主厉害,我之前也用 Onenote 后来全部迁移到 Obsidian 了
guisheng
    12
guisheng  
   196 天前 via iPhone
能给 Apple note 加上吗? 目前想法是导出后转格式,倒是没想到在编辑器上动手。。。
lucifer9
    13
lucifer9  
   196 天前
OneNote 最大的问题是默认新创建的笔记放最后还没法改这个设定
dunn
    14
dunn  
   196 天前 via iPhone   ❤️ 5
厉害厉害 求个 mac 端的
Stevenv
    15
Stevenv  
   196 天前 via iPhone
牛逼
chotow
    16
chotow  
   196 天前   ❤️ 1
N 年前就有投票贴,请求微软支持 Markdown ,至今没有声迹。想了解一下,有没有可能做出 macOS 端的插件 🤤
RangerWolf
    17
RangerWolf  
   196 天前
楼主太厉害了~
ddzy
    18
ddzy  
   196 天前
有 Mac 端的吗?
HENQIGUAI
    19
HENQIGUAI  
   196 天前
太牛批了,我之前考虑笔记软件的时候觉得 OneNote 非常棒,然而非常可惜它对代码高亮和 Markdown 的支持太弱鸡了,只能说楼主好人一生平安!建议微软赶紧招安!
zhxhwyzh14
    20
zhxhwyzh14  
   196 天前
很强大,感谢分享
polaa
    21
polaa  
   196 天前
> 只想找个本地 /靠谱 /大厂出品 /开箱即用的笔记软件
然而 onenote 不满足 靠谱 /开箱即用
TOUJOURSER
    22
TOUJOURSER  
   196 天前   ❤️ 2
大佬后续有计划支持 mac 端的嘛
bytesfold
    23
bytesfold  
   196 天前
牛逼!
QHKZ
    24
QHKZ  
   196 天前 via iPhone
@lucifer9 OneNote2016 有个设置,开启了之后,鼠标放在分页列表列表上时会有+号出现,可以在两个页面之间插入新的页面
hanswu
    25
hanswu  
   196 天前
确实牛逼 就是 安装完后没有反应
Silentims
    26
Silentims  
   196 天前
安装之后需要什么设置吗?安装成功之后,重启 OneNote2016 桌面版之后,写了之后回车和 F5 都没有渲染
cat007
    27
cat007  
   196 天前   ❤️ 1
帮顶一下,已经换 notion 了
xieyingli
    28
xieyingli  
   196 天前
我擦。。。你去加入微软啊
ijk0
    29
ijk0  
   196 天前 via iPhone
mark 等一个 Mac 版
xi_lin
    30
xi_lin  
   196 天前
强,原来 onenote 的 api 这么开放的吗
xz410236056
    31
xz410236056  
   196 天前
OneNote 对标的是 notability 和 goodnotes 这种东西吧。
qping
    32
qping  
   196 天前   ❤️ 1
真是想睡觉有人就送枕头了, 前几天还在找的, 一万个感谢
sarlanori
    33
sarlanori  
   196 天前
试用了一下,第一篇笔记都还行,新建了一篇笔记就怎么也不肯渲染了,按 `F5` 也没用。

![]( https://ftp.bmp.ovh/imgs/2021/12/e577801040eb7af6.png)
enchilada2020
    34
enchilada2020  
   196 天前 via Android
卧槽太强了感谢!!!强烈要求楼主打入微软内部支持下 UWP😉
lqcc
    35
lqcc  
   196 天前
都是牛人!
qping
    36
qping  
   196 天前
安装以后 office 365 里面的 onenote ,没找到相关配置呢。。。
ugvfpdcuwfnh
    37
ugvfpdcuwfnh  
   196 天前 via Android
有点厉害啊!有 word 版的吗?
xiozf
    38
xiozf  
   196 天前
下载装上后直接测试可以使用,无任何设置。
OneNote 2016 在设置的“加载项”里能看到已加载 OneMark 。
供装上后没效果的人参考。
qping
    39
qping  
   196 天前
能不能出个教程,怎么安装。。。 怎么试都不行。。
CallMeReznov
    40
CallMeReznov  
   196 天前
ONENOTE FOR WINDOWS10 16001.14326
安装后无效果.
难道必须安装独立版本的 ONENOTE?
bugsnail
    41
bugsnail  
   196 天前
微软打钱!!!
mafeifan
    42
mafeifan  
   196 天前 via iPhone
支持一下 有 mac 版更好了
liuzhihang
    43
liuzhihang  
   196 天前
牛哇
ParfoisMeng
    44
ParfoisMeng  
   196 天前
去微软吧!
exploreexe
    45
exploreexe  
   196 天前   ❤️ 1
这他妈微软自己不实现,逼着程序员自己写就很操蛋。
垃圾 OneNote 啥时候能官方支持 Markdown ,还有微软那个笔记导入工具现在压根就没法用,官方也不管,微软💊
cat9life
    46
cat9life  
   196 天前
强,必须要试一下。
@ccyixia 话说我看到了 Web3
lniwn
    47
lniwn  
   196 天前
这个很实用
suotm
    48
suotm  
   196 天前
真的好强大,让我想切回 onenote 了
huyinjie
    49
huyinjie  
   196 天前 via iPhone
牛逼
outtime
    50
outtime  
   196 天前
太牛了!现在的富文本点起来真的好烦,期待 mac 端!
WIN2333
    51
WIN2333  
   196 天前
强,这就滚回 OneNote2016
Zealous
    52
Zealous  
   196 天前
棒!很实用!
viiii
    53
viiii  
   196 天前   ❤️ 1
很好很强大, 重新打开了目前很少用的 OneNote 再抢救一下试试
noming
    54
noming  
   196 天前
最新版的 office365 里的 onenote 也没法加载 onemark
xujinkai
    55
xujinkai  
   196 天前 via Android
牛逼 极其牛逼
my101du
    56
my101du  
   196 天前 via iPhone   ❤️ 3
亲, 这边建议你直接去微软 Onenote 组指导那帮人工作呢!

太赞了,期待全平台都能实现的那天。因为我在手机使用场景较多。
gooin
    57
gooin  
   196 天前
牛牛牛
xujinkai
    58
xujinkai  
   196 天前
看来 office365 带的 OneNote 加载不了
天杀的微软一个 OneNote 搞这么多版本
RockShake
    59
RockShake  
   196 天前
OneNote 搞了这么久就不能直接自己出个插件系统么
Delbert
    60
Delbert  
   196 天前
牛逼~(破音)
circsqua
    61
circsqua  
   196 天前
能否再制作一个自动调整中英文字体的插件~
xlmo
    62
xlmo  
   196 天前
装了无法加载

Microsoft® OneNote® 适用于 Microsoft 365MSO (版本 2111 Build 16.0.14701.20240) 64 位
ClutchBear
    63
ClutchBear  
   196 天前
我赶快来测试一下.
Delbert
    64
Delbert  
   196 天前
试了下,Office 2021 里面的 OneNote 和 onenote for windows 10 都加载不了
Youkochan0v0
    65
Youkochan0v0  
   196 天前 via iPad
牛啊楼主
yisany
    66
yisany  
   196 天前
厉害厉害,点个赞
FrankAdler
    67
FrankAdler  
   196 天前
好东西
qq316107934
    68
qq316107934  
   196 天前
Office 365 的 OneNote 无法加载,求助
JerryV2
    69
JerryV2  
   196 天前
NB ,微软有你就是巨硬!
VersionD
    70
VersionD  
   196 天前
使用 Office 365 的 OneNote ,无法加载+1 ,楼主有办法适配一下吗,还是需要调整什么 add-ins 的设置?
he1a2s0
    71
he1a2s0  
   196 天前
历害!装过 OneMore 和 NoteHighlight ,不过都不如这个看起来方便,下载试试
xHliu
    72
xHliu  
   196 天前 via Android
虽然已经没有用半年了,支持
xlpzhxhh
    73
xlpzhxhh  
   196 天前
试了一下,latex 支持的公式还不够全。\mathbf \mathcal 这些都不支持
mangoDB
    74
mangoDB  
   196 天前
感谢楼主,好人一生平安。
derek80
    75
derek80  
   196 天前
虽然已经不太用了,还是要点个赞。
ccyixia
    76
ccyixia  
OP
   196 天前
@Just1n
@hanswu
@Silentims
@qping
@qping
@CallMeReznov
@noming
@xlmo
@Delbert
@qq316107934
@VersionD

非常抱歉,之前给的是 32 位的安装程序,可能你们需要安装 64 位的。官网已经更新了,麻烦再去下载试试。如果还有问题,请加群沟通。
jip
    77
jip  
   196 天前
太强大了!!!
ccyixia
    78
ccyixia  
OP
   196 天前
@geelaw 大佬出现了!我搜资料的时候搜到过你这个项目,给我带来了很大帮助(顺便把你的博客翻了一遍,太强了),没想到居然在这里相遇了 (✧◡✧)
Akiya
    79
Akiya  
   196 天前
微软应该给你发奖金
Iaoceot
    80
Iaoceot  
   196 天前
one note 2016 实际测试,安装完以后 onenote2016 里面加载项没有东西,好像其他人是直接有加载项,咋回事啊?
skykale
    81
skykale  
   196 天前 via iPhone
强啊!
Itoktsnhc
    82
Itoktsnhc  
   196 天前
安装了 64 位的,在 Office 365 OneNote 里面显示为非活动应用程序加载项
ccyixia
    83
ccyixia  
OP
   196 天前
@lemonloving 哈哈,老黄瓜如今新刷了绿漆,何日君再来?:)
he1a2s0
    84
he1a2s0  
   196 天前
测试了,卸载了 32 位重新装 64 位,安装后在加载项中启用 OneMark 才正常
miloweimo
    85
miloweimo  
   196 天前
不行没有效果

Microsoft® OneNote® 适用于 Microsoft 365MSO (版本 2111 Build 16.0.14701.20206) 64 位
.net v4.0.30319
ccyixia
    86
ccyixia  
OP
   196 天前
@Itoktsnhc 看看上面 @he1a2s0 这位兄弟说的,可能要在加载项中启用 OneMark 才行。如果还有问题,加微信群吧。
ccyixia
    87
ccyixia  
OP
   196 天前
ccyixia
    88
ccyixia  
OP
   196 天前
@Iaoceot 试试安装 64 位的
miloweimo
    89
miloweimo  
   196 天前
卸载重装 现在可以了
seaswalker
    90
seaswalker  
   196 天前 via iPhone   ❤️ 1
awesome man
lemonloving
    91
lemonloving  
   196 天前 via Android
@ccyixia 主要喜欢上了 Obisidian 的双向链接,之后考虑靠这个插件把 Onenote 当做知识沉淀的中间站点。谢谢你的开发,这的 tql !
ccyixia
    92
ccyixia  
OP
   196 天前
@dunn
@ddzy
@TOUJOURSER
@ijk0
@mafeifan
@outtime

mac 端估计有点悬,几乎所有 office 的 VSTO 插件都没法直接在 mac 上运行。不过我个人也是需要 mac 端的,后面看看有没有其他技术方案,即使能实现部分功能,也是有很大帮助和提升的。
ccyixia
    93
ccyixia  
OP
   196 天前
@lemonloving 双向链接 OneNote 也不是不能实现,总之我会想办法把各种牛逼的功能加进来的,哈哈~不是说服你哈,只是单纯讨论。
u823tg
    94
u823tg  
   196 天前
老哥 666.试用了不错
perpetually
    95
perpetually  
   196 天前   ❤️ 1
OneNote 搭载了极为先进的 markdown 格式
spacebound
    96
spacebound  
   196 天前
终于出现了,太强了!
zhq566
    97
zhq566  
   196 天前
好用 期待不断完善 感谢!
VersionD
    98
VersionD  
   196 天前
@ccyixia 已试用,感觉还行,体验一段时间再说,顺便问问楼主这玩意儿未来会有什么收费标准吗。。毕竟有可能在公司电脑上使用
ccyixia
    99
ccyixia  
OP
   196 天前
@xlpzhxhh 感谢反馈,请问能把测试不成功的 LaTex 发我试一下吗?我在网上搜了一个,好像没问题

$$
\begin{aligned} \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\ \nabla \cdot \vec{\mathbf{E}} & = 4 \pi \rho \\ \nabla \times \vec{\mathbf{E}}\, +\, \frac1c\, \frac{\partial\vec{\mathbf{B}}}{\partial t} & = \vec{\mathbf{0}} \\ \nabla \cdot \vec{\mathbf{B}} & = 0 \end{aligned}
$$

底层的渲染都是支持的,只是翻译到微软 office 数学公式这边,可能会有点差异,出现问题一个个解决就好:)
ccyixia
    100
ccyixia  
OP
   196 天前
@xlpzhxhh 不过我试过很多公式,确实有各种微小的差异或不兼容,只能达到能看的级别,要想完美展示,还是需要渲染成图片。这个后面会加入支持的。
1  2  3  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1160 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 19:52 · PVG 03:52 · LAX 12:52 · JFK 15:52
Developed with CodeLauncher
♥ Do have faith in what you're doing.