mdelobelle244k downloadsFor data quality enthusiasts and Dataview users: access and manage the metadata of your notes.
⭐ 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
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)
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 valueBoolean: a field that can Accept true or false or null valueNumber: 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 listMulti: a field that can Accept multiple values from a listCycle: a field that will Cycle through values from a listFile: a field that will Accept a link to a file from your vaultMultiFile: a field that will Accept multiple linksMedia: a field that will Accept a link to a media file from your vaultMultiMedia: a field that will Accept multiple links to media filesDate: a field that will Accept a dateDateTime: a field that will Accept a date with timeTime: a field that will Accept a timeLookup: a field that will Accept a lookup queryCanvas: a field that will Update with links in a canvasCanvas Group: a field that will Update with groups in a canvasCanvas Group Link: a field that will Update with groups links in a canvasJSON: a field that will Accept a JSON objectYAML: a field that will Accept a YAML objectObject: a field that will Accept a collection of fieldsObject List: a field that will Accept a list of collection of fieldsBy default each field is an Input
You can define a field setting for each field.
A field setting is composed of:
A field setting can defined in:
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
a Field can be modified or added from several locations: