Toggle visibility of/hide specific properties

Original Request (closed for unclear title, though I can’t find a reupload by him )

Use case

Hide / Toggle Visibility of certain properties from the property menu, while still keeping them in the underlying YAML metadata.

Problem

My eyes must be taken aback by ugly property names in some of my notes & auto-complete is clogged up by plugins who use YAML anywhere else in my vault.

Proposed solution

Allow us to toggle visibility of certain properties on a per-note basis, or globally, preventing them from populating in property auto-complete as well.

Additionally allow plugin devs to specify this for properties added via plugins, perhaps by a . prefix to a property causing it to be hidden by default to ensure the info is conveyed in plain text.
(though still allow a seperate toggle to unhide since removing the . would change the property name)

Current workaround (optional)

A CSS Snippet like this (from @kepano on discord)

.markdown-preview-view {
  & div[data-property-key="hiddenproperty"] {
    display:none;
  }
}

Related feature requests (optional)

“Hidden Properties” :: Post by lukemt which was closed for it’s title?

18 Likes

Thanks @Aeases !

+1. I’m already using CSS for this, but it would be nice if it were officially supported in a way that were more comprehensive (like autocomplete, as the OP suggests) and easier to toggle. I don’t want to see the cssclasses of my notes all the time, for example.

+1. Adding to the css suggestions:

Hide a property from all views (reading/edit/sidebar - I don’t want to see cssclasses unless I am in source mode):

.metadata-property[data-property-key="cssclasses"] {
  display: none;
}

Hide a property in reading/edit view, but keep in sidebar:

.markdown-preview-view .mod-header .metadata-property[data-property-key="created"] {
  display: none;
}

Those apply to all notes but you could also target by cssclass like:

.hide-metadata-created .metadata-property[data-property-key="created"] {
  display: none;
}
2 Likes

You might find this other related properties appearance topic useful - I have added css code which allows you to define which “property values” you want to hide. And therefore only show properties you are interested in. And it is also highlights special fields, such as “related” links property.
And the Toggle fold properties in current file hotkey is helpful - I have it bound to ALT + Z.

Obsidian core should take inspiration from Notion properties, which provide several approaches that work per property:

  • Always show
  • Always hide
  • Hide when empty
  • Minimal
1 Like

+1 Indeed, excellent FR. A lot of clutter with e.g. Excalidraw properties we don’t need.