previously we would uncritically take data and format it into
tags for static-fe and the like - however, instances can be
configured to disallow unauthenticated access to these resources.
this means that OG tags as a vector for information leakage.
_technically_ this should only occur if you have both
restrict_unauthenticated *AND* you run static-fe, which makes no
sense since static-fe is for unauthenticated people in particular,
but hey ho.
Twitter cards were not passing any useful metadata. A few things were
being handled on Twitter's end by trying to match OpenGraph tags with
their own, but it wasn't working at all for media. This is an attempt to
fix that.
Common functions have been pulled out of opengraph and put into
utils. Twitter's functionality was entirely replaced with a direct copy
of Opengraph's and then modified as needed.
Profiles are now represented as Summary Cards
Posts with images are now represented as Summart with Large Image Cards
Posts with video and audio attachments are represented as Player Cards.
This now passes the Twitter Card Validator.
Validator and Docs are below
https://cards-dev.twitter.com/validatorhttps://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards