Render oEmbed-enabled content
Open, NormalPublic



When a user includes a URL from an oEmbed-enabled provider, fetch that oEmbed data and render it in the post instead of the plain URL.


This enables easy embedding of all types of content (see subtasks for some).


On publish:

  • Check plain URLs against a list of providers.
  • If the URL matches one, fetch that data (ideally asynchronously, before the user publishes - TODO: create task)
  • Cache that data locally in a new oEmbed database table
    • Retain a cached version for some small amount of time

On post rendering:

  • Check plain URLs against a list of providers
  • If the URL matches one, look it up in the oEmbed table
  • Serve the content from the database
  • If the cached data is expired, fetch it in the background (for the next visitor to see)

Related Objects