For data quality enthousiasts (and dataview lovers): manage the metadata of your notes.

Overview

Metadata Menu

This plugin is made for data quality enthousiasts: 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 complete documentation : https://mdelobelle.github.io/metadatamenu

demo 1: basic features, settings and field types https://youtu.be/7bvIAkJf0OE

demo 2: autocompletion and "in sentence" fields commands https://youtu.be/gU-StGyDciY

demo 3: File type fields https://youtu.be/sYudigxPEnY

demo 4: Date type fields https://youtu.be/PrbYaVh7N7g

demo 5: Templates for Input type fields: https://youtu.be/Mq2tbA0RVM8

demo 6: FileClass https://youtu.be/QxXSuh7HUZY

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
  • Date: a field that will Accept a date

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

  • manage indented lists multi-values frontmatter field

Know Issue

  • autocomplete conflicts with Various Complements plugin
Comments
  • A problem for

    A problem for "Time shifting for spaced repetition or date postponing"

    Hello:

    When I use next interval to improve date, like "1 day,2 days, 1 week,2 weeks","cycle through values from a list" can't be used. image

    This function is very useful to me. Waiting your help.

    opened by aybeex 22
  • Serious performance issues

    Serious performance issues

    Obsidian is unusable for me with the plugin enabled. Every action takes about 5 seconds to resolve. I do have a healthy sized vault and a lot of metadata and fileClasses. Happy to provide any other info!

    enhancement core solved 
    opened by arminta7 15
  • Add to frontmatter problem - invalid YAML

    Add to frontmatter problem - invalid YAML

    Hi,

    It shows invalid Yaml problem if I use : caracter in field template. I don't belive that it is a real problem, just can not be used this solution in this case.

    Füles


    Temp in field:

    version:: {"type":"Input","options":{"template":"Ver: {{version}}"}}

    Add to frontmatter: image

    Created Metadata:

    version: Ver: 4.4

    Result: image

    opened by balola 15
  • Metadata Form - Icon Not Appearing

    Metadata Form - Icon Not Appearing

    Good Evening

    Even after activating the metadata form button it is not appearing as can be seen in the images right below:

    image

    image

    If you need anything else, just let me know

    Have a pleasant day

    opened by yurijserrano 14
  • FR: Set fileClass using tags

    FR: Set fileClass using tags

    As well as using frontmatter to set the fileClass, having the option to set it using tags. So instead of having to sayfileClass: music I could have #music in the note determine that setting.

    opened by arminta7 12
  • No calendar after latest update

    No calendar after latest update

    After the latest update there's no calendar anymore on Windows and ios after selecting the "date" frontmatter

    It only says: change value for

    Oh, I see it's also not possible anymore for the "multi" field setting Here it also just displays: change value for

    I checked: it works fine until version 01.40

    cheers

    bug solved 
    opened by Asetnozama 11
  • Fileclass Table View not working

    Fileclass Table View not working

    The new file class table view only seems to only work for me on file classes and notes that are mapped to a single tag.

    Fileclasses that are classified in the front matter (I have it set to 'type:') do not display in the file class table view, and file classes where the tags are defined in the front matter ('tagNames:') don't display in the table view. Fileclasses mapped to a nested tag (The file class is 'source' but the files are 'source/[read status]') don't show in table view either. I've tested repeatedly with all of these styles and combos to try to figure this out. The only ones that work are a single tag mapped- if I add a second type to a file that is showing up in the table view, it will disappear from the table view. The file classes themselves are working, because the icons and properties match their file classes- but the table views always say no results for query.

    opened by kearalong 10
  • FR: TagAlias to help with mapWithTag

    FR: TagAlias to help with mapWithTag

    How it is at the moment:

    I have a FileClass called Plugin (FileClass) and I would like to use mapWithTag. This would require me to use a tag #Plugin (FileClass)

    What I would like:

    Be able to specify an Alias which will be used explicitly with Metadata Menu to be able to use a tag like #Plugin

    How could this be done:

    Adding a TagAlias: Plugin to the frontmatter of the fileclass note, perhaps even with sub tag support, e.g #Obsidian/Plugin

    enhancement fileClass tags 
    opened by MMoMM-org 10
  • Controls are not working anymore (for me)

    Controls are not working anymore (for me)

    Hello, First of all, thank your for this great plugin!!

    Now my problem, after the last update or the update before the ways to change the metadata no longer work. I can only go through it by going into the command palette. So there is no right click, file explorer, note, calendar and context menu of a link. I know for sure it worked before, but now it just disappeared from the context menu. I'm using version 015.9 of Obsidian, your latest plugin and the minimal theme. Switching to the default theme and reinstalling the plugin didn't solve the problem. Do you maybe know what's going on?

    Thank you very much!

    opened by Asetnozama 8
  • [FR] Grab field values from dataview query

    [FR] Grab field values from dataview query

    Similar to what you make for assigning fileClass based on dataview query, but for collecting all values to quickly insert them in the field instead of manually entering. Maybe in the fileClass note something like this:

    personClass.md
    ===
    profession:: { "type": "dataview", "options: "dv.pages("#person").where(p.profession)"}
    
    enhancement fileClass settings types 
    opened by cogscides 7
  • Feature Request: Map File/Multifile link list items to some field from returned pages

    Feature Request: Map File/Multifile link list items to some field from returned pages

    First, this plugin is super handy, and already one that I use every day!

    I have a multifile link field that gives me a list of folder notes, based on a tag #area. So I have:

    dv.pages("#area")

    Which returns a list like...

    20 Personal
    21 Automobile
    22 etc..." 
    

    It would be great if we could access the page object and map it, like we're rendering with the dataviewjs dv.table...map() or dv.list...map(). In my case, this would allow me to render the list using the aliases, so my dropdown list looks more like this:

    🗃.Personal
    🗃.Personal.Automobile
    🗃.Personal.etc.
    

    Nitpicky use case, I know, but I imagine others might find use in being able to render the list with something other than the filename.

    enhancement fileClass settings types 
    opened by frankreporting 7
  • Bring back tags as an array please

    Bring back tags as an array please

    I do prefer my tags in frontmatter as an array. This was changed after v0.3.10 Please bring this back as an option. With the current version if I change any frontmatter tag value and use the suggester, it converts my tags from an array to the list. I know a lost of people prefer the list method, but the array method is perfectly valid and I prefer it that way.

    YAML fields regression 
    opened by willasm 2
  • FR: Advance cycle of cyclical fields based on text in canvas links

    FR: Advance cycle of cyclical fields based on text in canvas links

    Here is my use case: I'm writing something that breaks down into scenes and chapters. I can set up sections and chapters with groups, but scenes doesn't really work as well. The thought I had was what if you could advance a cycle based on a trigger word in the connection, like you do with the connections? Is this doable, or even a good idea? For instance, I lay out the cards of Chapter 1 scene 1, then connect a note to it, put "scene" in the text between, and that note becomes Chapter 1 (based on groupings) Scene 2.
    Thank you for your consideration! I appreciate all the hard work.

    question 
    opened by thecookiemomma 0
  • add settings option to add a space between dataview inline field and metadata input by default

    add settings option to add a space between dataview inline field and metadata input by default

    I love this plugin, and it has dramatically improved the way I use metadata , Thank you!

    for preset fields — the default option is to add the field without adding a space between the "::" used for dataview fields and the input— and the only way around this is to use shift+ enter.

    However, this is difficult/ not possible when using metadata menu on mobile, and adds unnecessary friction, especially when adding tags.

    Can this be changed?

    enhancement editor 
    opened by rushikb 5
  • multiple minutes of startup time for obsidian using metadata menu

    multiple minutes of startup time for obsidian using metadata menu

    When I have metadata menu enabled obsidian takes 3-4 minutes of starting up, and the app looks like this:

    Skjermbilde 2022-12-31 kl  13 59 04

    I am using obsidian 1.1.9, and metadata menu version 0.4.4 on a mac.

    when I disable metadata menu the vault takes only a couple of seconds to load. I have a relatively large vault ( a couple of thousand notes) that takes a while to index, so this might be a contributing factor. the bug started to appear after the update that introduces canvas fields. I attempted to move the folder containing the metadata menu file classes out of the vault, which made no difference to the start up time. I also tried resetting the fileClass field alias back to the default (which means that none of my notes have the file class field). Doing this brought the startup time down to about 2 minutes

    "Metadata Menu loaded" shows up within a couple of seconds in the console. No warnings appear in the console, it simply takes a long while for the app to start.

    question performance 
    opened by ben1mit 5
  • Yaml Front Matter doesn't work

    Yaml Front Matter doesn't work

    Previously, in Filed Setting, I could quickly put several items on a single line in just a few clicks, now after the first item the cursor goes down and it is no longer possible to select other items, except by manually returning to the upper line. Also, after selecting an item, the word "null" appears for each item within the front matter.

    bug YAML fields waiting for dependency 
    opened by Armand2022 8
  • Lookup field lists extend outside of callouts

    Lookup field lists extend outside of callouts

    I've been using Dataview queries to display lists in callouts, but was excited to switch to Lookup Fields when I discovered them. However, I'm running into one issue which is making the switch challenging.

    As shown in this screenshot, when a Lookup Field using the list format whose key is contained in a callout has items added to it, they don't maintain the callout formatting and instead continue outside of the callout.

    image

    Being able to keep the entire list within a callout would be super handy, if it's feasible.

    enhancement types 
    opened by oddnik 0
Releases(0.4.6)
Owner
mathieu
mathieu
Easily open daily notes and periodic notes in new pane; customize periodic notes background; quick append new line to daily notes.

Obsidian daily notes opener This plugin adds a command for opening daily notes in a new pane (so that a keyboard shortcut could be used!) and gives ex

Xiao Meng 16 Dec 26, 2022
A new social media site for Pokemon lovers, where you can connect with other Pokemon lovers and share messages.

PokeBook Description A new social media site for Pokemon lovers, where you can connect with other Pokemon lovers and share messages. Tools and Languag

Chris Burton 2 Jun 18, 2022
An Obsidian plugin to upload your notes' metadata to your database.

Obsidian + PostgreSQL = ❤️ An Obsidian plugin to upload your notes' metadata to your database. Features send the Dataview annotations of a page to a P

Camille Louédoc-Eyriès 33 Dec 19, 2022
A plugin for Obsidian that can create input fields inside your notes and bind them to metadata fields.

Obsidian Meta Bind Plugin This plugin can create input fields inside your notes and bind them to metadata fields. New docs I am currently working on n

Moritz Jung 57 Jan 4, 2023
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Like Obsidian Publish but for self-hosting. Plugin integrations for dataview, admonition, and more.

Obsidian Export Obsidian Publish is great but lacks support for many of the plugins we Obsidian addicts have grown accustomed to — in particular Datav

null 12 Nov 28, 2022
A example vault to collect and showcase various dataview queries. Created on behalf of AB1908

Obsidian Example Vault for Dataview Queries Good day! This example vault showcases different usages of the Dataview plugin for Obsidian.md. You'll fin

s-blu 184 Jan 5, 2023
A Zotero add-on that scans your Markdown reading notes, tags the associated Zotero items, and lets you open notes for the Zotero items in Obsidian.

Zotero Obsidian Citations Adds colored tags to Zotero items that have associated Markdown notes stored in an external folder. Open an associated Markd

Dae 210 Jan 4, 2023
Enables creating databases based on files in Obsidian - like Dataview, but with editing!

Obsidian Database Plugin Do you like Dataview plugin for Obsidian? This one is taking Dataview to next level, but not only allowing you to view the da

Łukasz Tomaszkiewicz 115 Jan 4, 2023
📝 You Can Create Your Own Short Notes With The Help of Sticky-Notes Website.

Hi ?? , I'm Sneh Agrawal A passionate Web developer from India ?? I’m currently working on Chatting Website Chit-Chat ?? How to reach me on My Gmail A

Sneh (Smilyboyy) 1 Feb 23, 2022
A service for sharing encrypted Markdown notes from Obsidian. Notes are end-to-end-encrypted and are only stored temporarily.

?? Noteshare.space Noteshare.space is a service for sharing encrypted Markdown notes from Obsidian. Notes are end-to-end-encrypted and are only stored

Maxime Cannoodt 56 Dec 26, 2022
Easily publish notes to the web This plugin integrates with obsius.site to publish markdown notes on the web.

Obsius Publish Easily publish notes to the web This plugin integrates with obsius.site to publish markdown notes on the web. Limitations The type of c

Jon Grythe Stødle 66 Dec 20, 2022
An Obsidian plugin for automatically creating notes when linking to non-existing notes

Note Auto Creator for Obsidian Automatically create notes when links are created to them. How to use After enabling the plugin in the settings menu, y

Simon Clement 31 Dec 14, 2022
Cooking Express is a website created for chefs and food lovers.

Cooking Express Cooking Express is a website created for chefs and food lovers to view recipes and find meal inspiration. They can also submit their o

Mariama Diallo 2 Jun 5, 2022
Animene - A platform for anime lovers

Animene A platform for anime lovers Live demo website: animene.vercel.app Technologies used React Material UI SCSS Modules, clsx Axios, GraphQL Redux,

Hoang Tien Nguyen 21 Oct 15, 2022
The BrewDog Beer Guide is a web application for beer lovers, in particular those who like the BrewDog brewery.

Brewdog-Beer-Guide The BrewDog Beer Guide is a web application for beer lovers, in particular those who like the BrewDog brewery. Here you find the de

Tiago Lelinski Marin 3 Sep 13, 2022
A util for getting data and metadata for all markdown files in a given dir. Useful for building static site generators

extract-md-data A util for getting data and metadata for all markdown files in a given dir. Useful for building static site generators. Usage Given th

Claire Froelich 2 Jan 6, 2022