Skip to content

snezhig/front-matter-plugin-api-provider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Obsidian Front Matter Title Plugin Api Provider

This package provide some functions to get API from to resolve file titles by Front Matter Title which is required to be installed

Installation

npm i front-matter-plugin-api-provider

Get Api Instance

import {getDefer} from "front-matter-plugin-api-provider";

const path = 'Folder/ds1.md';
const defer = getDefer(this.app);
let api = null;
if (defer.isPluginReady()) {
    api = defer.getApi();
} else {
    await defer.awaitPlugin();
    api = defer.getApi();
    //if you want to wait features you can use the following chain
    if (!defer.isFeaturesReady()) {
        await defer.awaitFeatures();
    }
}

or you can use Safe Wrapper

import {getApiSafe} from "front-matter-plugin-api-provider";

const path = 'Folder/ds1.md';
//Wrapper will check
const api = getApiSafe(this.app);

Use Api Instance

Get enabled features

const api: ApiInterface;

//It will return list of enabled features.
const ids = api.getEnabledFeatures();

Get resolver

const api: ApiInterface;

//Get factory and create a resolver for feature.
//WARNING: if you pass disabled feature id, you will get a resolver which returns value by settings for features.
const resolver = api.getResolverFactory().createResolver('#feature-id#');
console.log(resolver.resolve('file.md'));

Get event dispatcher

const api: ApiInterface;

const dispatcher = api.getEventDispatcher();
const event = {
    name: "manager:update",
    cb: console.log
}
//Keep ref to remove listener
const ref = dispatcher.addListener(event);
//Remove listener, if needed
dispatcher.removeListener(ref)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published