技術にゃんこの混ぜご飯

関東某所でITエンジニア生活を送るブログ主がチラ裏メモを放り込む場所

【はてなブログ】GitHubにプッシュしたらCircleCIを使ってテーマストアを自動更新する

色々応用が利きそうです( ・∀・)

 

noranuko13/hatena-theme-base

はてなブログのテーマストアをいちいち手動で更新するのが面倒だったので、GitHubにプッシュしたらCircleCIがSCSSをビルドして内容を反映してくれるようにしました。まだ作ったばかりで実験運用中です。

テーマの説明やスクリーンショットも含めておけるのは便利ですかね? スクリーンショット撮るところも自動化できたら嬉しかったんですけど、そこまでやると余計なものが増えそうだったのでやめておきました。

でも色々面倒臭かったのでCSSを更新したいだけならば、普通にどこかのサーバーにデプロイして、<link>で読み込んだ方お手軽で早そうです。別サーバーに置いておいたら置いておいたで、メンテナンス時間とか引っ越しとか気を使うのが面倒ですけども。

 

開発中のあれこれ

Web Server for Chrome

余計なものをコードに含めたくなかったので採用しました。開発者ならローカルに直ぐ立ち上がるWebサーバーくらいあると思いますが、無い時は無いので保険です。

お手軽にWebサーバーが立てられるので便利です。まっさらなPCでも真っ先にインスコするのがChromeですから、まず使えないということはないです。

 

Hatena Developer Center

ブログ記事に対するAPIは用意されているのを確認。しかしテーマストアは見つからず。でもこれ手動で更新するの結構骨が折れますよね。頻繁にアップデートかけてる人はどうしてるんでしょうか。

一度公開したらそのままとか、数ヶ月に一度更新するだけなら、そんなに必要もないというのが実際のところですかね。

 

request/request-promise

このライブラリの使い方が想定されているものか若干心配してますが、返しているものは同じっぽいので大丈夫かなぁと。

はてなIDやパスワードは漏れると大変不味いので、しっかり環境変数にしておきます。

テーマ名やテーマの説明は見えているので分かりますが、『テーマを投稿する』ボタンの直ぐ下に隠れているhiddenも送信しないとエラーになります。まあエラーメッセージに書いてあるので原因は掴みやすいです。

複数ファイルに分割したり流行りの言語を使ったりした方いいのかもしれませんが、このリポジトリの天分はテーマストアの情報とSCSSの管理ですので、あんまり余計なことして複雑にしてもなぁと。

 

やっぱりツール作る方向いてる

新しいサービスをどんどん作る人もいると思いますが、自分はこういう身近な不便を解決していく系の日曜大工の方が向いてそうです。今の所お金にはなりませんが_(┐「ε:)_