phoenix で meta tag をセットする

Elixir Phoenix Web
更新2020/10/31
rails だと meta-tags などがありますが、phoenix では phoenix_meta_tags というのがあるっぽいです。

結論

PhoenixMetaTags を使うのがよさそうです。
導入方法はgithubの通りですが、サンプルに書かれてる通りのやり方ではOGPが表示されませんでした。
なのでput_meta_tags に渡すMapを下記のようにしたところうまく表示されるようになりました。

# あるarticleのOGPを設定する場合
 
%{
  type: 'article',
  title: article.title,
  description: article.description,
  url: Routes.url(conn) <> conn.request_path,
  image: Routes.static_url(conn, "/images/ogp_image.jpg"),
  twitter: %{
    card: "summary_large_image" 
  }
}
これでSlackとTwitterでOGPが設定できることをかくにんできました。

余談

特にTwitterOGPでは下記みたいなマップをネストした書き方が必要っぽい
このあたりを見て察しました。
twitter: %{
    card: "summary_large_image" # "summary" を指定してもよい
  }
書いた人/このブログについて

サーバーサイドエンジニア。お仕事ではRubyとPerl。趣味ではC#やHLSLなどを少しと、3DCGでPythonをごまかしながら使う感じ。Unityとインフラ周りも好き。

自分の備忘録もGoogle検索に任せたくてこのブログ書いてる。Phoenix製でEC2上で稼働中。