Add properties to canvas files

Use case or problem

I would like to have properties in canvas notes as well. I would like to add alias titles, and tags and other general stuff to the canvas note that I can’t just embed in a card.

Proposed solution

Add properties support for .canvas files.

2 Likes

Workaround

Convert your canvas notes to real notes which does support properties.

But a normal note is totally different. I want to have cards and connections that canvas provides, but at the same time it would be nice to have the general file properties. To me it makes quite a lot of sense for this feature to be added.

As a clunky workaround you can make a note with the same name as the canvas and put a link to the canvas in it.

1 Like

OH, I misunderstood your original point! I thought you where talking about the notes within the canvas; but if I understand correctly now you mean the actual some-name.canvas file! makes total sense.

Some really interesting things could happen as well with plugins like Dataview and Metabind if you had property support on the canvas file…

Thanks for the clarity @leonlazic :slight_smile:

1 Like

Clunk indeed :slightly_smiling_face:

Related Stack Overflow discussion: What is the difference between YAML and JSON?

By definition canvas are JSON‑based while properties use YAML. Hence combining these two is impossible without changing either canvas file format or internal definition for properties—which is not going to happen since properties are regarded as YAML.

I propose changing the title to “Metadata in canvas files” since the word “properties” refers to clearly defined YAML‑based feature in Obsidian.

That is tooo bad, especially since the .canvas file type was purpose built by the Obsidian team. I am unsure why the team decided to make the .canvas file in the first place and not just insert some kind of callout for the renderer to render the cards and connections but still keep it all in a markdown file behind the scenes. Anyways …

Regarding the metadata proposition I see your point. As long as it looks and functions the same to the end user it can be implemented in JSON and called metadata in my opinion. I would just like to have the same functionality.

Yes exactly. I’m not against this feature request—it could be even a feature implemented by properties view core plugin. That way we can avoid having extra GUI clutter in our vaults. However talking about having metadata in canvas feels a bit early on considering its current embryonic status.

I think a Markdown version of Canvas would get pretty messy.

YAML is a superset of JSON, so it shouldn’t be hard to add a properties section to Canvas files. Properties can already be defined in JSON. It might even be possible for a plugin to do it; “Extensible and interoperable” section of Obsidian Canvas - Visualize your ideas says “Our API makes it easy to create plugins that add new capabilities to Canvas.”

I am a little confused by this discussion. Anyway, this is either a duplicate of

OR

@leonlazic Please, try to search before posting.

Hi. Sorry for the unintended duplication. I have tried searching but didn’t find the second post you referenced to. My post is indeed a duplicate of this one. I will try to be more meticulous next time.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.