[python] SublimeText3からBoostNoteにノートを投稿する その1

BoostNoteネタはもうやらないとか言ってましたが、またつづく模様。

画像の投稿やらは出来て、すこぶる快適になったのですが
やはり記事の投稿がノートの本文なのに、扱い慣れないエディタは微妙にストレスになる…ということで
SublimeText3で .md を編集して、その内容をBoostNoteに送るSublimeTextプラグインをつくってみました。

まず、Data/Packages 下に SendToBoostNote フォルダを作り、設定ファイルを作成します。

設定ファイルにBoostNoteのフォルダを記述。

さらに、コマンドパレット側からコードを呼べるように設定ファイルを配置。

最後に本体。

動作確認しながらのテストコードなので書き方も超絶パワープレイです(汗

SublimeText3のプラグインを作る場合は、 sublime_plugin.XXXXCommand のクラスを継承して
動作本体を run() に書けばOK。
実際にコマンドとして呼ぶ場合は、クラス名 TestHelloCommand の形式を 語尾のCommandをとって、小文字 + _ の形式にした文字列で呼び出します。
TestHelloCommand ならば test_hello のようになります。

今回の場合、send_to_boostnote が本体のコマンドで、SublimeText3での入力情報を保存するため
別途呼ぶためのコマンドと2つを作成しています。

コマンド実行後にInputを受け付けようとすると、
すべてが終わった後に~~~の関数を実行する みたいな書き方しかできなかったので
Folder選択→タグを入れる関数→タイトルを入れる関数→BoostNote保存 のように
関数呼び出し→呼び出し になってるのが最高に気持ち悪いですね。なんとかならんものか。

一応動くようにはなったので動かしてみました。

使い方は、コマンドパレットから SendToBoostNote で検索して実行すると、

BoostNoteのFolder選択画面が出て

タグを入れて

ノートのタイトルを入力すると

BoostNoteに投稿されます。

まだ作ってないですが、いずれはすでに投稿されているものならば更新できるようにしたかったので

BoostNoteに出力したら、MarkDownファイルの頭にタグ情報とCsonFileの名前を追加します。

Markdownの記述自体はOmniMarkupやらを使ってあげれば程よくハイライトやら
コマンドでタグ追加したりできます。

SublimeText3なら、プラグインの言語はPythonだし作れるかなーと思ってやってみましたが
意外と簡単にできました。
エディットは極力マウスを使わずに1つのアプリ内で完結できれば良いとおもってる人間なので
SublimeText側でドキュメントを起こせるのは非常に便利ですね。
BoostNoteはドキュメントが個別のファイルになってるシンプルな仕様なので
画像投下のもそうですが、こういった独自のカスタマイズが非常に簡単なのが良いです。

そんなこんなで、次はすでにある場合は上書きと
csonファイルをmdに展開して編集して返せるようにしてみようかと思います。

最近、環境整えるのが楽しすぎて作業が進まない(汗

一通りできて需要がありそうならGitHubあたりにでもUpしてみようかな…?

参考

コメントを残す

メールアドレスが公開されることはありません。

*