Logseq 的 Zotero 配置及 Git 版本控制同步
chempeng / 2022-01-09
本文基于 Win10, Logseq 0.5.8, Zotero 5.0.96.3 及 Termux v0.117
Logseq 可与 Zotero 实现联动1并可以实现 PDF 批注跳转2,目前 Logseq 并未提供同步服务,可借助第三方同步工具(坚果云等),此外也可通过 Git 上传至 Github 或 Gitee 等进行版本控制及云存储同步,但一般如 Github 有仓库大小限制,可将 Zotero 中的 PDF 附件通过 知识管理软件 Zotero 的使用 中附件同步方法分离存储在坚果云空间中,即可在 Logseq 中打开标注 PDF 又不占用 Github 的仓库空间,本文将简单介绍 Logseq 的 Zotero 配置方法,此外介绍 Logseq 安卓移动端的 Git 同步方法。
Logseq 的 Zotero 配置
Zotero 的 API 获取配置具体过程参见1,简单来说,进入 Zotero API 设置界面,为 Logseq 新建 Key,并将 Key ID 和 User ID 填入 Logseq 的 Zotero settings 中(设置 -> 编辑器 -> Zotero settings)。为分离存储 PDF 附件,需参照 知识管理软件 Zotero 的使用 使用 Zotfile 插件进行同步,注意 Logseq 的 Zotero settings中 Zotero linked attachment base directory
和 Zotero data directory
的设置,以下分别为 Zotero, Zotfile 和 Logseq 的设置,保持一致即可。
此外,如果想通过 Zotero 的 Better BibTex 插件实现在 Logseq 中的 CITATION KEYS ,需要简单在 Zotero 设置,参见3,如下
- Install the Better BibTeX plugin for Zotero.
- Set the autoPinDelay parameter to 1, or anything greater than 0. This will determine how soon citekeys should be pinned, in seconds. (Note : this is a hidden parameter. To modify it, you’ll need to go to Preferences > Advanced > Config Editor. You can search for “autoPinDelay”, then double-click to change the value)
- Make sure to pin your existing citekeys. To do so, select all items in view (either with the mouse or the Ctrl-A keyboard shortcut), do a right-click, then navigate to Better BibTeX > Pin BibTeX key.
Logseq 安卓移动端的 Git 同步
Logseq 桌面端可方便的是使用 Git,但安卓移动端需要使用 Termux,且目前不能自动 commit,主要内容基于4,做如下记录
1. 安装 Termux
官网 F-Droid 下载 Termux 和 Termux:Widget (不推荐谷歌市场安装)
pkg install git
termux-setup-storage #链接手机储存空间,产生 storage 文件夹
2. 链接 Github
生成 ssh key
ssh-keygen -t ed25519 -C "your_email@example.com"
cat .ssh/id_ed25519.pub # SSH Key 内容
Github -> Account settings -> SSH and GPG keys -> New SSH key ,将生成的 Key 拷贝其中。
git 推送配置
git config --global user.email "your_email@example.com"
git config --global user.name "your user name"
克隆仓库
GH_USER= your github username
GH_REPO= your github repository
git clone git@github.com:$GH_USER/$GH_REPO.git
3. 同步脚本及快捷按钮
在 Termux 跟目录中,编写脚本 pull.sh
、push.sh
和 log.sh
#pull.sh
cd $HOME/storage/shared/downloads/logseq-notes
git pull
cd $HOME
bash -c "read -t 3 -n 1"
#push.sh
cd $HOME/storage/downloads/logseq-notes
git add .
git commit -m "android on $(date)"
git push
cd $HOME
bash -c "read -t 3 -n 1"
#log.sh
cd $HOME/storage/downloads/logseq-notes
git log
cd $HOME
bash -c "read -t 5 -n 1"
给予执行权限:chmod +x pull.sh push.sh log.sh
,配置小组件
cd
mkdir .shortcuts
cd shortcuts
ln -s ../push.sh
ln -s ../pull.sh
ln -s ../log.sh
在手机桌面可添加 pull.sh
、push.sh
和 log.sh
的小组件按钮。
4. 忽略同步冲突文件
添加 .gitgnore 文件忽略部分文件
logseq/pages-metadata.edn
若中途添加 .gitgnore ,需删除提交记录
git rm -r --cached path/of/pages-metadata.edn
目前防止同步冲突,
- 电脑和手机不要同时编辑
- 编辑即 push
- 换终端编辑前 pull