Metadata Menu

approved

by mdelobelle

For data quality enthusiasts and Dataview users: access and manage the metadata of your notes.

683 stars253,142 downloadsUpdated 1mo agoMIT
View on GitHub

Metadata Menu

⭐ Looking for contributors ⭐ I unfortunately can't dedicate much time anymore on Metadata Menu, but there are many things that still need to be done: UI, new types, go deeper in data structure management and integration with canvas and properties, documentation...

You're more than welcome to submit PRs, and I will gladly help and mentor :)

This plugin is made for data quality enthusiasts: access and manage the metadata of your notes in Obsidian.

Metadata Menu adds context menu items to modifiy target note's frontmatter fields and "inline fields" (dataview syntax) by right-clicking on the link, or within dataview tables

You can define preset types and values for those fields globally in the plugin's settings or on a file-by-file basis thanks to fileClass definition

It also enables frontmatter of inline-field autocompletion with suggested values based on preset values.

For a complete walk-through, here is an excellent showcase by Danny Hatcher: complete demo

For complete documentation : https://mdelobelle.github.io/metadatamenu

demo 1 : basic features, settings and field types

demo 2: autocompletion and "in sentence" fields commands

demo 3: File type fields

demo 4: Date type fields

demo 5: Templates for Input type fields:

demo 6: FileClass

demo 7: Time shifting for spaced repetition or date postponing

demo 8: Lookup fields

demo 9: Lookup fields as bullet list

demo 10: Better Select and File fields

demo 11: Supercharged Tags, multi fileClasses and metadata button

demo 12: Fileclass View

demo 13: Canvas fields

demo 14: Create a Kanban board with Canvas Group fields

demo 15: Nested fields (Object, Object List, Yaml, JSON)

demo 16: Fileclass tableviews

General concepts

Metadata Menu can manage any metadata field located in frontmatter (YAML syntax) or in the body of the note with the syntax field:: (dataview style)

Field Types

Metadata Menu gives a type to each field. Available types are:

  • Input (free text) : this is the default type applied to each field if nothing is set for this field (see #Field settings). it will Accept any value
  • Boolean: a field that can Accept true or false or null value
  • Number: a field that can Accept a number (float) value, optionaly within a range (min, max) and can be in/decremented by a step value (default 1)
  • Select: a field that can Accept a single value from a list
  • Multi: a field that can Accept multiple values from a list
  • Cycle: a field that will Cycle through values from a list
  • File: a field that will Accept a link to a file from your vault
  • MultiFile: a field that will Accept multiple links
  • Media: a field that will Accept a link to a media file from your vault
  • MultiMedia: a field that will Accept multiple links to media files
  • Date: a field that will Accept a date
  • DateTime: a field that will Accept a date with time
  • Time: a field that will Accept a time
  • Lookup: a field that will Accept a lookup query
  • Canvas: a field that will Update with links in a canvas
  • Canvas Group: a field that will Update with groups in a canvas
  • Canvas Group Link: a field that will Update with groups links in a canvas
  • JSON: a field that will Accept a JSON object
  • YAML: a field that will Accept a YAML object
  • Object: a field that will Accept a collection of fields
  • Object List: a field that will Accept a list of collection of fields

Field settings

By default each field is an Input

You can define a field setting for each field.

A field setting is composed of:

  • a name
  • a type (see ## Field Types list above)
  • options depending on the type

A field setting can defined in:

  • Metadata Menu settings (see # Metadata Menu Settings)
  • in a fileClass note (see # Fileclass)

NB: if a field has a setting defined in the Metadata Menu settings AND in a fileClass note, the setting of the fileClass will take the priority over the setting defined in Metadata Menu settings

Controls

a Field can be modified or added from several locations:

  • autocompletion within the editor mode
  • Obsidian and plugins menus : file explorer, note, calendar, context menu of a link, many other plugins not fully tested ...
  • dataview table if you have dataview plugin installed

Roadmap

Know Issue

  • autocomplete conflicts with Various Complements plugin

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.