All Projects → chhoumann → MetaEdit

chhoumann / MetaEdit

Licence: GPL-3.0 license
MetaEdit for Obsidian

Programming Languages

typescript
32286 projects
Svelte
593 projects

Projects that are alternatives of or similar to MetaEdit

obsidian-text-format
Format seleted text in Obsdidian.md
Stars: ✭ 49 (-70.48%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-hackernews
Periodically fetches and displays top stories from HackerNews.
Stars: ✭ 27 (-83.73%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-search-on-internet
Add context menu items in Obsidian to search the internet.
Stars: ✭ 79 (-52.41%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-metatable
An Obsidian plugin to display the frontmatter section as a fully expanded table.
Stars: ✭ 115 (-30.72%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-smart-typography
Converts quotes to curly quotes, dashes to em dashes, and periods to ellipses
Stars: ✭ 81 (-51.2%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-spaced-repetition
Fight the forgetting curve by reviewing flashcards & entire notes on Obsidian.md
Stars: ✭ 667 (+301.81%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-metatemplates
Take advantage of YAML front-matter in generating notes from templates (for obsidian.md)
Stars: ✭ 68 (-59.04%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-tracker
A plugin tracks occurrences and numbers in your notes
Stars: ✭ 661 (+298.19%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-outliner
Work with your lists like in Workflowy or RoamResearch
Stars: ✭ 427 (+157.23%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-hider
Hide Obsidian UI elements such as tooltips, status, titlebar and more
Stars: ✭ 106 (-36.14%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-link-archive
Link Archive plugin for Obsidian
Stars: ✭ 94 (-43.37%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-url-into-selection
Paste URLs into selected text "notion style"
Stars: ✭ 129 (-22.29%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-convert-url-to-iframe
Plugin for Obsidian.md to convert a selected URL to an iframe.
Stars: ✭ 132 (-20.48%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-query2table
Represent files returned by a query as a table of their YAML frontmatter (for obsidian.md)
Stars: ✭ 24 (-85.54%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-icon-swapper
Allows swapping out Obsidian's icons
Stars: ✭ 30 (-81.93%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-pangu
为 Obsidian 笔记加上「盘古之白」,排版强迫症者的福音。 | A small plugin aims to add space between Chinese Characters and English Alphabet, and it is a boon for typographically compulsive people.
Stars: ✭ 40 (-75.9%)
Mutual labels:  obsidian, obsidian-plugin
oz-clear-unused-images-obsidian
Obsidian plugin to clear the images that are not used in note files anymore
Stars: ✭ 92 (-44.58%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-todoist-plugin
Materialize Todoist tasks in Obsidian notes
Stars: ✭ 521 (+213.86%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-core-search-assistant-plugin
An Obsidian plugin to enhance built-in search: keyboard interface, card preview, bigger preview
Stars: ✭ 59 (-64.46%)
Mutual labels:  obsidian, obsidian-plugin
obsidian-embedded-note-titles
No description or website provided.
Stars: ✭ 50 (-69.88%)
Mutual labels:  obsidian, obsidian-plugin

MetaEdit for Obsidian

v554FnTthq

Features

  • Add or update Yaml properties and Dataview fields easily
  • Ignore properties to hide them from the menu
  • Auto Properties that have customizable, pre-defined values selectable through a suggester
  • Multi-Value Mode that allows you to detect and vectorize/create arrays from your values
  • Progress Properties that automatically update properties/fields
    • Works with total task, completed task, and incomplete task counts. Mark a task as completed (from anywhere), and the file will be updated with the new count.
  • Transform properties between YAML and Dataview
  • Delete properties easily
  • Auto update properties in files linked to from Kanban boards on lane change
  • Edit metadata through a filemenu
  • Edit last value in tags - works with Obsidian Tracker, too.
  • API to use in other plugins and Templater templates.

Installation

This plugin is in the community plugin browser in Obsidian. Search for MetaEdit and you can install it from there.

Manual Installation

  1. Go to Releases and download the ZIP file from the latest release.
  2. This ZIP file should be extracted in your Obsidian plugins folder. If you don't know where that is, you can go to Community Plugins inside Obsidian. There is a folder icon on the right of Installed Plugins. Click that and it opens your plugins folder.
  3. Extract the contents of the ZIP file there.
  4. Now you should have a folder in plugins called 'metaedit' containing a main.js file, manifest.json file, and a styles.css file.
LQtNcywPB3.mp4

Guides

Kanban Helper Guide

omBaAmeyJQ.mp4

API

You can access the API by using app.plugins.plugins["metaedit"].api.

I recommend destructuring the API, like so:

const {autoprop} = this.app.plugins.plugins["metaedit"].api;

autoprop(propertyName: string)

Takes a string containing a property name. Looks for the property in user settings and will open a suggester with possible values for that property.

Returns the selected value. If no value was selected, or if the property was not found in settings, it returns null.

This is an asynchronous function, so you should await it.

update(propertyName: string, propertyValue: string, file: TFile | string)

Updates a property with the given name to the given value in the given file.

If the file is a string, it should be the file path. Otherwise, a TFile is fine.

This is an asynchronous function, so you should await it.

getPropertyValue(propertyName: string, file: TFile | string)

Gets the value of the given property in the given file.

If the file is a string, it should be the file path. Otherwise, a TFile is fine.

This is an asynchronous function, so you should await it.

API Examples

New Task template (requires Templater)

<%*
const {autoprop} = this.app.plugins.plugins["metaedit"].api;
tR = `#tasks 
Complete:: 0
Project::
Status:: ${await autoprop("Status")}
Priority:: ${await autoprop("Priority")}
Due Date::

Complete:: 0
Energy::
Estimated Time::

Total:: 1
Complete:: 0
Incomplete:: 1

---

- [ ] <% tp.file.cursor() %>`
 %>

3EfcPLYkj6

Complete Task in Dataview Table (Buttons version)

Requires Dataview and Buttons.

```dataviewjs
const {update} = this.app.plugins.plugins["metaedit"].api
const {createButton} = app.plugins.plugins["buttons"]

dv.table(["Name", "Status", "Project", "Due Date", ""], dv.pages("#tasks")
    .sort(t => t["due-date"], 'desc')
    .where(t => t.status != "Completed")
    .map(t => [t.file.link, t.status, t.project, t["due-date"], 
    createButton({app, el: this.container, args: {name: "Done!"}, clickOverride: {click: update, params: ['Status', 'Completed', t.file.path]}})])
    )
```

CBrFA0qHr4

Complete Task in Dataview Table (HTML buttons version)

Requires Dataview.

```dataviewjs
const {update} = this.app.plugins.plugins["metaedit"].api;
const buttonMaker = (pn, pv, fpath) => {
    const btn = this.container.createEl('button', {"text": "Done!"});
    const file = this.app.vault.getAbstractFileByPath(fpath)
    btn.addEventListener('click', async (evt) => {
        evt.preventDefault();
        await update(pn, pv, file);
    });
    return btn;
}
dv.table(["Name", "Status", "Project", "Due Date", ""], dv.pages("#tasks")
    .sort(t => t["due-date"], 'desc')
    .where(t => t.status != "Completed")
    .map(t => [t.file.link, t.status, t.project, t["due-date"], 
    buttonMaker('Status', 'Completed', t.file.path)])
    )
```

BnAVIV4XCM


Dev Info

Made by Christian B. B. Houmann Discord: Chhrriissyy#6548 Twitter: https://twitter.com/chrisbbh Feel free to @ me if you have any questions.

Also from dev: NoteTweet: Post tweets directly from Obsidian.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].