11 YとCloudaryの自動オープングラフ画像
5226 ワード
私は動的にそれぞれのブログ記事のためのユニークなオープングラフ(OG)イメージを生成するための方法を見つけるか、ポストデータを使用して自動的に注意してください.
この解決策の目的は、各ポストのブログ投稿イメージを手動で作成する必要がないことによって時間を節約するために、ブログの投稿をもっとTwitterのようなソーシャルメディアのウェブサイト上で共有するときに際立っている.
以前、私はポストのために一般的なイメージを使用していました、あるいは、私がブログ柱ヘッダーのために特定のイメージを使用するならば、それはOGイメージになります.しかし、私はポストごとにユニークな何かを欲しかったです、そして、それは即座に人々がソーシャルメディアの上で人々に話すという何かがポストでした.
例えば、これを達成する多くの方法があります.Drew McLellan 執筆Dynamic Social Sharing Images 2018年に戻ってください、しかし、Drawは造り時間でこれをしていて、Philpeteerとこのポストによる若干の非常に賢いものを使っていますStephanie Eckles それも、操り人形を使います.
これらは素晴らしい解決策ですが、私は何かを簡単に設定し、依存関係に軽量で、あまりにも技術的ではない'ちょうどそれを設定し、それを忘れることができる.
解決策
私が達成したかったのは、同様にイメージに加えられる私のロゴでイメージの上にポストタイトルを示すOpenGraphイメージを持つことでした.これは次のようになります.
最初に、あなたがイメージのためにOpenGraph
<head>
あなたのページテンプレートのうち、私の場合はblog.njk
レイアウト.現在使用しているコードは以下の通りです.{% if postImage %}
<meta name="twitter:image" property="og:image" content="{{ site.cloudinary_url }}{{ postImage }}" />
<meta name="twitter:image:alt" property="og:image:alt" content="{{ title }}" />
{% else %}
<meta name="twitter:image" property="og:image" content="{{ site.meta.ogImg }}" />
<meta name="twitter:image:alt" property="og:image:alt" content="{{ site.meta.ogImgAlt }}" />
{% endif %}
ここで私はポストがポストイメージを指定したかどうかを確認するためにチェックしています.OpenGraphタグをマージしたことに気づくでしょうname="twitter:image" property="og:image"
) そのFacebookやTwitterの代わりに、同じことのための複数の行のコードを使用します.Altテキストを指定できます.私はすでにCloudaryを使用しているので、私は彼らのAPIがtext and image overlays あなたがそれらを要求するとき、あなたはイメージに加えることができます.
これは、ポストタイトルと私のロゴをイメージに重ねておくという私の考えが成し遂げられることを意味しました.
どうやって動くの?
これは、Cloudary画像リクエストURLの変数を渡すことによって動作し、これらの変数は、その場でこれらのカスタム画像を作成するCloudary APIで使用されます.
ここでは、いくつかのカスタムオーバーレイを使用してイメージを要求するための完全なURLです.
https://res.cloudinary.com/juanfernandes/w_1200,f_auto/l_juanfernandes-logo,w_100,g_south_east,x_60,y_40/l_text:Georgia_80_bold_center:Using Defer to improve performance,co_rgb:eee,c_fit,w_600//v1579162296/computer-18363301920-1.jpg
これについての大きなことは、URLにいくつかの変数を追加することにより、ブラウザの右側のイメージを設計することができます.さて、これは私のOpenGraph画像のコードです
blog.njk
レイアウトテンプレートは、HTML変数と私のブログポスト変数を使用しているようです.<meta name="twitter:image" property="og:image" content="{{ site.cloudinary_url }}w_1200,f_auto/l_juanfernandes-logo,w_100,g_south_east,x_60,y_40/l_text:Georgia_80_bold_center:{{ title }},co_rgb:eee,c_fit,w_600/{{ postImage }}" /><meta name="twitter:image:alt" property="og:image:alt" content="{{ title }}" />
それを壊しましょう
基本的に、私はununjucks変数を使用してポストタイトルテキストとイメージを通過しています.ここで、すべてのこれらの変数が意味するものの内訳です.
https://res.cloudinary.com/juanfernandes/
これは、私のアカウント名のCloudary URLを渡すための変数ですw_1200,f_auto/
ここでは、私は1200 pxワイドと自動画像形式で画像を要求していますl_juanfernandes-logo
これはオーバーレイ、私のロゴで使用するイメージの名前ですl_
そして、これはCloudaryをオーバーレイとして使うためにw_100,g_south_east,x_60,y_40/
これは、画像のサイズ、100 px幅、位置、右下、およびxとyの値を使用して正確な配置を指定しますl_text:Georgia_80_bold_center
これはオーバレイテキストがジョージアフォントになければならないことを曇らせると、フォントサイズは80 px、太字で、中心にあるべきですAutomated Open Graph images with 11ty and Cloudinary
これは、ブログ記事タイトルのためのNunjucks変数ですco_rgb:eee,c_fit,w_600
これは、オーバーレイテキストが欲しい色を縦方向と水平方向に集中し、テキストの最大幅を設定する/v1579162296/computer-18363301920-1.jpg
この変数は、すでにポストページにアップロードされたポストイメージの名前を渡します私がカスタムイメージを使用したポストのために、私はそれが白いテキストを読みやすくするために暗いイメージであることを確認します.
これは、迅速な解決と私のポストは、ソーシャルメディア上で少しスタンドになる簡単な勝利だった.私は、一般的にCloudary APIオーバーレイについて詳しく調べて、学びました.
ヒント:あなたの社会的共有イメージをテストする
TwitterやFacebookはあなたの社会的なメディア'カード'をテストするためのツールを提供し、ここで私の今Twitterのように見えるものです.
これをさらに
私は、これをさらに一歩踏み出すことができて、テキストの色を通過することができるか、コンテンツ管理システムによってセットされることができるオーバーレイとして使うために異なるロゴまたはイメージを選ぶことができますForestry.io 投稿を作成するとき.
私は、これを11 tyのプラグインに変えることさえできました.
ホープは、この便利な場合は、それについて何かを議論する場合は、上に到達すると思います.
Reference
この問題について(11 YとCloudaryの自動オープングラフ画像), 我々は、より多くの情報をここで見つけました https://dev.to/juanfernandes/automated-open-graph-images-with-11ty-and-cloudinary-4fg4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol