Metadata Menu
approvedby mdelobelle
For data quality enthusiasts and Dataview users: access and manage the metadata of your notes.
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 willAccept any valueBoolean: a field that canAccept true or falseor null valueNumber: a field that canAccept a number(float) value, optionaly within a range (min,max) and can be in/decremented by astepvalue (default 1)Select: a field that canAccept a single value from a listMulti: a field that canAccept multiple values from a listCycle: a field that willCycle through values from a listFile: a field that willAccept a link to a file from your vaultMultiFile: a field that willAccept multiple linksMedia: a field that willAccept a link to a media file from your vaultMultiMedia: a field that willAccept multiple links to media filesDate: a field that willAccept a dateDateTime: a field that willAccept a date with timeTime: a field that willAccept a timeLookup: a field that willAccept a lookup queryCanvas: a field that willUpdate with links in a canvasCanvas Group: a field that willUpdate with groups in a canvasCanvas Group Link: a field that willUpdate with groups links in a canvasJSON: a field that willAccept a JSON objectYAML: a field that willAccept a YAML objectObject: a field that willAccept a collection of fieldsObject List: a field that willAccept 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.