Markdown 笔记软件: VNote
本文最后更新于 2024年6月14日 凌晨
VNote 简介
向大家安利一款 markdown 笔记软件, VNote https://github.com/vnotex/vnote
此软件目前已经 1300 多个commits 了,做为一个有些开源软件维护经历的人,深感不易。用了太多 markdown 笔记软件,此软件使得最为顺手,尤其作为程序员 vim 模式 让我感到非常舒服,大量图表的支持比如 UML 流程图,让我用起来很顺手。
Vnote 分为两个开发阶段,阶段一 vnote2 已经开发完成:https://github.com/vnotex/vnote/tree/vnote2
现在处于第二个开发阶段:https://github.com/vnotex/vnote
据说后续会出收费版本,但目前看还需要很长的一段时间了。
我前后尝试过各种笔记软件,我理想的软件有几点:
- a. 支持文件管理
- b. 不要乱改数据,容易迁移
- c. 支持 markdown
- d. 跨平台,支持 Mac 和 Linux
最后,终于发现了 VNote,有点惊喜。
Fedora 上使用 Qt5 编译 VNote
在 Linux 下编译 VNote 显示有明显改进,下面是编译的方法:
- 下载 QT SDK (最新的 vnotex 官方支持 Qt 5.15.2,可自行下载使用替换相应的版本即可)
将 Qt5.9 安装到 /home/henices/Qt5.9.0/
- 编译 fcitx-qt5 (如果使用的是 fcitx5,需要下载编译 fcitx5-qt)
git clone https://gitlab.com/fcitx/fcitx-qt5.git
准备编译脚本 build_linux.sh
, 指定下载的QT
1 |
|
使用下面命令编译
1 |
|
将生成的 libfcitxplatforminputcontextplugin.so copy 到/home/henices/Qt5.9.0/5.9/gcc_64/plugins/platforminputcontexts/
- 获取VNote 源码
1 |
|
- 编译
build_linux.sh
1 |
|
使用下面命令编译
1 |
|
- 安装
sudo make install
Qt 5.12.11 的诡异问题
Fedora 升级到 35 后,Vnote 出现了一系列问题
- vnote 的阅读模式不能正常显示 (Qt 5.12.11),解决这个问题需要禁用 Qtwebengine 的 sandbox
1 |
|
- 导出 pdf 文件 cpu 100% (Fedora 系统自带 Qt 5.15.2 编译)
- 官方提供的 Linux AppImage 文件无法打开 Fcitx5 输入法。
最终解决问题的方法是下载 Qt5.15.2 重新编译 Vnote, Qt 从 5.15 开始不提供离线安装包,非常不方便。
官方提供的在线升级包如果太新只能安装 Qt 6,所以必须下载老版本的 online installer
https://download.qt.io/archive/online_installers/4.0/qt-unified-linux-x64-4.0.1-1-online.run
具体内容可以参考 https://github.com/vnotex/vnote/issues/1942 的讨论
2022.8.2 更新
导出 pdf 文件 cpu 100% 的问题,我调试 Qt 5.15.5 代码时已经解决,可以参考:
https://github.com/vnotex/vnote/commit/53e2b3bfa8aff4f590471caf5e8cc55c8b8b538b
Qt 5.15.3 的诡异问题
使用 Qt 5.15.3 编译 VNOte 后,出现下面的报错
1 |
|
bug 在这 https://bugreports.qt.io/browse/QTBUG-91715 可以先使用环境变量救急一下
1 |
|
2022.8.2 更新: Qt 5.15.5 已经修复了这个问题。
Fedora 上使用 Qt6 编译 VNote
最近,VNote 迎来了一个大更新,支持Qt6 并保留了对 Qt5 的支持。使用Qt6 编译 VNote 需要安装一些依赖库,下面的可能不全,需要根据具体情况调整。
1 |
|
使用 Fedora 系统自带的 Qt6 编译比较简单,在 VNote 的源码目录新建一个脚本 build.sh,内容如下:
1 |
|
VNOTEDIR 为安装目录需要自己定义,然后执行命令 chmod a+x .build.sh && bash ./build.sh
即可完成编译和安装。
Fedora 上使用 Qt6 编译 VNote 的新方法 (2024.6.14)
一个好消息,VNote 的作者还在努力更新中。
tamlok 重写了 vnote 的构建代码,较大的变化是项目文件下的 vnote.pro 被删除了,Linux 下也使用 cmake 进行编译,参考 ci-linux 的代码:
1 |
|
重新写一个 build.sh
, 进行自动化的 vnote 编译,内容如下:
1 |
|
然后执行命令 chmod a+x .build.sh && bash ./build.sh
即可完成编译和安装。
参考链接
https://tamlok.gitee.io/vnote/zh_cn/#!docs/%E5%BC%80%E5%8F%91%E8%80%85/%E6%9E%84%E5%BB%BAVNote.md