chempeng

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 directoryZotero data directory 的设置,以下分别为 Zotero, Zotfile 和 Logseq 的设置,保持一致即可。

此外,如果想通过 Zotero 的 Better BibTex 插件实现在 Logseq 中的 CITATION KEYS ,需要简单在 Zotero 设置,参见3,如下

  1. Install the Better BibTeX plugin for Zotero.
  2. 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)
  3. 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 下载 TermuxTermux: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.shpush.shlog.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.shpush.shlog.sh 的小组件按钮。

4. 忽略同步冲突文件

添加 .gitgnore 文件忽略部分文件

logseq/pages-metadata.edn

若中途添加 .gitgnore ,需删除提交记录

git rm -r --cached path/of/pages-metadata.edn

目前防止同步冲突,

  1. 电脑和手机不要同时编辑
  2. 编辑即 push
  3. 换终端编辑前 pull

  1. Logseq: 现已支持Zotero文献协同 ↩︎

  2. Logseq: 现已上线PDF阅读工具 ↩︎

  3. Better BibTeX & pinned citekeys ↩︎

  4. Syncing your Obsidian vault to Android via an encrypted GitHub repository ↩︎