本ブログにて新規投稿をしたときにTwitterで自動ツイートする方法を試しました。
備忘録を残しておきます。
やりたいこと
ブログで新規投稿をしたときに自動でTweetする。
大まかな流れですが、以下の順で実施しました。
- HugoでRSS Feedを用意
- RSS Feedを取得
- IFTTTでレシピを設定
- imagesパラメータを設定
手順
HugoでRSS Feedを用意
私が使用しているHugoのテーマには、RSS Feedがデフォルトで用意されていないようでした。 Hugoのファイルを編集することで、RSS Feedを用意しました。
具体的には、themes/[使用しているテーマ]/layouts/partials/head.html
を、
layouts/partials/
ディレクトリの下にコピーし、head.html
に以下の行を追記しました。
<!-- RSS -->
<link rel="alternate" href="{{ "index.xml" | absLangURL }}" type="application/rss+xml" title="{{ .Site.Title }}">
Hugoではテーマの一部を編集したい場合、元のテーマのファイルを直接編集せずに、上記の方法のように、コピーしたファイルを編集するとよいみたいです。
RSSの用意については、とりあえずHugoの他のテーマでRSSが用意されているものを参考にしました。
RSS Feedを取得
適当なサービスを使用し、RSS Feed URLを確認します。
詳細は割愛します。
IFTTTでレシピを設定
今回、TwitterとRSSを連携するために、IFTTT(イフト)を使いました。 IFTTは様々なサービス間の連携ができるので便利です。
ブラウザからIFTTTにログインし、RSSを検索すると、「RSS to Twitter」というレシピを見つけました。 これをそのまま利用させていただきました。
設定画面に従い、Twitterにログイン、Feed URLを入力しSaveすると、設定完了です。
imagesパラメータを設定
(※2020/2/26追記)
Twitter cardsの画像がうまく表示されなかったため、
こちらを参考にし、
config.toml
の[params]内と各ポストのパラメータ部分に、以下を追記しました。
images = ["画像のパス"]
これで画像も表示されるようになりました。
まとめ
今回、Hugoのテーマ書き換えやIFTTTのレシピ活用を試してみました。
どちらも便利なサービスなので、今後は他にも色々試してみたいと思います。