Have you seen how you can paste a URL into Facebook, Twitter or iMessage, and it will automatically find the page name, author, and photo? They do this by reading the Open Graph Protocol tags. Most websites today are already following this protocol and embedding information, all we need is to read it.
See here:
- Rich Link Preview using the Open Graph Protocol - Slightly nerd
- The Open Graph protocol - Official site
And Obsidian just added support for metadata using YAML. Obsidian can store aliases and tags in YAML metadata but there is potential for so much more. Here are some great discussions of YAML on Obsidian:
- YAML Fields for Link Attributes
- Allow links in YAML front matter; Notion-like databases from metadata; links as first-class citizens
- Customize Graph node appearance via YAML frontmatter
Proposal
Allow Obsidian to support the YAML field url:
. When a user pastes a url into the url:
YAML field, Obsidian fetches the open graph metadata from the url and shows the user any metadata it found.
If an Open Graph field already matches a YAML field that Obsidian or an Obsidian plug-in already understands, then Obsidian just automatically pastes that data into the YAML field.
If Obsidian finds fields that it does not yet recognize or support, then it will show a dialog box with all the extra metadata it found. The user can click any of these open graph tags, type in the name of a YAML field and Obsidian will add it to the field.
Example scenario:
Iām creating an atomic Literature note for a blog post that I read. I create a new note and add my YAML header. I add the YAML field url:
and paste in www.someBlog.com/someArticle
. Behind the scenes, Obsidian fetches the Open Graph metadata from www.someBlog.com/someArticle
. The metadata may look something like this:
article:published_time - datetime
article:author
og:title
og:type
og:url
Letās say in the future, Obsidian already has support for more YAML fields. In this scenario, Obsidian reads that Open Graph metadata and auto adds the following YAML metadata:
---
url: www.someBlog.com/someArticle
type: article
author: some author
date: published_time - datetime
aliases: Article Title
tags: [articleTag1, articleTag2]
---
Imagine how much faster and more powerful Obsidian could be if we just took advantage of the metadata that is already given to us.
Use Cases
This could greatly reduce āmanagerial workā particularly for people who take Atomic notes, and Literature notes.