タイトルと少々趣旨が異なるのだけど、元々はサイトにTwitterのタイムラインを設定したいと言う所からです。
順を追ってやっていきます。
・サイトにタTwitterのタイムラインを埋め込みしたくなったの、ちょっと調べてみた。
Twitterが公式に提供してくれている感じ。
https://publish.twitter.com/#にアクセスする。

・入力フィールドにタイムラインとして表示したいユーザページのURLを入力する。
今回の場合は、「https://twitter.com/mn_73」を入力する。

・次に何を表示したいか選択する。
今回の場合は、タイムラインなので左を選択する。

・埋め込むHTMLコードが生成される。
「set customization options」のリンクから多少カスタマイズもできる。
「Copy Code」をクリックしたらクリップボードにコピーされる。
後は、このコードをサイトに埋め込むだけ。
・トップページの「_index.md」にコードを埋め込んで確認してみる。

が、「Tweets by mn_73」の文字だけ表示されて、肝心なタイムラインが表示されない???
<p><!-- raw HTML omitted -->Tweets by mn_73<!-- raw HTML omitted --> <!-- raw HTML omitted --><!-- raw HTML omitted --></p>
Markdownでは、HTMLの記述もできるはずだけど、ページ生成時に素のHTMLコードがはじかれるみたい。
・素のHTMLを出力するショートコードを作成した。
ググってみたら余計なコードを付けたくないって話で、書いたままを出力するショートコード書いている人がいました。
今回はそれを拝借します。
「D:\hugo\sites\hugo-site\layouts\shortcodes\rawhtml.html」を作成します。
ファイルの内容は以下だけ。
{{ .Inner }}
・ 「_index.md」 の記載をショートコードを使う形で修正。(ショートコードで囲ってます。)
{{< rawhtml >}}<a class="twitter-timeline" href="https://twitter.com/mn_73?ref_src=twsrc%5Etfw">Tweets by mn_73</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> {{< /rawhtml >}}

・無事、タイムラインが表示されました。
お疲れさまでした。
参考サイト:
https://srbrnote.work/archives/2772
P.S.
気になってちょっと調べたら、Hugoの仕様が変わってそんな挙動になったみたい。
先にこっちを見つけていたら安易に設定変えてそうだった。
https://budougumi0617.github.io/2020/03/10/hugo-render-raw-html/
コメント