あらまし
ブログ更新が毎回3日坊主になる。
これはひとつにはブログ管理画面にまで行くのがめんどくさいからだろうと考える。
そんなとき手元のSimplenoteアプリの「共有」にメールが含まれているのをみて、
メールを送信するだけで更新してくれるブログを作れば自分でも更新できるかもと思いついたのだった……。
1st チャレンジ AWS使用
AWS の SimpleEmailService は、メールを受信できるだけでなく lambda のトリガーにできるようなので、
「これいいんじゃね」と思ってしばらく取り組んだ。
- SimpleEmailService がメール受信
- lambda 関数1がメール内容をS3に投げる
- S3 がファイルを作成
- lambda 関数2が リポジトリにファイルをアドし、コミット
ここまではできたのであとはGithubなりにプッシュするだけだったのだけど、
そこでつまずいた。
lambda 上で使ったGitクライアントは boto3 というもので、慣れているGitと使い勝手が違った上に外部にプッシュする方法がわからなかった。
この方向はやめることにした。
2nd チャレンジ Wordpress使用
そういえば Wordpress にメール更新機能があったなあと思い出し、
こちらで行くことに。
せっかくなので Gatsby で静的サイトにしてみたかった。
結論から言うと、こっちのほうが楽だった。
Wordpress 立ち上げ
AWS の Lightsail の一番やすいやつで立ち上げてみた。
ちなみにパスワードはインスタンス内の bitnami_application_password
というファイルに書いてある。
メール受信
Postie というプラグインを使用した。
Gmail の場合、IMAP-SSL
, 993
, imap.gmail.com
, Googleユーザー名
, Googleパスワード
で行ける。
時々機嫌悪いことがあるので手動更新しよう(画面右上のProccess Email
)
JAMstack Deployments
Netlify に更新を知らせるのに使用したプラグイン。
これのおかげで Netlify が反応し、Gatsby サイトをデプロイしてくれる。
Gatsby
一度使ってみたかった。
React にあまり慣れていないのでテーマづくりに手こずったが慣れてる人なら楽だと思われる。
Netlify
Github からのデプロイなどができる。
今回はGitに上げた Gatsby 側の更新と、
JAMstack Deployments が知らせてくれる Wordpress 側の更新両方に対応してデプロイするようにした。
marked.js
本文のみ、マークダウンをHTMLにするのに使った。
初期状態では<br />
や<p>
などが入ってきていたので、ちまちま処理してカットした。
そののち marked( content )
みたいな感じにして変換した。
完成
更新できるかな……、できるといいな……。