什么是 flomo-cli
這是一款可以在命令行中將筆記和想法保存到 flomo 的工具。
基于 Golang 實現(xiàn),可通過 Homebrew 便捷安裝。
GitHub Repo:https://github.com/MrEasonYang/flomo-cli
中文文檔:flomo-cli中文說明
功能
- 一行命令即可創(chuàng)建 flomo 筆記。
- 支持編輯器模式,可使用 vim/neovim/emacs 創(chuàng)建筆記。
- 支持 shell 管道,快速保存文件或過濾結(jié)果。
安裝
從源碼編譯安裝
保證環(huán)境中已安裝 1.16 版本以上的 Golang ,執(zhí)行以下命令即可:
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 系統(tǒng),那么你可以訪問 Release 下載對應(yīng)平臺的最新版本并手動進(jìn)行配置。
使用
配置
訪問 Flomo 個人配置頁面 以獲取個人的開放 API ,執(zhí)行以下命令配置 API 到 flomo-cli 中:
flomo set api ${Flomo API}
隨后 flomo-cli 將會在用戶目錄生成名為 .flomo-cli.config 的隱藏文件,該文件的權(quán)限為 0600 。
一鍵保存
Memo 即 flomo 概念下的筆記,只需在各類終端工具的命令行中輸入以下命令即可
flomo save ${Your memo content}
Shell 管道
Flomo-cli 如常見程序一樣,支持以管道的數(shù)據(jù)重定向內(nèi)容作為筆記內(nèi)容,可借助 cat 等命令快速保存文件等內(nèi)容:
cat memo.txt | flomo
編輯器模式
除了直接在命令行中輸入,flomo-cli 也支持使用編輯器進(jìn)行筆記編寫和保存,只需要執(zhí)行以下命令即可:
# 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 進(jìn)行了支持, 輸入其他內(nèi)容將拋出異常以避免任意執(zhí)行帶來的安全問題。
清理臨時文件
編輯器模式的實現(xiàn)思路是在接收到命令時調(diào)用指定編輯器對 ~/.flomo-tmp 目錄的臨時文件進(jìn)行編輯并一直等待。當(dāng)用戶退出編輯器時停止等待,接著將臨時文件的內(nèi)容作為筆記發(fā)送至 flomo ,最后將臨時文件刪除。
這樣一來,如果存在并發(fā)調(diào)用或強制終止 flomo-cli 的情況,則臨時文件的刪除工作可能就會被中斷,進(jìn)而造成堆積的臨時文件占用磁盤空間。對于這一問題可以執(zhí)行以下命令一鍵清理臨時文件:
flomo clear
設(shè)置 alias
為了防止只使用 flomo 單個命令帶來的誤輸入風(fēng)險,目前筆記的保存操作必須結(jié)合 save 關(guān)鍵字來進(jìn)行。如果你希望簡化輸入,那么只需要在 zsh/bash 等 shell 的配置文件中新增 alias 即可,示例如下:
alias flomo="flomo save"
貢獻(xiàn)代碼
歡迎大家通過 PR 的形式來完善本工具或加入新的想法,PR 形式不限,提 PR 前做好 lint 即可。