takahe/templates/_opengraph.html
Corry Haines b53504fe64
Basic OpenGraph support (#267)
Creates an OpenGraph template include in base.html including the basic tags expected on all pages.

Then allows any page to add additional expected tags via `context`.

Currently, profiles and posts are enriched to show complete opengraph metadata, and render correctly in Discord.

Note: This does not show posts in Slack like Twitter/Mastodon do. I believe this is due to Slack preferring oembed when present, which is a mastodon API endpoint we may need to create at some point.
2022-12-26 10:39:33 -07:00

14 lines
593 B
HTML

{% load opengraph %}
{% with opengraph_merged=opengraph_local|dict_merge:opengraph_defaults %}
<!-- Begin OpenGraph tagging -->
{% for key, value in opengraph_merged.items %}
<meta content="{{ value|striptags }}" property="{{ key }}"/>
{% if key == "og:description" %}
{# Mastodon duplicates this one tag without the og: prefix. Not sure why #}
<meta content="{{ value|striptags }}" property="description"/>
{% endif %}
{% endfor %}
{% block opengraph_extra %}
{% endblock %}
<!-- End OpenGraph tagging -->
{% endwith %}