Hi Zac! I love your use cases and sample GIFs illustrating them, very well done!
I just made a feature request that could actually solve both of our needs:
Here’s how this simple attributes feature would work:
I want to make this paragraph have its own class. {.foo}
Furthermore, I want to give [[This Page Link]]{.bar} its own class.
Lastly:
- this list
- should have
- a third custom class
{.baz}
Now you may be thinking, “this doesn’t solve my use case”—but it’s usable for any attributes. For example, are you familiar with XFN — the XHTML Friends Network? It lets you establish relationships using the standard rel="" attribute, so a relationship link could be defined like this in markdown:
Meet my partner, [[River Song]]{rel="partner"}.
Looking for something more specifically tailored to your Obsidian needs, like wanting custom filterable options in the Graph? If the Obsidian team implements this markdown-it-attrs feature request, then they could support your exact needs with something like the above (parsing the rel attribute for graph filters, for example), or:
Meet my partner, [[River Song]]{data-obsidian-graph-group="Partners"}
The data-obsidian-graph-group would find all unique values (“Partners”) and turn those into filter options as a group.
Additionally, this proposed feature request for markdown-it-attrs would allow for customizable aspects to lots of areas of Obsidian, using that data-obsidian-X syntax. It’s all up to what the devs would want to allow and implement, but the idea of customizable graph filters is awesome and I would love to see them implement this!