什麼是 flomo-cli
這是一款可以在命令列中將筆記和想法儲存到 flomo 的工具。
基於 Golang 實現,可通過 Homebrew 便捷安裝。
GitHub Repo:https://github.com/MrEasonYang/flomo-cli
中文文件:flomo-cli中文說明
功能
- 一行命令即可建立 flomo 筆記。
- 支援編輯器模式,可使用 vim/neovim/emacs 建立筆記。
- 支援 shell 管道,快速儲存檔案或過濾結果。
安裝
從原始碼編譯安裝
保證環境中已安裝 1.16 版本以上的 Golang ,執行以下命令即可:
git clone git@github.com:MrEasonYang/flomo-cli.git
cd flomo-cli
go build
使用Homebrew安裝
在 Homebrew 中輸入以下命令即可完成安裝。
brew tap MrEasonYang/taps
brew install flomo
目前支援以下平臺:
- Apple Intel AMD64
- Apple Silicon
- Linux AMD64
手動下載安裝
如果不喜歡 Homebrew 或正在使用 Windows 系統,那麼你可以訪問 Release 下載對應平臺的最新版本並手動進行配置。
使用
配置
訪問 Flomo 個人配置頁面 以獲取個人的開放 API ,執行以下命令配置 API 到 flomo-cli 中:
flomo set api ${Flomo API}
隨後 flomo-cli 將會在使用者目錄生成名為 .flomo-cli.config
的隱藏檔案,該檔案的許可權為 0600 。
一鍵儲存
Memo 即 flomo 概念下的筆記,只需在各類終端工具的命令列中輸入以下命令即可
flomo save ${Your memo content}
Shell 管道
Flomo-cli 如常見程式一樣,支援以管道的資料重定向內容作為筆記內容,可藉助 cat
等命令快速儲存檔案等內容:
cat memo.txt | flomo
編輯器模式
除了直接在命令列中輸入,flomo-cli 也支援使用編輯器進行筆記編寫和儲存,只需要執行以下命令即可:
# Open vim to compose the memo.
flomo vim
# Open neovim to compose the memo.
flomo nvim
# Open emacs to compose the memo.
flomo emacs
目前 flomo-cli 只對 vim/neovim/emacs
進行了支援, 輸入其他內容將丟擲異常以避免任意執行帶來的安全問題。
清理臨時檔案
編輯器模式的實現思路是在接收到命令時呼叫指定編輯器對 ~/.flomo-tmp
目錄的臨時檔案進行編輯並一直等待。當使用者退出編輯器時停止等待,接著將臨時檔案的內容作為筆記傳送至 flomo ,最後將臨時檔案刪除。
這樣一來,如果存在併發呼叫或強制終止 flomo-cli 的情況,則臨時檔案的刪除工作可能就會被中斷,進而造成堆積的臨時檔案佔用磁碟空間。對於這一問題可以執行以下命令一鍵清理臨時檔案:
flomo clear
設定 alias
為了防止只使用 flomo
單個命令帶來的誤輸入風險,目前筆記的儲存操作必須結合 save
關鍵字來進行。如果你希望簡化輸入,那麼只需要在 zsh/bash 等 shell 的配置檔案中新增 alias 即可,示例如下:
alias flomo="flomo save"
貢獻程式碼
歡迎大家通過 PR 的形式來完善本工具或加入新的想法,PR 形式不限,提 PR 前做好 lint 即可。