いい加減ウェブブラウザで、markdown を編集するのはしんどくて、vim で編集するために作りました1。
※ (2023-10-17 追記) 記事公開後、不具合が見付かり、v0.1.1 → v0.2.0 と更新しているので、ご注意ください
はてなブログは API も公開されているので、この手のツールはありそうなんですが、Ruby製だったり2、Go製だけどライブラリではなくて、1実行ファイルに閉じたツールだったりして、ちょっと好みのものがありませんでした。
ということで、Go言語でクリーンアーキテクチャっぽく作りました。
- ライブラリ(go-htnblog)は https://github.com/hymkor/go-htnblog
- ツール(htnblog.exe)は https://github.com/hymkor/go-htnblog/cmd/htnblog
となります。
自分のスタンスとしては、すべての操作をコマンドラインで完結させようとは思ってなくて、記事の新規作成と直近の記事の編集だけ出来れば十分だと考えているので、ツールの方も
htnblog new
… 記事の新規作成。いきなり公開ではなく、ドラフトを作るだけhtnblog edit
… 最新の記事を編集する。公開状態は編集しないhtnblog list
… 直近7つの記事のリストを表示するだけ
とサブコマンドが3つだけあります。テキストの原本はウェブ側においておいて、プレビューとか、削除とか、古い記事の編集とかブラウザでやって頂戴というスタンスです。 (もっとも、それ以上やりたい人もいるだろうから、プルリクなりイシューなりもらったら、修正もやぶさかではありません)
Windows版の htnblog.exe は例によって
scoop bucket add hymkor https://github.com/hymkor/scoop-bucket scoop install htnblog
でインストール可能です。