Joplinは、GUIによるデスクトップアプリだけでなく、ターミナル上で動くCLIデスクトップjoplin-bin
も存在する。
インストール
インストールは 公式のとおり行う。
sudo pacman -S nodejs
sudo pacman -S npm
NPM_CONFIG_PREFIX=~/.joplin-bin npm install -g joplin
npm fund
sudo ln -s ~/.joplin-bin/bin/joplin /usr/bin/joplin
設定
joplin
と打って、立ち上げて以下のjoplin
コマンドを打つ。以下はJoplin Serverとの同期のケース。
:config sync.target 9
:config sync.9.path URL(例:https://example.com/joplin)
:config sync.9.username ユーザ名(例:joplin@joplin.mail)
:config sync.9.password パスワード
:config editor "nvim"
すると、以下のようになる ~/.config/joplin/settings.json
{
"$schema": "https://joplinapp.org/schema/settings.json",
"locale": "ja_JP",
"api.token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"markdown.plugin.softbreaks": false,
"markdown.plugin.typographer": false,
"sync.target": 9,
"sync.9.path": "https://example.com/joplin",
"sync.9.username": "joplin@joplin.mail",
"editor": "nvim"
}
また、キーマップの変更も出来る。
~/.config/joplin/keymap.json
[
{ "keys": [":"], "type": "function", "command": "enter_command_line_mode" },
{ "keys": ["TAB", "l"], "type": "function", "command": "focus_next" },
{ "keys": ["SHIFT_TAB", "h"], "type": "function", "command": "focus_previous" },
{ "keys": ["UP", "k"], "type": "function", "command": "move_up" },
{ "keys": ["DOWN", "j"], "type": "function", "command": "move_down" },
{ "keys": ["PAGE_UP"], "type": "function", "command": "page_up" },
{ "keys": ["PAGE_DOWN"], "type": "function", "command": "page_down" },
{ "keys": ["ENTER"], "type": "function", "command": "activate" },
{ "keys": ["DELETE", "BACKSPACE"], "type": "function", "command": "delete" },
{ "keys": [" "], "command": "todo toggle $n" },
{ "keys": ["n"], "type": "function", "command": "next_link" },
{ "keys": ["b"], "type": "function", "command": "previous_link" },
{ "keys": ["o"], "type": "function", "command": "open_link" },
{ "keys": ["tc"], "type": "function", "command": "toggle_console" },
{ "keys": ["tm"], "type": "function", "command": "toggle_metadata" },
{ "keys": ["/"], "type": "prompt", "command": "search \"\"", "cursorPosition": -2 },
{ "keys": ["mn"], "type": "prompt", "command": "mknote \"\"", "cursorPosition": -2 },
{ "keys": ["mt"], "type": "prompt", "command": "mktodo \"\"", "cursorPosition": -2 },
{ "keys": ["mb"], "type": "prompt", "command": "mkbook \"\"", "cursorPosition": -2 },
{ "keys": ["yn"], "type": "prompt", "command": "cp $n \"\"", "cursorPosition": -2 },
{ "keys": ["dn"], "type": "prompt", "command": "mv $n \"\"", "cursorPosition": -2 },
{ "keys": ["\\q"], "type": "prompt", "command": "exit" },
{ "keys": ["\\s"], "type": "prompt", "command": "sync" }
]
同期
同期はsync
とやれば出来る。ファイル書き込みとか、時間間隔ではしてくれないのかな?sync.interval
ではデフォルト値 300 秒、5分とあるのだけど。
cron
1の設定例があるので設定しておく。crontab -e
。
/30 * * * /path/to/joplin sync
公式の設定例2が方言なのか、typoなのか、そのままだとbad minute error
が出る。vim
でのファイル末尾の改行EOL(End of Line)のせいかと思ったら、そうではなかった。設定値が足らないし、/30
という書き方では無理だった。
0-59/5 * * * * /usr/bin/joplin sync
joplin sync
による同期処理は、癖?があるというか、joplin
から外部エディターを開いてnvim
で編集していると、あるとき、ファイルが存在しませんとなって、同期されなくなる、されないならまだしも、下手すると真っ白となって消える。GUIのデスクトップ版を使っている時はこんな事、体験したことがないのだけど、joplin
だと起きる。
外部エディターで書き込み、joplin sync
で同期した後は、そのまま開きっぱなしは駄目で開き直さないと駄目なのかな?動作の確認がちゃんと取れてない。
その他のjoplinアプリ
他、vimで以前、紹介したが GitHub - tenfyzhong/joplin.vim: This is a plugin for us to use joplin.app in vim.というプラグインがある。
また、ddu.vim
を使った
Joplin用のddu.vim sourceとkindプラグインを作りました - tomato3713’s blogというのがある。
Plug 'tomato3713/ddu-kind-joplin'
Plug 'tomato3713/ddu-column-joplin'
Plug 'tomato3713/ddu-source-joplin'
ddu.vim
が良く分かなくて、設定したのだけど、上手く開けないのと、思ったより一覧を取得するのに時間がかかるので諦めてしまったが、Vimmerなら使うしかないだろ。
更に joplin-vscode-plugin - Visual Studio MarketplaceというVSCodeのプラグインまである。
まあ、 Obsidian - Sharpen your thinkingに乗り換えるもありだとは思うけど。
-
Arch Linuxとかではインストールされないので、
sudo pacman -S cronie
でインストール。cronie
ってパッケージに含まれているんだなぁ。知らんかった。 ↩︎ -
公式 Synchronisation。2024-02-06 13:45確認。 ↩︎