Refactor seo.html and support OpenGraph image overrides (#1321)
- Refactor seo.html include and add `page.header.og_image` override - DRY up handling of page images (`page.header.image`, `page.header.overlay_image`, `page.header.teaser`, and `site.og_image`). - Allow page images to be set with `header.og_image` page variable in YAML Front Matter as per feature request in #1316. - Add sample posts for testing `og_image` override - Set author bio as site OpenGraph default image - Document `page.header.og_image` OpenGraph override - Update CHANGELOG and history Close #1316
This commit is contained in:
@ -54,21 +54,37 @@
|
||||
<meta property="og:description" content="{{ seo_description }}">
|
||||
{% endif %}
|
||||
|
||||
{% assign page_large_image = page.header.og_image | default: page.header.overlay_image | default: page.header.image %}
|
||||
{% unless page_large_image contains '://' %}
|
||||
{% assign page_large_image = page_large_image | absolute_url %}
|
||||
{% endunless %}
|
||||
{% assign page_large_image = page_large_image | escape %}
|
||||
|
||||
{% assign page_teaser_image = page.header.teaser | default: site.og_image %}
|
||||
{% unless page_teaser_image contains '://' %}
|
||||
{% assign page_teaser_image = page_teaser_image | absolute_url %}
|
||||
{% endunless %}
|
||||
{% assign page_teaser_image = page_teaser_image | escape %}
|
||||
|
||||
{% assign site_og_image = site.og_image %}
|
||||
{% unless site_og_image contains '://' %}
|
||||
{% assign site_og_image = site_og_image | absolute_url %}
|
||||
{% endunless %}
|
||||
{% assign site_og_image = site_og_image | escape %}
|
||||
|
||||
{% if site.twitter.username %}
|
||||
<meta name="twitter:site" content="@{{ site.twitter.username | replace: "@", "" }}">
|
||||
<meta name="twitter:title" content="{{ page.title | default: site.title | markdownify | strip_html | strip_newlines | escape_once }}">
|
||||
<meta name="twitter:description" content="{{ seo_description }}">
|
||||
<meta name="twitter:url" content="{{ canonical_url }}">
|
||||
|
||||
{% if page.header.image %}
|
||||
{% if page_large_image %}
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:image" content="{% if page.header.image contains "://" %}{{ page.header.image }}{% else %}{{ page.header.image | absolute_url }}{% endif %}">
|
||||
<meta name="twitter:image" content="{{ page_large_image }}">
|
||||
{% else %}
|
||||
<meta name="twitter:card" content="summary">
|
||||
{% if page.header.teaser %}
|
||||
<meta name="twitter:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}">
|
||||
{% elsif site.og_image %}
|
||||
<meta name="twitter:image" content="{{ site.og_image | absolute_url }}">
|
||||
{% if page_teaser_image %}
|
||||
<meta name="twitter:image" content="{{ page_teaser_image }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
@ -87,14 +103,10 @@
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if page.header.image %}
|
||||
<meta property="og:image" content="{% if page.header.image contains "://" %}{{ page.header.image }}{% else %}{{ page.header.image | absolute_url }}{% endif %}">
|
||||
{% elsif page.header.overlay_image %}
|
||||
<meta property="og:image" content="{% if page.header.overlay_image contains "://" %}{{ page.header.overlay_image }}{% else %}{{ page.header.overlay_image | absolute_url }}{% endif %}">
|
||||
{% elsif page.header.teaser %}
|
||||
<meta property="og:image" content="{% if page.header.teaser contains "://" %}{{ page.header.teaser }}{% else %}{{ page.header.teaser | absolute_url }}{% endif %}">
|
||||
{% elsif site.og_image %}
|
||||
<meta property="og:image" content="{% if site.og_image contains "://" %}{{ site.og_image }}{% else %}{{ site.og_image | absolute_url }}{% endif %}">
|
||||
{% if page_large_image %}
|
||||
<meta property="og:image" content="{{ page_large_image }}">
|
||||
{% elsif page_teaser_image %}
|
||||
<meta property="og:image" content="{{ page_teaser_image }}">
|
||||
{% endif %}
|
||||
|
||||
{% if page.date %}
|
||||
@ -115,7 +127,7 @@
|
||||
"@context": "http://schema.org",
|
||||
"@type": "Organization",
|
||||
"url": {{ seo_url | jsonify }},
|
||||
"logo": {{ site.og_image | absolute_url | jsonify }}
|
||||
"logo": {{ site_og_image | jsonify }}
|
||||
}
|
||||
</script>
|
||||
{% endif %}
|
||||
|
Reference in New Issue
Block a user