Giter Club home page Giter Club logo

metadatamenu's Introduction

Metadata Menu

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 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

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

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

metadatamenu's People

Contributors

mdelobelle avatar slrvb avatar krakor92 avatar mocca101 avatar davidbench avatar ryanjamurphy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.