リポジトリ
使い方
3つのサブコマンドがあります
- init
- create DIR
- push DIR
init
名前通りイニシャライズするためのコマンドです
ホームディレクトリに medium.toml
というファイルを作成します。
作られたら user.token
に自分の Integration Token を書き込んでください。
このトークンは https://medium.com/me/settings の Integration Token の項目で取得できます。
workspace が init を叩いた時のカレントディレクトリになっているので、気になる人は編集してください。このディレクトリを基準にして次のコマンドは動作します。
ここを git 管理しておくと都合がいいのではないでしょうか
create DIR
workspace に指定されたディレクトリの中に DIR で指定された名前のディレクトリを新規に作成します。
その中に info.toml と content.md を作成します。
info.toml にはタイトルとか諸々設定してください
初期には書いてないけど、Licenseとかも設定できます。
分けた理由は 文章を書く markdown ファイルに余計な情報をもたせたくなかったから。
もしかしたら以下の書式のほうが良かったかもしれないけど、パースするのが大変になりそうだし、別ファイルに分けたほうが色々見やすくていいと思ってます。
title = hoge
tags = [aa, bb, cc]
---
# header
...
push DIR
DIR で取った名前のディレクトリの中の内容で medium に投稿します。
一応投稿する前に必要なものはチェックするけど、値が入っているかくらいしか見てないのでもう少しちゃんとチェックしないとなーとは思っています。
CreatePost API を叩く前に token からわかるユーザ情報を取得する API を叩いているんですが、毎回叩くのは効率が悪くてやめたいですね。
初回に叩いた時の情報を init で作成したファイルに書き込んでおけばいい気がしています。
投稿に成功すると最後に URL が出るようにしてあるのでコピーしてアクセスして下さい。
動機
もう少し長い文章を書こうと思ってサービスを色々探していたところ medium は良さげなサービスだなと思って登録してみました。
けどいかんせんブラウザで Markdown を使って書く方法がわからなかったので長い文章は書きづらいなーって思って放置していました。
ただ最近長い文章を書きたいことが増えてきたので思い切って自分好みのツールを作るようにしました。
medium API への文句
- username と userID が違うの割りと厳しいですね。
- medium には以下の3つのユーザを表す情報があってもう少し楽に投げたい
- userID => ハッシュっぽい真にユーザを特定するためのもの。変更不可、ブラウザからは調べる方法がない
- username => knsh14 のようなメンションを飛ばしたりするような場合に使われる感じのユーザ名。他のユーザとかぶらなければ変更可
- user => kenshi kamata のような名前 変更可、かぶってもOK
- medium には以下の3つのユーザを表す情報があってもう少し楽に投げたい
- integration token だけで動作するようにできたのは楽だった
- ただこれで使えるAPIが少なすぎてちょっと厳しい