Obsidian Query Langauge plugin published

I’ve just published my first plugin for Obsidian! As a huge fan of the software the possibility of writing your own plugins to work with the data you create is just awesome! I’ve been using Obsidian for over 8 months now and one of the first things I created was the clipper.

Since a few months Obsidian now allows users to write plugins in Typescript. While I’m not that versed in the Typescript/Javascript verse I did manage to write my first plugin! (well, technically not the first, but the only one published!)

You can download the plugin through the community plugins in Obsidian or install it manually from Github.

The plugin allows you to create query blocks and use the Obsidian vault as a data-source, gathering knowledge about your notes. For example, this is the query I build to list the last 5 daily notes in Obsidian:

name: Last 5 created daily notes
query: "'100 Daily/"
template: "list"
sort: "created"
limit: 5

While developing this plugin I actually got thinking more about storing queries itself within the data. Normal database’s don’t really allow you store queries within the data itself. Sure, it’s possible to store queries and re-use them. But that’s the same as embedded within the data itself.

This pattern is interesting as the query context is often relevent for the output, and storing the query within the data results in having both in the same place, allowing you to connect the dots quicker!

Storing queries within the data itself joins the query within the context, allowing users to grok the note quicker!

For now the first version of the plugin is available, but after talking to some users there are more venues to explore, for example having mulitple queries or even allowing other plugin to use the query engine!

Related posts that might be of interest