Skip to content

Plugin

Defined in: plugin.ts:206

Base class for Lapis plugins.

Plugins extend Component, so teardown callbacks, events, commands, and DOM listeners registered through helper methods are cleaned up when the plugin unloads.

new Plugin(app, manifest): Plugin

Defined in: plugin.ts:218

App

PluginManifest

Plugin

Component.constructor

readonly app: App

Defined in: plugin.ts:219


basePath: string = ""

Defined in: plugin.ts:207


children: Component<Record<string, any>>[] = []

Defined in: view.svelte.ts:32

Component.children


loaded: boolean = false

Defined in: view.svelte.ts:34

Component.loaded


readonly manifest: PluginManifest

Defined in: plugin.ts:220

get containerEl(): HTMLElement

Defined in: view.svelte.ts:38

HTMLElement

set containerEl(el): void

Defined in: view.svelte.ts:42

HTMLElement

void

Component.containerEl


get enabled(): boolean

Defined in: plugin.ts:294

boolean


get errorMessage(): string | null

Defined in: plugin.ts:310

string | null


get failureCount(): number

Defined in: plugin.ts:318

number


get grantedCapabilities(): HostedPluginCapability[]

Defined in: plugin.ts:330

HostedPluginCapability[]


get hostMode(): string

Defined in: plugin.ts:322

string


get id(): string

Defined in: plugin.ts:334

string


get lastFailureMessage(): string | null

Defined in: plugin.ts:314

string | null


get requestedCapabilities(): HostedPluginCapability[]

Defined in: plugin.ts:326

HostedPluginCapability[]


get required(): boolean

Defined in: plugin.ts:302

boolean


get source(): PluginSource

Defined in: plugin.ts:298

PluginSource


get state(): PluginRuntimeState

Defined in: plugin.ts:306

PluginRuntimeState

addChild<T>(component): T

Defined in: view.svelte.ts:162

Adds a child component, loading it if this component is loaded

T extends Component<Record<string, any>>

T

T

Component.addChild


addCommand(command): Command

Defined in: plugin.ts:595

Command

Command


addRibbonIcon(icon, title, callback): void

Defined in: plugin.ts:578

string

string

(evt) => any

void


addSettingTab(settingTab): void

Defined in: plugin.ts:909

Register a settings tab, which allows users to change settings.

PluginSettingTab

void

https://docs.obsidian.md/Plugins/User+interface/Settings#Register+a+settings+tab


addStatusBarItem(): HTMLElement

Defined in: plugin.ts:439

HTMLElement


configureRuntime(options?): void

Defined in: plugin.ts:245

Apply runtime metadata resolved by the plugin manager before activation.

PluginRuntimeOptions = {}

Runtime source, host, and capability information.

void


deleteGeneratedState(key): Promise<void>

Defined in: plugin.ts:506

string

Promise<void>


disable(): Promise<void>

Defined in: plugin.ts:416

Promise<void>


dispatch<T>(eventName, …args): boolean

Defined in: events.ts:105

T extends string

T

any[]

boolean

Component.dispatch


emit<T>(eventName, …args): boolean

Defined in: events.ts:98

T extends string

T

any[]

boolean

Component.emit


enable(): Promise<void>

Defined in: plugin.ts:272

Enable the plugin and run its onload() lifecycle.

Promise<void>

A promise that resolves when activation completes.


load(): void

Defined in: view.svelte.ts:51

Load this component and its children

void

Component.load


loadData(): Promise<any>

Defined in: plugin.ts:459

Load settings data from disk. Data is stored in data.json in the plugin folder.

Promise<any>

https://docs.obsidian.md/Plugins/User+interface/Settings


loadGeneratedState<T>(key): Promise<T | null>

Defined in: plugin.ts:491

T

string

Promise<T | null>


measureTelemetry<T>(name, callback, options?): T

Defined in: plugin.ts:394

T

string

(span) => T

TelemetryMeasurementOptions = {}

T


measureTelemetryAsync<T>(name, callback, options?): Promise<T>

Defined in: plugin.ts:405

T

string

(span) => Promise<T>

TelemetryMeasurementOptions = {}

Promise<T>


migrateDataToGeneratedState<T>(legacyKey, options?): Promise<T | null>

Defined in: plugin.ts:513

T = unknown

string

string

boolean

Promise<T | null>


off<T>(eventName, listener, context?, once?): void

Defined in: events.ts:78

T extends string

T

(…args) => void

any

boolean

void

Component.off


offref<T>(ref): void

Defined in: events.ts:87

T extends string

EventRef<Record<string, any>, T>

void

Component.offref


on<T>(eventName, listener, context?): EventRef<Record<string, any>, T, any>

Defined in: events.ts:48

T extends string

T

(…args) => void

any

EventRef<Record<string, any>, T, any>

Component.on


once<T>(eventName, listener, context?): EventRef<Record<string, any>, T, any>

Defined in: events.ts:63

T extends string

T

(…args) => void

any

EventRef<Record<string, any>, T, any>

Component.once


onExternalSettingsChange(): void | Promise<void>

Defined in: plugin.ts:733

void | Promise<void>


abstract onload(): void | Promise<void>

Defined in: plugin.ts:230

Load plugin state and register plugin-owned resources.

void | Promise<void>

Component.onload


onunload(): void | Promise<void>

Defined in: plugin.ts:237

Release plugin-owned resources before the plugin unloads.

void | Promise<void>

Component.onunload


onUserEnable(): void | Promise<void>

Defined in: plugin.ts:731

void | Promise<void>


register(cb): void

Defined in: view.svelte.ts:189

Registers a callback to be called when unloading

() => any

void

Component.register


registerBasesView(viewId, registration): boolean

Defined in: plugin.ts:705

string

any

boolean


registerCliHandler(name, prefix, callback): void

Defined in: plugin.ts:697

string

string

(…args) => any

void


registerContextKey(key, defaultValue?): ScopedContextKey

Defined in: plugin.ts:622

string

ContextKeyValue

ScopedContextKey


registerDomEvent<K>(el, type, callback, options?): void

Defined in: view.svelte.ts:208

Registers an DOM event to be detached when unloading

K extends keyof HTMLElementEventMap

HTMLElement

K

(this, ev) => any

boolean | AddEventListenerOptions

void

Component.registerDomEvent

registerDomEvent<K>(el, type, callback, options?): void

Defined in: view.svelte.ts:214

Registers an DOM event to be detached when unloading

K extends keyof DocumentEventMap

Document

K

(this, ev) => any

boolean | AddEventListenerOptions

void

Component.registerDomEvent

registerDomEvent<K>(el, type, callback, options?): void

Defined in: view.svelte.ts:220

Registers an DOM event to be detached when unloading

K extends keyof WindowEventMap

Window

K

(this, ev) => any

boolean | AddEventListenerOptions

void

Component.registerDomEvent


registerEditorExtension(extension, viewType?): void

Defined in: plugin.ts:783

Registers a CodeMirror 6 extension. To reconfigure cm6 extensions for a plugin on the fly, an array should be passed in, and modified dynamically. Once this array is modified, calling Workspace.updateOptions will apply the changes.

ExtType

Must be a CodeMirror 6 Extension, or an array of Extensions.

string

void


registerEditorSuggest(editorSuggest, viewType?): void

Defined in: plugin.ts:763

Register an EditorSuggest which can provide live suggestions while the user is typing.

EditorSuggest<any>

string = "markdown"

void


registerEditorView(contribution): void

Defined in: plugin.ts:673

EditorViewContribution

void


registerEvent<T, K>(eventRef): void

Defined in: view.svelte.ts:193

T extends ValidEventTypes

K extends string | symbol

EventRef<T, K, any>

void

Component.registerEvent


registerExtensions(extensions, viewType?): void

Defined in: plugin.ts:735

string[]

string = "markdown"

void


registerHoverLinkSource(id, info): void

Defined in: plugin.ts:682

string

any

void


registerInterval(id): void

Defined in: view.svelte.ts:199

Timeout

void

Component.registerInterval


registerLapisServiceProvider(registration): void

Defined in: plugin.ts:721

Omit<LapisServiceProviderRegistration, "pluginId">

void


registerMarkdownCodeBlockProcessor(language, handler, sortOrder?): MarkdownPostProcessor

Defined in: plugin.ts:831

string

(source, el, ctx) => void | Promise<any>

number

MarkdownPostProcessor


registerMarkdownDirectiveRenderer(directive, renderer): void

Defined in: plugin.ts:879

string

MarkdownDirectiveRenderer

void


registerMarkdownPostProcessor(postProcessor, sortOrder?): MarkdownPostProcessor

Defined in: plugin.ts:797

Registers a post processor, to change how the document looks in reading mode.

MarkdownPostProcessor

number

MarkdownPostProcessor

https://docs.obsidian.md/Plugins/Editor/Markdown+post+processing


registerMarkdownViewMenuItem(provider): void

Defined in: plugin.ts:889

MarkdownViewMenuItemProvider

void


registerMetadataProcessor(processor, ext?): void

Defined in: plugin.ts:896

MetadataProcessor

string = "md"

void


registerObsidianProtocolHandler(action, handler): void

Defined in: plugin.ts:689

string

(params) => any

void


registerShortcut(handler): void

Defined in: plugin.ts:637

KeymapEventHandler

void


registerSidebarView(type, viewCreator, options?): void

Defined in: plugin.ts:653

string

ViewCreator

string

string

string

boolean

string

"right" | "left"

string

void


registerTypeWidget(widget): void

Defined in: plugin.ts:745

TypeWidget

void


registerView(type, viewCreator): void

Defined in: plugin.ts:641

string

ViewCreator

void


removeChild<T>(component): T

Defined in: view.svelte.ts:176

Removes a child component, unloading it

T extends Component<Record<string, any>>

T

T

Component.removeChild


removeCommand(commandId): void

Defined in: plugin.ts:618

string

void


saveData(data): Promise<void>

Defined in: plugin.ts:482

Write settings data to disk. Data is stored in data.json in the plugin folder.

any

Promise<void>

https://docs.obsidian.md/Plugins/User+interface/Settings


saveGeneratedState(key, value): Promise<void>

Defined in: plugin.ts:499

string

unknown

Promise<void>


startTelemetrySpan(name, options?): TelemetrySpan

Defined in: plugin.ts:384

string

TelemetrySpanOptions = {}

TelemetrySpan


trigger<T>(eventName, …args): boolean

Defined in: events.ts:91

T extends string

T

any[]

boolean

Component.trigger


tryTrigger<T>(evt, …args): void

Defined in: events.ts:112

T extends string

EventRef<Record<string, any>, T>

any[]

void

Component.tryTrigger


unload(): void

Defined in: view.svelte.ts:92

Unload this component and its children

void

Component.unload