支援 Homebrew 安裝和編輯器模式的 flomo 命令行工具
- 2021 年 7 月 19 日
- 筆記
什麼是 flomo-cli
這是一款可以在命令行中將筆記和想法保存到 flomo 的工具。
基於 Golang 實現,可通過 Homebrew 便捷安裝。
GitHub Repo://github.com/MrEasonYang/flomo-cli
中文文檔:flomo-cli中文說明
功能
- 一行命令即可創建 flomo 筆記。
- 支援編輯器模式,可使用 vim/neovim/emacs 創建筆記。
- 支援 shell 管道,快速保存文件或過濾結果。
安裝
從源碼編譯安裝
保證環境中已安裝 1.16 版本以上的 Golang ,執行以下命令即可:
git clone [email protected]: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 即可。