----
url: https://docs.obsidian.md/Reference/TypeScript+API/request
----

request

Not found

This page does not exist

Interactive graph

On this page

request() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyType
----

BasesPropertyType

=================

    aliases: "BasesPropertyType"

    cssclasses: hide-title

[`BasesPropertyType`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyType)

BasesPropertyType type

----------------------

The three valid "sources" of a property in a Base.

*   `note`: Properties from the frontmatter of markdown files in the vault. - `formula`: Properties calculated by evaluating a formula from the base config file. - `file`: Properties inherent to a file, such as the name, extension, size, etc.

    1.10.0

**Signature:**

    export type BasesPropertyType = 'note' | 'formula' | 'file';

Links to this page

[BasesProperty](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty)

[BasesPropertyId](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

BasesPropertyType

Not found

This page does not exist

Interactive graph

On this page

BasesPropertyType type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/onload
----

onload

======

    aliases: "Component.onload"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component) › [`onload`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload)

Component.onload() method

-------------------------

Override this to load your component

0.9.7

**Signature:**

    /** @virtual */

    onload(): void;

**Returns:**

`void`

Links to this page

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)

[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

[QueryController](https://docs.obsidian.md/Reference/TypeScript+API/QueryController)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

onload

Not found

This page does not exist

Interactive graph

On this page

Component.onload() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView
----

MarkdownPreviewView

===================

    aliases: "MarkdownPreviewView"

    cssclasses: hide-title

[`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

MarkdownPreviewView class

-------------------------

**Signature:**

    export class MarkdownPreviewView extends MarkdownRenderer implements MarkdownSubView, MarkdownPreviewEvents 

**Extends:** [`MarkdownRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

**Implements:** [`MarkdownSubView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView), [`MarkdownPreviewEvents`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)

Constructors

------------

----------

Property

Modifiers

Type

Description

[`app`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/app)

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

(Inherited from [MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer))

[`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/containerEl)

`HTMLElement`

[`file`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/file)

`readonly`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

[`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/hoverPopover)

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) `| null`

(Inherited from [MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer))

Methods

-------

[`applyScroll(scroll)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/applyScroll)

[`clear()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/clear)

[`get()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/get)

[`getScroll()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/getScroll)

(Inherited from [MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer))

[`renderMarkdown(markdown, el, sourcePath, component)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/renderMarkdown)

`static`

Renders Markdown string to an HTML element.

(Inherited from [MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer))

[`rerender(full)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/rerender)

[`set(data, clear)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/set)

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[applyScroll](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/applyScroll)

[clear](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/clear)

[containerEl](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/containerEl)

[file](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/file)

[get](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/get)

[getScroll](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/getScroll)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[rerender](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/rerender)

[set](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/set)

MarkdownPreviewView

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewView class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/contentType
----

contentType

===========

    aliases: "RequestUrlParam.contentType"

    cssclasses: hide-title

[`RequestUrlParam`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam) › [`contentType`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/contentType)

RequestUrlParam.contentType property

------------------------------------

**Signature:**

    contentType?: string;

Links to this page

[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)

contentType

Not found

This page does not exist

Interactive graph

On this page

RequestUrlParam.contentType property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/selectSuggestion
----

selectSuggestion

================

    aliases: "AbstractInputSuggest.selectSuggestion"

    cssclasses: hide-title

[`AbstractInputSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest) › [`selectSuggestion`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/selectSuggestion)

AbstractInputSuggest.selectSuggestion() method

----------------------------------------------

1.6.6

**Signature:**

    selectSuggestion(value: T, evt: MouseEvent | KeyboardEvent): void;

Parameters

----------

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

selectSuggestion

Not found

This page does not exist

Interactive graph

On this page

AbstractInputSuggest.selectSuggestion() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getResourcePath
----

getResourcePath

===============

    aliases: "CapacitorAdapter.getResourcePath"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`getResourcePath`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getResourcePath)

CapacitorAdapter.getResourcePath() method

-----------------------------------------

1.7.2

**Signature:**

    getResourcePath(normalizedPath: string): string;

Parameters

----------

getResourcePath

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.getResourcePath() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HSL/l
----

l

=

    aliases: "HSL.l"

    cssclasses: hide-title

[`HSL`](https://docs.obsidian.md/Reference/TypeScript+API/HSL) › [`l`](https://docs.obsidian.md/Reference/TypeScript+API/HSL/l)

HSL.l property

--------------

Lightness integer value between 0 and 100

0.16.0

**Signature:**

    l: number;

Links to this page

[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)

l

Not found

This page does not exist

Interactive graph

On this page

HSL.l property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getBasePath
----

getBasePath

===========

    aliases: "FileSystemAdapter.getBasePath"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`getBasePath`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getBasePath)

FileSystemAdapter.getBasePath() method

--------------------------------------

**Signature:**

    getBasePath(): string;

**Returns:**

`string`

Links to this page

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

getBasePath

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.getBasePath() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeLeaf
----

activeLeaf

Not found

This page does not exist

Interactive graph

On this page

Workspace.activeLeaf property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/type
----

type

====

    aliases: "BasesConfigFileView.type"

    cssclasses: hide-title

[`BasesConfigFileView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/type)

BasesConfigFileView.type property

---------------------------------

Unique identifier for the view type. Used to select the correct view renderer.

1.10.0

**Signature:**

    type: string;

Links to this page

[BasesConfigFileView](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)

type

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFileView.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/parent
----

parent

======

    aliases: "WorkspaceItem.parent"

    cssclasses: hide-title

[`WorkspaceItem`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem) › [`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/parent)

WorkspaceItem.parent property

-----------------------------

The direct parent of the leaf.

1.6.6

**Signature:**

    abstract parent: WorkspaceParent;

Links to this page

[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)

[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

parent

Not found

This page does not exist

Interactive graph

On this page

WorkspaceItem.parent property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getEphemeralState
----

getEphemeralState

=================

    aliases: "WorkspaceLeaf.getEphemeralState"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`getEphemeralState`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getEphemeralState)

WorkspaceLeaf.getEphemeralState() method

----------------------------------------

**Signature:**

    getEphemeralState(): any;

**Returns:**

`any`

Links to this page

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

getEphemeralState

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.getEphemeralState() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/limit
----

limit

=====

    aliases: "SuggestModal.limit"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) › [`limit`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/limit)

SuggestModal.limit property

---------------------------

0.9.20

**Signature:**

    limit: number;

limit

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.limit property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addButton
----

addButton

Not found

This page does not exist

Interactive graph

On this page

Setting.addButton() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/(constructor)
----

(constructor)

=============

    aliases: "HoverPopover.(constructor)"

    cssclasses: hide-title

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/\(constructor\))

HoverPopover.(constructor)

--------------------------

Constructs a new instance of the `HoverPopover` class

**Signature:**

    constructor(parent: HoverParent, targetEl: HTMLElement | null, waitTime?: number, staticPos?: Point | null);

Parameters

----------

Parameter

Type

Description

`parent`

[`HoverParent`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)

`targetEl`

`HTMLElement` `| null`

`waitTime`

`number`

_(Optional)_

`staticPos`

[`Point`](https://docs.obsidian.md/Reference/TypeScript+API/Point) `| null`

_(Optional)_

Links to this page

[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

HoverPopover.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command/editorCheckCallback
----

editorCheckCallback

===================

    aliases: "Command.editorCheckCallback"

    cssclasses: hide-title

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command) › [`editorCheckCallback`](https://docs.obsidian.md/Reference/TypeScript+API/Command/editorCheckCallback)

Command.editorCheckCallback property

------------------------------------

A command callback that is only triggered when the user is in an editor. Overrides `editorCallback`, `callback` and `checkCallback`

**Signature:**

    editorCheckCallback?: (checking: boolean, editor: Editor, ctx: MarkdownView | MarkdownFileInfo) => boolean | void;

Example

-------

    this.addCommand({

      id: 'example-command',

      name: 'Example command',

      editorCheckCallback: (checking: boolean, editor: Editor, view: MarkdownView) => {

        const value = getRequiredValue();

        if (value) {

          if (!checking) {

            doCommand(value);

          }

          return true;

        }

        return false;

      }

    });

0.12.2

Links to this page

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

[Commands](https://docs.obsidian.md/Plugins/User+interface/Commands)

editorCheckCallback

Not found

This page does not exist

Interactive graph

On this page

Command.editorCheckCallback property

Example

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/plugins/guides/secret-storage
----

Store secrets

=============

    permalink: plugins/guides/secret-storage

    aliases:

      - SecretStorage and SecretComponent

[SecretStorage](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage) provides a secure way to store and manage sensitive data like API keys and tokens in Obsidian plugins. Instead of storing secrets directly in your plugin's `data.json` file, SecretStorage offers a centralized key-value store that allows users to share secrets across multiple plugins.

In this guide, you'll learn how to use [SecretStorage](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage) and [SecretComponent](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent) to securely handle secrets in your plugin settings.

What you'll learn

-----------------

After you've completed this guide, you'll be able to:

*   Replace direct secret input with the SecretComponent.

*   Retrieve stored secrets using the SecretStorage API.

*   Understand why SecretStorage improves security and user experience.

Before you start

----------------

This guide assumes you're familiar with creating plugin settings in Obsidian. If you haven't already, read [Settings](https://docs.obsidian.md/Plugins/User+interface/Settings) to understand how to create a settings tab and save plugin configuration.

Why use SecretStorage?

----------------------

When plugins store secrets directly in `data.json`, several problems arise:

*   **Security**: Secrets are stored in plaintext alongside other plugin data.

*   **Duplication**: Users must copy the same API key into every plugin that needs it.

*   **Maintenance**: If a token changes, users must update every plugin manually.

SecretStorage addresses these issues by providing a central store for secrets. Users save each secret with a name, and any plugin can reference it by that name.

Step 1: Update your settings interface

--------------------------------------

Start with a typical plugin settings setup. The `mySetting` property will store the _name_ of a secret, not the secret value itself.

    import { App, PluginSettingTab, Setting } from "obsidian";

    import MyPlugin from "./main";

    export interface MyPluginSettings {

      mySetting: string;

    }

Step 2: Add the SecretComponent to your settings tab

----------------------------------------------------

Replace the standard text input with a `SecretComponent`. Import `SecretComponent` from `obsidian` and use the `addComponent` method on your `Setting`:

    import { App, PluginSettingTab, SecretComponent, Setting } from "obsidian";

    import MyPlugin from "./main";

    export class SampleSettingTab extends PluginSettingTab {

      plugin: MyPlugin;

      constructor(app: App, plugin: MyPlugin) {

        super(app, plugin);

        this.plugin = plugin;

      }

      display(): void {

        const { containerEl } = this;

        containerEl.empty();

        new Setting(containerEl)

          .setName('API key')

          .setDesc('Select a secret from SecretStorage')

          .addComponent(el => new SecretComponent(this.app, el)

            .setValue(this.plugin.settings.mySetting)

            .onChange(value => {

              this.plugin.settings.mySetting = value;

              this.plugin.saveSettings();

            }));

      }

    }

The `SecretComponent` presents users with an interface to select from existing secrets or create a new one. When saved, your plugin settings contain the _name_ of the secret, not the actual secret value.

Step 3: Retrieve the secret value

---------------------------------

When your plugin needs the actual secret value, use the `SecretStorage` API:

    const secret = app.secretStorage.get(this.settings.mySetting);

    if (secret) { // secret value might be null

    }

This retrieves the secret value associated with the name stored in your settings. The actual secret is stored in local storage, keyed to the specific vault.

Complete example

----------------

Here's the full settings tab implementation:

    import { App, PluginSettingTab, SecretComponent, Setting } from "obsidian";

    import MyPlugin from "./main";

    export interface MyPluginSettings {

      mySetting: string;

    }

    export class SampleSettingTab extends PluginSettingTab {

      plugin: MyPlugin;

      constructor(app: App, plugin: MyPlugin) {

        super(app, plugin);

        this.plugin = plugin;

      }

      display(): void {

        const { containerEl } = this;

        containerEl.empty();

        new Setting(containerEl)

          .setName('API key')

          .setDesc('Select a secret from SecretStorage')

          .addComponent(el => new SecretComponent(this.app, el)

            .setValue(this.plugin.settings.mySetting)

            .onChange(value => {

              this.plugin.settings.mySetting = value;

              this.plugin.saveSettings();

            }));

      }

    }

FAQ

---

### Why does SecretComponent use `addComponent` instead of having its own method like `addText`?

Unlike other setting components, `SecretComponent` requires the `App` instance in its constructor to access the SecretStorage API. The standard `addText`, `addToggle`, and similar methods don't pass `App` to their callbacks. The `Setting#addComponent` method gives you full control over component instantiation, allowing you to pass the required `App` reference.

Store secrets

Not found

This page does not exist

Interactive graph

On this page

What you'll learn

Before you start

Why use SecretStorage?

Step 1: Update your settings interface

Step 2: Add the SecretComponent to your settings tab

Step 3: Retrieve the secret value

Complete example

FAQ

Why does SecretComponent use addComponent instead of having its own method like addText?

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/addItem
----

addItem

=======

    aliases: "Menu.addItem"

    cssclasses: hide-title

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu) › [`addItem`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/addItem)

Menu.addItem() method

---------------------

Adds a menu item. Only works when menu is not shown yet.

**Signature:**

    addItem(cb: (item: MenuItem) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(item:` [`MenuItem`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)`) => any`

**Returns:**

`this`

Links to this page

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

addItem

Not found

This page does not exist

Interactive graph

On this page

Menu.addItem() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions
----

updateOptions

=============

    aliases: "Workspace.updateOptions"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`updateOptions`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions)

Workspace.updateOptions() method

--------------------------------

Calling this function will update/reconfigure the options of all Markdown views. It is fairly expensive, so it should not be called frequently.

0.13.21

**Signature:**

    updateOptions(): void;

**Returns:**

`void`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[registerEditorExtension](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorExtension)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

updateOptions

Not found

This page does not exist

Interactive graph

On this page

Workspace.updateOptions() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/items
----

items

=====

    aliases: "BasesOptionGroup.items"

    cssclasses: hide-title

[`BasesOptionGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup) › [`items`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/items)

BasesOptionGroup.items property

-------------------------------

1.10.0

**Signature:**

    items: T[];

Links to this page

[BasesOptionGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup)

items

Not found

This page does not exist

Interactive graph

On this page

BasesOptionGroup.items property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo
----

KeymapInfo

==========

    aliases: "KeymapInfo"

    cssclasses: hide-title

[`KeymapInfo`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)

KeymapInfo interface

--------------------

0.10.4

**Signature:**

    export interface KeymapInfo 

Properties

----------

Property

Modifiers

Type

Description

[`key`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo/key)

`string | null`

0.10.4

[`modifiers`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo/modifiers)

`string | null`

0.10.4

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[key](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo/key)

[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)

[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)

[modifiers](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo/modifiers)

KeymapInfo

Not found

This page does not exist

Interactive graph

On this page

KeymapInfo interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/setSelections
----

setSelections

=============

    aliases: "Editor.setSelections"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`setSelections`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setSelections)

Editor.setSelections() method

-----------------------------

0.12.11

**Signature:**

    abstract setSelections(ranges: EditorSelectionOrCaret[], main?: number): void;

Parameters

----------

Parameter

Type

Description

`ranges`

[`EditorSelectionOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)`[]`

`main`

`number`

_(Optional)_

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

setSelections

Not found

This page does not exist

Interactive graph

On this page

Editor.setSelections() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache/id
----

id

==

    aliases: "ReferenceLinkCache.id"

    cssclasses: hide-title

[`ReferenceLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache) › [`id`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache/id)

ReferenceLinkCache.id property

------------------------------

**Signature:**

    id: string;

Links to this page

[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)

id

Not found

This page does not exist

Interactive graph

On this page

ReferenceLinkCache.id property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getName
----

getName

=======

    aliases: "CapacitorAdapter.getName"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`getName`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getName)

CapacitorAdapter.getName() method

---------------------------------

1.7.2

**Signature:**

    getName(): string;

**Returns:**

`string`

Links to this page

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

getName

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.getName() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult/next
----

next

====

    aliases: "HeadingSubpathResult.next"

    cssclasses: hide-title

[`HeadingSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult) › [`next`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult/next)

HeadingSubpathResult.next property

----------------------------------

0.9.16

**Signature:**

    next: HeadingCache;

Links to this page

[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)

next

Not found

This page does not exist

Interactive graph

On this page

HeadingSubpathResult.next property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/setTooltip
----

setTooltip

==========

    aliases: "Setting.setTooltip"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`setTooltip`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setTooltip)

Setting.setTooltip() method

---------------------------

1.1.0

**Signature:**

    setTooltip(tooltip: string, options?: TooltipOptions): this;

Parameters

----------

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

setTooltip

Not found

This page does not exist

Interactive graph

On this page

Setting.setTooltip() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/toggle
----

toggle

======

    aliases: "WorkspaceSidedock.toggle"

    cssclasses: hide-title

[`WorkspaceSidedock`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock) › [`toggle`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/toggle)

WorkspaceSidedock.toggle() method

---------------------------------

0.12.11

**Signature:**

    toggle(): void;

**Returns:**

`void`

Links to this page

[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)

toggle

Not found

This page does not exist

Interactive graph

On this page

WorkspaceSidedock.toggle() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/toggle
----

toggle

======

    aliases: "WorkspaceMobileDrawer.toggle"

    cssclasses: hide-title

[`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer) › [`toggle`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/toggle)

WorkspaceMobileDrawer.toggle() method

-------------------------------------

**Signature:**

    toggle(): void;

**Returns:**

`void`

Links to this page

[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

toggle

Not found

This page does not exist

Interactive graph

On this page

WorkspaceMobileDrawer.toggle() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/readBinary
----

readBinary

==========

    aliases: "DataAdapter.readBinary"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`readBinary`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/readBinary)

DataAdapter.readBinary() method

-------------------------------

**Signature:**

    readBinary(normalizedPath: string): Promise<ArrayBuffer>;

Parameters

----------

`Promise<``ArrayBuffer``>`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

readBinary

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.readBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType
----

MarkdownViewModeType

====================

    aliases: "MarkdownViewModeType"

    cssclasses: hide-title

[`MarkdownViewModeType`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)

MarkdownViewModeType type

-------------------------

**Signature:**

    export type MarkdownViewModeType = 'source' | 'preview';

Links to this page

[getMode](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getMode)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

MarkdownViewModeType

Not found

This page does not exist

Interactive graph

On this page

MarkdownViewModeType type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Reference/original
----

original

========

    aliases: "Reference.original"

    cssclasses: hide-title

[`Reference`](https://docs.obsidian.md/Reference/TypeScript+API/Reference) › [`original`](https://docs.obsidian.md/Reference/TypeScript+API/Reference/original)

Reference.original property

---------------------------

Contains the text as it's written in the document. Not available on Publish.

**Signature:**

    original: string;

Links to this page

[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)

[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)

[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

original

Not found

This page does not exist

Interactive graph

On this page

Reference.original property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/width
----

width

Not found

This page does not exist

Interactive graph

On this page

EditorScrollInfo.width property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/containerEl
----

containerEl

===========

    aliases: "Modal.containerEl"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/containerEl)

Modal.containerEl property

--------------------------

**Signature:**

    containerEl: HTMLElement;

containerEl

Not found

This page does not exist

Interactive graph

On this page

Modal.containerEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setWarning
----

setWarning

==========

    aliases: "MenuItem.setWarning"

    cssclasses: hide-title

[`MenuItem`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem) › [`setWarning`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setWarning)

MenuItem.setWarning() method

----------------------------

**Signature:**

    setWarning(isWarning: boolean): this;

Parameters

----------

Parameter

Type

Description

`isWarning`

`boolean`

**Returns:**

`this`

Links to this page

[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)

setWarning

Not found

This page does not exist

Interactive graph

On this page

MenuItem.setWarning() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise/arrayBuffer
----

arrayBuffer

===========

arrayBuffer

Not found

This page does not exist

Interactive graph

On this page

RequestUrlResponsePromise.arrayBuffer property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState
----

setState

========

    aliases: "FileView.setState"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`setState`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState)

FileView.setState() method

--------------------------

0.9.7

**Signature:**

    setState(state: any, result: ViewStateResult): Promise<void>;

Parameters

----------

Parameter

Type

Description

`state`

`any`

`result`

[`ViewStateResult`](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)

**Returns:**

`Promise<void>`

Links to this page

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

setState

Not found

This page does not exist

Interactive graph

On this page

FileView.setState() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PopoverState
----

PopoverState

============

    aliases: "PopoverState"

    cssclasses: hide-title

[`PopoverState`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)

PopoverState enum

-----------------

**Signature:**

    export enum PopoverState 

Links to this page

[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

PopoverState

Not found

This page does not exist

Interactive graph

On this page

PopoverState enum

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/rmdir
----

rmdir

=====

    aliases: "CapacitorAdapter.rmdir"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`rmdir`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/rmdir)

CapacitorAdapter.rmdir() method

-------------------------------

1.7.2

**Signature:**

    rmdir(normalizedPath: string, recursive: boolean): Promise<void>;

Parameters

----------

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

rmdir

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.rmdir() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Value/type
----

type

====

    aliases: "Value.type"

    cssclasses: hide-title

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/Value/type)

Value.type property

-------------------

1.10.0

**Signature:**

    static type: string;

Links to this page

[DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

[FileValue](https://docs.obsidian.md/Reference/TypeScript+API/FileValue)

[NotNullValue](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

[NullValue](https://docs.obsidian.md/Reference/TypeScript+API/NullValue)

[PrimitiveValue](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue)

[RegExpValue](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue)

[RelativeDateValue](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value)

type

Not found

This page does not exist

Interactive graph

On this page

Value.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/setValue
----

setValue

========

    aliases: "DropdownComponent.setValue"

    cssclasses: hide-title

[`DropdownComponent`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/setValue)

DropdownComponent.setValue() method

-----------------------------------

0.9.7

**Signature:**

    setValue(value: string): this;

Parameters

----------

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

setValue

Not found

This page does not exist

Interactive graph

On this page

DropdownComponent.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/left
----

left

====

    aliases: "MenuPositionDef.left"

    cssclasses: hide-title

[`MenuPositionDef`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef) › [`left`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/left)

MenuPositionDef.left property

-----------------------------

**Signature:**

    left?: boolean;

Links to this page

[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)

left

Not found

This page does not exist

Interactive graph

On this page

MenuPositionDef.left property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addStatusBarItem
----

addStatusBarItem

================

    aliases: "Plugin.addStatusBarItem"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`addStatusBarItem`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addStatusBarItem)

Plugin.addStatusBarItem() method

--------------------------------

Adds a status bar item to the bottom of the app. Not available on mobile.

**Signature:**

    addStatusBarItem(): HTMLElement;

**Returns:**

`HTMLElement`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[Status bar](https://docs.obsidian.md/Plugins/User+interface/Status+bar)

addStatusBarItem

Not found

This page does not exist

Interactive graph

On this page

Plugin.addStatusBarItem() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/addIcon
----

addIcon

=======

    aliases: "addIcon"

    cssclasses: hide-title

[`addIcon`](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)

addIcon() function

------------------

Adds an icon to the library.

**Signature:**

    export function addIcon(iconId: string, svgContent: string): void;

Parameters

----------

Parameter

Type

Description

`iconId`

`string`

the icon ID

`svgContent`

`string`

the content of the SVG.

**Returns:**

`void`

Links to this page

[addRibbonIcon](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addRibbonIcon)

[Icons](https://docs.obsidian.md/Plugins/User+interface/Icons)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setIcon)

[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setIcon)

addIcon

Not found

This page does not exist

Interactive graph

On this page

addIcon() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/QueryController
----

QueryController

Not found

This page does not exist

Interactive graph

On this page

QueryController class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom
----

sanitizeHTMLToDom

=================

sanitizeHTMLToDom

Not found

This page does not exist

Interactive graph

On this page

sanitizeHTMLToDom() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/getDisplayText
----

getDisplayText

==============

    aliases: "View.getDisplayText"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`getDisplayText`](https://docs.obsidian.md/Reference/TypeScript+API/View/getDisplayText)

View.getDisplayText() method

----------------------------

0.9.7

**Signature:**

    abstract getDisplayText(): string;

**Returns:**

`string`

Links to this page

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

getDisplayText

Not found

This page does not exist

Interactive graph

On this page

View.getDisplayText() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/Modals
----

Modals

======

Modals display information and accept user input. To create a modal, create a class that extends [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal):

    import { App, Modal } from 'obsidian';

    export class ExampleModal extends Modal {

      constructor(app: App) {

        super(app);

    	this.setContent('Look at me, I\'m a modal! 👀')

      }

    }

To open a modal, create a new instance of `ExampleModal` and call [open()](https://docs.obsidian.md/Reference/TypeScript+API/Modal/open) on it:

    import { Plugin } from 'obsidian';

    import { ExampleModal } from './modal';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        this.addCommand({

          id: 'display-modal',

          name: 'Display modal',

          callback: () => {

            new ExampleModal(this.app).open();

          },

        });

      }

    }

Accept user input

-----------------

Our modal in the previous example only displayed some information. Let's look at a slightly more complex example that also handles user input.

    import { App, Modal, Setting } from 'obsidian';

    export class ExampleModal extends Modal {

      constructor(app: App, onSubmit: (result: string) => void) {

        super(app);

    	this.setTitle('What\'s your name?');

    	let name = '';

        new Setting(this.contentEl)

          .setName('Name')

          .addText((text) =>

            text.onChange((value) => {

              name = value;

            }));

        new Setting(this.contentEl)

          .addButton((btn) =>

            btn

              .setButtonText('Submit')

              .setCta()

              .onClick(() => {

                this.close();

                onSubmit(name);

              }));

      }

    }

The result is passed into the `onSubmit` callback when the user clicks **Submit**:

    new ExampleModal(this.app, (result) => {

      new Notice(`Hello, ${result}!`);

    }).open();

Select from list of suggestions

-------------------------------

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) is a special modal that lets you display a list of suggestions to the user.

    import { App, Notice, SuggestModal } from 'obsidian';

    interface Book {

      title: string;

      author: string;

    }

    const ALL_BOOKS = [      {

        title: 'How to Take Smart Notes',

        author: 'Sönke Ahrens',

      },

      {

        title: 'Thinking, Fast and Slow',

        author: 'Daniel Kahneman',

      },

      {

        title: 'Deep Work',

        author: 'Cal Newport',

      },

    ];

    export class ExampleModal extends SuggestModal<Book> {

      // Returns all available suggestions.

      getSuggestions(query: string): Book[] {

        return ALL_BOOKS.filter((book) =>

          book.title.toLowerCase().includes(query.toLowerCase())

        );

      }

      // Renders each suggestion item.

      renderSuggestion(book: Book, el: HTMLElement) {

        el.createEl('div', { text: book.title });

        el.createEl('small', { text: book.author });

      }

      // Perform action on the selected suggestion.

      onChooseSuggestion(book: Book, evt: MouseEvent | KeyboardEvent) {

        new Notice(`Selected ${book.title}`);

      }

    }

### Approximate string matching results

In addition to `SuggestModal`, the Obsidian API provides an even more specialized type of modal for suggestions: the [FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal), which gets you [fuzzy string search](https://en.wikipedia.org/wiki/Approximate_string_matching) out-of-the-box.

    import {FuzzySuggestModal, Notice} from "obsidian";

    export class ExampleSuggestModal extends FuzzySuggestModal<Book> {

      getItems(): Book[] {

        return ALL_BOOKS;

      }

      getItemText(book: Book): string {

        return book.title;

      }

      onChooseItem(book: Book, evt: MouseEvent | KeyboardEvent) {

        new Notice(`Selected ${book.title}`);

      }

    }

### Custom rendering of fuzzy search results

For a more custom UI you implement the [renderSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/renderSuggestion) function, like in the earlier example.  

The [renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults) method is responsible for rendering the different strings while highlighting the matched parts.

    import {FuzzyMatch, FuzzySuggestModal, Notice, renderResults} from "obsidian";

    export class ExampleSuggestModal extends FuzzySuggestModal<Book> {  

        //return a string representation, so there is something to search  

        getItemText(item: Book): string {  

           return item.title + " " + item.author;  

        }  

        getItems(): Book[] {  

           return ALL_BOOKS;  

        }  

        renderSuggestion(match: FuzzyMatch<Book>, el: HTMLElement) {  

           const titleEl = el.createDiv();  

           renderResults(titleEl, match.item.title, match.match);  

           // Only render the matches in the author name.  

           const authorEl = el.createEl('small');  

           const offset = -(match.item.title.length + 1);  

           renderResults(authorEl, match.item.author, match.match, offset);  

        }  

        onChooseItem(book: Book, evt: MouseEvent | KeyboardEvent): void {  

           new Notice(`Selected ${book.title}`);  

        }  

    }

Modals

Not found

This page does not exist

Interactive graph

On this page

Accept user input

Select from list of suggestions

Approximate string matching results

Custom rendering of fuzzy search results

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/Context+menus
----

Context menus

=============

If you want to open up a context menu, use [Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu):

    import { Menu, Notice, Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        this.addRibbonIcon('dice', 'Open menu', (event) => {

          const menu = new Menu();

          menu.addItem((item) =>

            item

              .setTitle('Copy')

              .setIcon('documents')

              .onClick(() => {

                new Notice('Copied');

              })

          );

          menu.addItem((item) =>

            item

              .setTitle('Paste')

              .setIcon('paste')

              .onClick(() => {

                new Notice('Pasted');

              })

          );

          menu.showAtMouseEvent(event);

        });

      }

    }

[showAtMouseEvent()](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtMouseEvent) opens the menu where you clicked with the mouse.

Tip

If you need more control of where the menu appears, you can use `menu.showAtPosition({ x: 20, y: 20 })` to open the menu at a position relative to the top-left corner of the Obsidian window.

For more information on what icons you can use, refer to [Icons](https://docs.obsidian.md/Plugins/User+interface/Icons).

You can also add an item to the file menu, or the editor menu, by subscribing to the `file-menu` and `editor-menu` workspace events:

    import { Notice, Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        this.registerEvent(

          this.app.workspace.on('file-menu', (menu, file) => {

            menu.addItem((item) => {

              item

                .setTitle('Print file path 👈')

                .setIcon('document')

                .onClick(async () => {

                  new Notice(file.path);

                });

            });

          })

        );

        this.registerEvent(

          this.app.workspace.on("editor-menu", (menu, editor, view) => {

            menu.addItem((item) => {

              item

                .setTitle('Print file path 👈')

                .setIcon('document')

                .onClick(async () => {

                  new Notice(view.file.path);

                });

            });

          })

        );

      }

    }

For more information on handling events, refer to [Events](https://docs.obsidian.md/Plugins/Events).

Context menus

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+pages
----

Site pages

==========

    cssclasses: reference

This page lists CSS variables used for Obsidian Publish pages.

CSS variables

-------------

Publish-specific variables should be defined on the `.published-container`.

### Page width and padding

Variable

Description

`--page-width`

Width of a note when readable line width is on

`--page-padding`

Padding around a note

### Page title

The note title displayed at the top of the page. This title can be hidden in the Publish site settings using the "**Hide page title**" option.

Variable

Description

`--page-title-color`

Font color

`--page-title-font`

Font family, see [Site fonts](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+fonts)

`--page-title-line-height`

Line height

`--page-title-size`

Font size

`--page-title-style`

Font style, e.g. normal or italic

`--page-title-variant`

Font variant

`--page-title-weight`

Font weight

Site pages

Not found

This page does not exist

Interactive graph

On this page

CSS variables

Page width and padding

Page title

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Publish/Publish
----

Publish

=======

### Introduction

Many of the [CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables) utilised in the Obsidian app can also be employed in Obsidian Publish (Publish), with corresponding selectors. However, to address to the differing requirements of Publish, the variables in this section were specifically created for Publish, and are to be inserted within the `.published-container` selector.

See [Build a Publish theme](https://docs.obsidian.md/Themes/Obsidian+Publish+themes/Build+a+Publish+theme) for more details.

### Index

*   [Site fonts](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+fonts)

*   [Site header](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+header)

*   [Site navigation](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+navigation)

*   [Site components](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+components)

*   [Site sidebars](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+sidebars)

*   [Site pages](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+pages)

Publish

Not found

This page does not exist

Interactive graph

On this page

Introduction

Index

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion
----

requireApiVersion

=================

    aliases: "requireApiVersion"

    cssclasses: hide-title

[`requireApiVersion`](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)

requireApiVersion() function

----------------------------

Returns true if the API version is equal or higher than the requested version. Use this to limit functionality that require specific API versions to avoid crashing on older Obsidian builds.

**Signature:**

    export function requireApiVersion(version: string): boolean;

Parameters

----------

Parameter

Type

Description

`version`

`string`

**Returns:**

`boolean`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

requireApiVersion

Not found

This page does not exist

Interactive graph

On this page

requireApiVersion() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/write
----

write

=====

    aliases: "DataAdapter.write"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`write`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/write)

DataAdapter.write() method

--------------------------

Write to a plaintext file. If the file exists its content will be overwritten, otherwise the file will be created.

**Signature:**

    write(normalizedPath: string, data: string, options?: DataWriteOptions): Promise<void>;

Parameters

----------

new file content

write

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.write() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/Status+bar
----

Status bar

==========

To create a new block in the status bar, call the [addStatusBarItem()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addStatusBarItem) in the `onload()` method. The `addStatusBarItem()` method returns an [HTML element](https://docs.obsidian.md/Plugins/User+interface/HTML+elements) that you can add your own elements to.

Obsidian mobile

Custom status bar items [are **not** supported](https://discord.com/channels/686053708261228577/707816848615407697/832321402106544179) on Obsidian mobile apps.

    import { Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        const item = this.addStatusBarItem();

        item.createEl('span', { text: 'Hello from the status bar 👋' });

      }

    }

Note

For more information on how to use the `createEl()` method, refer to [HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements).

You can add multiple status bar items by calling `addStatusBarItem()` multiple times. Since Obsidian by default adds a gap between each status bar item, you will have to group multiple HTML elements into one status bar item, if you want to have more control over spacing.

    import { Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        const fruits = this.addStatusBarItem();

        fruits.createEl('span', { text: '🍎' });

        fruits.createEl('span', { text: '🍌' });

        const veggies = this.addStatusBarItem();

        veggies.createEl('span', { text: '🥦' });

        veggies.createEl('span', { text: '🥬' });

      }

    }

The example above results in the following status bar:

Links to this page

[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)

[Use React in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+React+in+your+plugin)

Status bar

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightRibbon
----

rightRibbon

===========

    aliases: "Workspace.rightRibbon"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`rightRibbon`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightRibbon)

Workspace.rightRibbon property

------------------------------

> Warning: This API is now obsolete.

> 

> No longer used

**Signature:**

    rightRibbon: WorkspaceRibbon;

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

rightRibbon

Not found

This page does not exist

Interactive graph

On this page

Workspace.rightRibbon property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/getState
----

getState

========

    aliases: "FileView.getState"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`getState`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getState)

FileView.getState() method

--------------------------

**Signature:**

    getState(): Record<string, unknown>;

**Returns:**

`Record<string, unknown>`

Links to this page

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

getState

Not found

This page does not exist

Interactive graph

On this page

FileView.getState() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/showSearch
----

showSearch

==========

    aliases: "MarkdownView.showSearch"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) › [`showSearch`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/showSearch)

MarkdownView.showSearch() method

--------------------------------

**Signature:**

    showSearch(replace?: boolean): void;

Parameters

----------

Parameter

Type

Description

`replace`

`boolean`

_(Optional)_

**Returns:**

`void`

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

showSearch

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.showSearch() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/minAppVersion
----

minAppVersion

=============

    aliases: "PluginManifest.minAppVersion"

    cssclasses: hide-title

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest) › [`minAppVersion`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/minAppVersion)

PluginManifest.minAppVersion property

-------------------------------------

The minimum required Obsidian version to run this plugin.

**Signature:**

    minAppVersion: string;

Links to this page

[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

minAppVersion

Not found

This page does not exist

Interactive graph

On this page

PluginManifest.minAppVersion property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions
----

Ribbon actions

==============

The sidebar on the left side of the Obsidian interface is mainly known as the _ribbon_. The purpose of the ribbon is to host actions defined by plugins.

To add an action to the ribbon, use the [addRibbonIcon()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addRibbonIcon) method:

    import { Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        this.addRibbonIcon('dice', 'Print to console', () => {

          console.log('Hello, you!');

        });

      }

    }

The first argument specifies which icon to use. For more information on the available icons, and how to add your own, refer to [Icons](https://docs.obsidian.md/Plugins/User+interface/Icons).

Note

Users can remove your plugin's icon from the ribbon, or even opt to hide the ribbon entirely. Therefore it's advisable to include alternate ways of accessing functionality that's in the ribbon, such as creating a [command](https://docs.obsidian.md/Plugins/User+interface/Commands). It is also recommended that plugins do not add their own toggles for ribbon items.

Links to this page

[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)

[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)

Ribbon actions

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs
----

WorkspaceTabs

=============

    aliases: "WorkspaceTabs"

    cssclasses: hide-title

[`WorkspaceTabs`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)

WorkspaceTabs class

-------------------

**Signature:**

    export class WorkspaceTabs extends WorkspaceParent 

**Extends:** [`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

Properties

----------

Property

Modifiers

Type

Description

[`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs/parent)

[`WorkspaceSplit`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)

Methods

-------

[parent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs/parent)

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

WorkspaceTabs

Not found

This page does not exist

Interactive graph

On this page

WorkspaceTabs class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorChange/text
----


[text](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange/text)

text

====

    aliases: "EditorChange.text"

    cssclasses: hide-title

[`EditorChange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange) › [`text`](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange/text)

EditorChange.text property

--------------------------

**Signature:**

    text: string;

Links to this page

[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)

text

Not found

This page does not exist

Interactive graph

On this page

EditorChange.text property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/getSelection
----

getSelection

============

getSelection

Not found

This page does not exist

Interactive graph

On this page

Editor.getSelection() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/read
----

read

====

    aliases: "Vault.read"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`read`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read)

Vault.read() method

-------------------

Read a plaintext file that is stored inside the vault, directly from disk. Use this if you intend to modify the file content afterwards. Use [Vault.cachedRead()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead) otherwise for better performance.

0.9.7

**Signature:**

    read(file: TFile): Promise<string>;

Parameters

----------

[cachedRead](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead)

[Vault](https://docs.obsidian.md/Plugins/Vault)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

read

Not found

This page does not exist

Interactive graph

On this page

Vault.read() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CliFlags
----

CliFlags

========

    aliases: "CliFlags"

    cssclasses: hide-title

[`CliFlags`](https://docs.obsidian.md/Reference/TypeScript+API/CliFlags)

CliFlags type

-------------

1.12.2

**Signature:**

    export type CliFlags = Record<string, CliFlag>;

**References:** [`CliFlag`](https://docs.obsidian.md/Reference/TypeScript+API/CliFlag)

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[registerCliHandler](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerCliHandler)

CliFlags

Not found

This page does not exist

Interactive graph

On this page

CliFlags type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents
----

MarkdownPreviewEvents

=====================

    aliases: "MarkdownPreviewEvents"

    cssclasses: hide-title

[`MarkdownPreviewEvents`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)

MarkdownPreviewEvents interface

-------------------------------

\*

**Signature:**

    export interface MarkdownPreviewEvents extends Component 

**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

MarkdownPreviewEvents

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewEvents interface

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Debouncer/cancel
----

cancel

======

cancel

Not found

This page does not exist

Interactive graph

On this page

Debouncer.cancel() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/blur
----

blur

====

    aliases: "Editor.blur"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`blur`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/blur)

Editor.blur() method

--------------------

0.11.11

**Signature:**

    abstract blur(): void;

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

blur

Not found

This page does not exist

Interactive graph

On this page

Editor.blur() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+sidebars
----

Site sidebars

=============

    cssclasses: reference

The left sidebar is present when [Site navigation](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+navigation) is turned on. The right sidebar is present when the **Graph** and/or **Table of Contents** [Site components](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+components) are turned on. When these components are turned off, the following variables have no effect.

CSS variables

-------------

Publish-specific variables should be defined on the `.published-container`.

Variable

Description

`--sidebar-left-width`

Width of the left sidebar

`--sidebar-left-background`

Background color of left sidebar

`--sidebar-left-border-width`

Right border width of left sidebar

`--sidebar-left-border-color`

Right border color of left sidebar

`--sidebar-right-width`

Width of the right sidebar

`--sidebar-right-background`

Background color of right sidebar

`--sidebar-right-border-width`

Left border width of right sidebar

`--sidebar-right-border-color`

Left border color of right sidebar

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Publish](https://docs.obsidian.md/Reference/CSS+variables/Publish/Publish)

Site sidebars

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation
----

MarkdownSectionInformation

Not found

This page does not exist

Interactive graph

On this page

MarkdownSectionInformation interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue
----

ObjectValue

Not found

This page does not exist

Interactive graph

On this page

ObjectValue class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/onResize
----

onResize

========

    aliases: "WorkspaceLeaf.onResize"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`onResize`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/onResize)

WorkspaceLeaf.onResize() method

-------------------------------

**Signature:**

    onResize(): void;

**Returns:**

`void`

Links to this page

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

onResize

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.onResize() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon
----

getIcon

=======

    aliases: "View.getIcon"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`getIcon`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon)

View.getIcon() method

---------------------

1.1.0

**Signature:**

    getIcon(): IconName;

**Returns:**

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

getIcon

Not found

This page does not exist

Interactive graph

On this page

View.getIcon() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/renderSuggestion
----

renderSuggestion

================

    aliases: "SuggestModal.renderSuggestion"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) › [`renderSuggestion`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/renderSuggestion)

SuggestModal.renderSuggestion() method

--------------------------------------

1.5.7

**Signature:**

    abstract renderSuggestion(value: T, el: HTMLElement): void;

Parameters

----------

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

renderSuggestion

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.renderSuggestion() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setDisabled
----

setDisabled

===========

    aliases: "ToggleComponent.setDisabled"

    cssclasses: hide-title

[`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent) › [`setDisabled`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setDisabled)

ToggleComponent.setDisabled() method

------------------------------------

1.2.3

**Signature:**

    setDisabled(disabled: boolean): this;

Parameters

----------

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

setDisabled

Not found

This page does not exist

Interactive graph

On this page

ToggleComponent.setDisabled() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Pos
----

Pos

===

    aliases: "Pos"

    cssclasses: hide-title

[`Pos`](https://docs.obsidian.md/Reference/TypeScript+API/Pos)

Pos interface

-------------

Describes a text range in a Markdown document.

**Signature:**

    export interface Pos 

Properties

----------

Property

Modifiers

Type

Description

[`end`](https://docs.obsidian.md/Reference/TypeScript+API/Pos/end)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

End location.

[`start`](https://docs.obsidian.md/Reference/TypeScript+API/Pos/start)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

Starting location.

Links to this page

[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

[end](https://docs.obsidian.md/Reference/TypeScript+API/Pos/end)

[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)

[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)

[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)

[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)

[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)

[start](https://docs.obsidian.md/Reference/TypeScript+API/Pos/start)

[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)

Pos

Not found

This page does not exist

Interactive graph

On this page

Pos interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction
----

EditorTransaction

=================

    aliases: "EditorTransaction"

    cssclasses: hide-title

[`EditorTransaction`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)

EditorTransaction interface

---------------------------

**Signature:**

    export interface EditorTransaction 

Properties

----------

Property

Modifiers

Type

Description

[`changes?`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/changes)

[`EditorChange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)`[]`

_(Optional)_

[`replaceSelection?`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/replaceSelection)

`string`

_(Optional)_

[`selection?`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/selection)

[`EditorRangeOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)

_(Optional)_

[`selections?`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/selections)

[`EditorRangeOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)`[]`

_(Optional)_ Multiple selections, overrides `selection`.

Links to this page

[changes](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/changes)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[replaceSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/replaceSelection)

[selection](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/selection)

[selections](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/selections)

[transaction](https://docs.obsidian.md/Reference/TypeScript+API/Editor/transaction)

EditorTransaction

Not found

This page does not exist

Interactive graph

On this page

EditorTransaction interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/renderMath
----

renderMath

==========

    aliases: "renderMath"

    cssclasses: hide-title

[`renderMath`](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)

renderMath() function

---------------------

Render some LaTeX math using the MathJax engine. Returns an HTMLElement. Requires calling `finishRenderMath` when rendering is all done to flush the MathJax stylesheet.

**Signature:**

    export function renderMath(source: string, display: boolean): HTMLElement;

Parameters

----------

Parameter

Type

Description

`source`

`string`

`display`

`boolean`

**Returns:**

`HTMLElement`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

renderMath

Not found

This page does not exist

Interactive graph

On this page

renderMath() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/UrlValue
----

UrlValue

========

    aliases: "UrlValue"

    cssclasses: hide-title

[`UrlValue`](https://docs.obsidian.md/Reference/TypeScript+API/UrlValue)

UrlValue class

--------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping an external link.

1.10.0

**Signature:**

    export class UrlValue extends StringValue 

**Extends:** [`StringValue`](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

Constructors

------------

----------

-------

UrlValue

Not found

This page does not exist

Interactive graph

On this page

UrlValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Indentation+guides
----

Indentation guides

==================

    cssclasses: reference

This page lists CSS variables for indentation guides. Indentation guides visualize the indentation level in nested lists.

CSS variables

-------------

Variable

Description

`--indentation-guide-width`

Indentation guide border width

`--indentation-guide-width-active`

Indentation guide border width (active)

`--indentation-guide-color`

Indentation guide border color

`--indentation-guide-color-active`

Indentation guide border color (active)

`--indentation-guide-editing-indent`

Width of the indent in edit mode

`--indentation-guide-reading-indent`

Width of the indent in read mode

`--indentation-guide-source-indent`

Width of the indent in source mode

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Indentation guides

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Callout
----

Callout

Not found

This page does not exist

Interactive graph

On this page

CSS variables

Type colors

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption
----

BasesPropertyOption

===================

    aliases: "BasesPropertyOption"

    cssclasses: hide-title

[`BasesPropertyOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption)

BasesPropertyOption interface

-----------------------------

A dropdown menu allowing selection of a property.

1.10.0

**Signature:**

    export interface BasesPropertyOption extends BasesOption 

**Extends:** [`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

Properties

----------

Property

Modifiers

Type

Description

[`default?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/default)

`string`

_(Optional)_ 1.10.0

[`displayName`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/displayName)

`string`

1.10.0

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`filter?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/filter)

`(prop:` [`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)`) => boolean`

_(Optional)_ If provided, only properties which pass the filter will be included for selection in the property dropdown.

1.10.0

[`key`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/key)

`string`

1.10.0

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`placeholder?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/placeholder)

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/type)

`'property'`

1.10.0

Links to this page

[BasesOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

[default](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/default)

[filter](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/filter)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[placeholder](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/placeholder)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/type)

BasesPropertyOption

Not found

This page does not exist

Interactive graph

On this page

BasesPropertyOption interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectSuggestion
----

selectSuggestion

================

    aliases: "SuggestModal.selectSuggestion"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) › [`selectSuggestion`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectSuggestion)

SuggestModal.selectSuggestion() method

--------------------------------------

0.9.20

**Signature:**

    selectSuggestion(value: T, evt: MouseEvent | KeyboardEvent): void;

Parameters

----------

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

selectSuggestion

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.selectSuggestion() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles
----

ListedFiles

===========

    aliases: "ListedFiles"

    cssclasses: hide-title

[`ListedFiles`](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)

ListedFiles interface

---------------------

**Signature:**

    export interface ListedFiles 

Properties

----------

Property

Modifiers

Type

Description

[`files`](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles/files)

`string[]`

[`folders`](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles/folders)

`string[]`

Links to this page

[files](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles/files)

[folders](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles/folders)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[list](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/list)

[list](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/list)

[list](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/list)

ListedFiles

Not found

This page does not exist

Interactive graph

On this page

ListedFiles interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/group
----

group

=====

    aliases: "OpenViewState.group"

    cssclasses: hide-title

[`OpenViewState`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState) › [`group`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/group)

OpenViewState.group property

----------------------------

**Signature:**

    group?: WorkspaceLeaf;

Links to this page

[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)

group

Not found

This page does not exist

Interactive graph

On this page

OpenViewState.group property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/onChange
----

onChange

========

    aliases: "SliderComponent.onChange"

    cssclasses: hide-title

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent) › [`onChange`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/onChange)

SliderComponent.onChange() method

---------------------------------

0.9.7

**Signature:**

    onChange(callback: (value: number) => any): this;

Parameters

----------

Parameter

Type

Description

`callback`

`(value: number) => any`

**Returns:**

`this`

Links to this page

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

onChange

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.onChange() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Point
----

Point

Not found

This page does not exist

Interactive graph

On this page

Point interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/(constructor)
----

(constructor)

=============

    aliases: "MarkdownView.(constructor)"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/\(constructor\))

MarkdownView.(constructor)

--------------------------

Constructs a new instance of the `MarkdownView` class

**Signature:**

    constructor(leaf: WorkspaceLeaf);

Parameters

----------

Parameter

Type

Description

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeafById
----

getLeafById

===========

    aliases: "Workspace.getLeafById"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`getLeafById`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeafById)

Workspace.getLeafById() method

------------------------------

Retrieve a leaf by its id.

**Signature:**

    getLeafById(id: string): WorkspaceLeaf | null;

Parameters

----------

Parameter

Type

Description

`id`

`string`

id of the leaf to retrieve.

1.5.1

**Returns:**

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) `| null`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

getLeafById

Not found

This page does not exist

Interactive graph

On this page

Workspace.getLeafById() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource/defaultMod
----

defaultMod

==========

    aliases: "HoverLinkSource.defaultMod"

    cssclasses: hide-title

[`HoverLinkSource`](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource) › [`defaultMod`](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource/defaultMod)

HoverLinkSource.defaultMod property

-----------------------------------

Whether the `hover-link` event requires the 'Mod' key to be pressed to trigger.

**Signature:**

    defaultMod: boolean;

Links to this page

[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)

defaultMod

Not found

This page does not exist

Interactive graph

On this page

HoverLinkSource.defaultMod property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/setValue
----

setValue

========

    aliases: "SecretComponent.setValue"

    cssclasses: hide-title

[`SecretComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/setValue)

SecretComponent.setValue() method

---------------------------------

1.11.4

**Signature:**

    setValue(value: string): this;

Parameters

----------

[SecretComponent](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent)

setValue

Not found

This page does not exist

Interactive graph

On this page

SecretComponent.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/getDoc
----

getDoc

======

    aliases: "Editor.getDoc"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`getDoc`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getDoc)

Editor.getDoc() method

----------------------

0.11.11

**Signature:**

    getDoc(): this;

**Returns:**

`this`

getDoc

Not found

This page does not exist

Interactive graph

On this page

Editor.getDoc() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/File
----

# File

```yaml
cssclasses: reference
```

This page lists CSS variables for open files in the editor.

## CSS variables

| Variable | Description |
| --- | --- |
| `--file-line-width` | Width of a line when readable line width is turned on |
| `--file-folding-offset` | Width of the line offset for fold indicators |
| `--file-margins` | File margins |
| `--file-header-font-size` | File header font size |
| `--file-header-font-weight` | File header font weight |
| `--file-header-border` | File header `border-bottom` property |
| `--file-header-justify` | File header text alignment, uses `justify-content` |

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

File

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md/)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Value/renderTo
----

renderTo

========

    aliases: "Value.renderTo"

    cssclasses: hide-title

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value) › [`renderTo`](https://docs.obsidian.md/Reference/TypeScript+API/Value/renderTo)

Value.renderTo() method

-----------------------

Render this value into the provided HTMLElement.

1.10.0

**Signature:**

    renderTo(el: HTMLElement, ctx: RenderContext): void;

Parameters

----------

Parameter

Type

Description

`el`

`HTMLElement`

`ctx`

[`RenderContext`](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext)

**Returns:**

`void`

Links to this page

[BooleanValue](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue)

[DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

[FileValue](https://docs.obsidian.md/Reference/TypeScript+API/FileValue)

[HTMLValue](https://docs.obsidian.md/Reference/TypeScript+API/HTMLValue)

[IconValue](https://docs.obsidian.md/Reference/TypeScript+API/IconValue)

[ImageValue](https://docs.obsidian.md/Reference/TypeScript+API/ImageValue)

[LinkValue](https://docs.obsidian.md/Reference/TypeScript+API/LinkValue)

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

[StringValue](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

[TagValue](https://docs.obsidian.md/Reference/TypeScript+API/TagValue)

[UrlValue](https://docs.obsidian.md/Reference/TypeScript+API/UrlValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value)

renderTo

Not found

This page does not exist

Interactive graph

On this page

Value.renderTo() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/stat
----

stat

====

    aliases: "CapacitorAdapter.stat"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`stat`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/stat)

CapacitorAdapter.stat() method

------------------------------

1.7.2

**Signature:**

    stat(normalizedPath: string): Promise<Stat | null>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

**Returns:**

`Promise<`[`Stat`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/stat) `| null>`

Links to this page

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

stat

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.stat() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/onHide
----

onHide

======

    aliases: "Menu.onHide"

    cssclasses: hide-title

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu) › [`onHide`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/onHide)

Menu.onHide() method

--------------------

**Signature:**

    onHide(callback: () => any): void;

Parameters

----------

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

onHide

Not found

This page does not exist

Interactive graph

On this page

Menu.onHide() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/clear
----

clear

=====

clear

Not found

This page does not exist

Interactive graph

On this page

TextFileView.clear() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/getState
----

getState

========

    aliases: "View.getState"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`getState`](https://docs.obsidian.md/Reference/TypeScript+API/View/getState)

View.getState() method

----------------------

0.9.7

**Signature:**

    getState(): Record<string, unknown>;

**Returns:**

`Record<string, unknown>`

Links to this page

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

getState

Not found

This page does not exist

Interactive graph

On this page

View.getState() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/(constructor)
----

(constructor)

=============

    aliases: "SliderComponent.(constructor)"

    cssclasses: hide-title

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/\(constructor\))

SliderComponent.(constructor)

-----------------------------

Constructs a new instance of the `SliderComponent` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/setTooltip
----

setTooltip

==========

    aliases: "setTooltip"

    cssclasses: hide-title

[`setTooltip`](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)

setTooltip() function

---------------------

**Signature:**

    export function setTooltip(el: HTMLElement, tooltip: string, options?: TooltipOptions): void;

Parameters

----------

Parameter

Type

Description

`el`

`HTMLElement`

The element to show the tooltip on

`tooltip`

`string`

The tooltip text to show

`options`

[`TooltipOptions`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)

_(Optional)_ 1.4.4

**Returns:**

`void`

Links to this page

[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

setTooltip

Not found

This page does not exist

Interactive graph

On this page

setTooltip() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/type
----

type

====

    aliases: "BasesTextOption.type"

    cssclasses: hide-title

[`BasesTextOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/type)

BasesTextOption.type property

-----------------------------

1.10.0

**Signature:**

    type: 'text';

Links to this page

[BasesTextOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption)

type

Not found

This page does not exist

Interactive graph

On this page

BasesTextOption.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Bases
----

Bases

=====

    cssclasses: reference

This page lists CSS variables for [Bases](https://help.obsidian.md/bases). See also [Properties](https://docs.obsidian.md/Reference/CSS+variables/Editor/Properties), [Checkbox](https://docs.obsidian.md/Reference/CSS+variables/Components/Checkbox), [Text input](https://docs.obsidian.md/Reference/CSS+variables/Components/Text+input) and [Multi-select](https://docs.obsidian.md/Reference/CSS+variables/Components/Multi-select) for variables related to properties and input types.

CSS variables

-------------

### Base container

These variables apply to the entire Properties container.

Variable

Description

`--bases-header-border-width`

Width of border around the header area

`--bases-header-height`

Height of the base header area that contains the toolbar

`--bases-header-padding-start`

Start padding (left in [LTR](https://docs.obsidian.md/Plugins/User+interface/Right-to-left) mode)

`--bases-header-padding-end`

End padding (right in [LTR](https://docs.obsidian.md/Plugins/User+interface/Right-to-left) mode)

`--bases-toolbar-label-display`

Display of toolbar button labels

`--bases-toolbar-badge-display`

Display of toolbar number badges

`--bases-embed-border-width`

Border width around base view when embedded

`--bases-embed-border-color`

Border color around base view when embedded

`--bases-embed-border-radius`

Radius around base view when embedded

`--bases-filter-menu-width`

Width of the filter menu

### Table view

Variable

`--bases-table-container-border-width`

`--bases-table-container-border-radius`

`--bases-table-header-weight`

`--bases-table-header-color`

`--bases-table-header-icon-display`

`--bases-table-header-background`

`--bases-table-header-background-hover`

`--bases-table-header-sort-mask`

`--bases-table-border-color`

`--bases-table-column-border-width`

`--bases-table-row-border-width`

`--bases-table-row-background-hover`

`--bases-table-row-height`

`--bases-table-text-size`

`--bases-table-column-max-width`

`--bases-table-column-min-width`

`--bases-table-cell-radius-active`

`--bases-table-cell-shadow-active`

`--bases-table-cell-background-active`

`--bases-table-cell-background-disabled`

### Cards view

Variable

`--bases-cards-container-background`

`--bases-cards-background`

`--bases-cards-cover-background`

`--bases-cards-scale`

`--bases-cards-group-padding`

`--bases-cards-line-height`

`--bases-cards-border-width`

`--bases-cards-shadow`

`--bases-cards-shadow-hover`

Bases

Not found

This page does not exist

Interactive graph

On this page

CSS variables

Base container

Table view

Cards view

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/open
----

open

====

    aliases: "PopoverSuggest.open"

    cssclasses: hide-title

[`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest) › [`open`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/open)

PopoverSuggest.open() method

----------------------------

**Signature:**

    open(): void;

**Returns:**

`void`

Links to this page

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)

open

Not found

This page does not exist

Interactive graph

On this page

PopoverSuggest.open() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/process
----

process

=======

    aliases: "FileSystemAdapter.process"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`process`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/process)

FileSystemAdapter.process() method

----------------------------------

**Signature:**

    process(normalizedPath: string, fn: (data: string) => string, options?: DataWriteOptions): Promise<string>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

`fn`

`(data: string) => string`

`options`

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

_(Optional)_

**Returns:**

`Promise<string>`

Links to this page

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

process

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.process() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/clear
----

clear

=====

    aliases: "MarkdownView.clear"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) › [`clear`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/clear)

MarkdownView.clear() method

---------------------------

**Signature:**

    clear(): void;

**Returns:**

`void`

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

clear

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.clear() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/(constructor)
----

(constructor)

=============

    aliases: "ToggleComponent.(constructor)"

    cssclasses: hide-title

[`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/\(constructor\))

ToggleComponent.(constructor)

-----------------------------

0.9.7

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

ToggleComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Multi-select
----

Multi-select

============

    cssclasses: reference

This page lists CSS variables for multi-select inputs. For example, used in List type [Properties](https://docs.obsidian.md/Reference/CSS+variables/Editor/Properties).

CSS variables

-------------

Variable

Description

`--pill-color`

Pill text color

`--pill-color-hover`

Pill text color (hover)

`--pill-color-remove`

Pill text color when removing

`--pill-color-remove-hover`

Pill text color when removing (hover)

`--pill-decoration`

Pill text decoration

`--pill-decoration-hover`

Pill text decoration (hover)

`--pill-background`

Pill background color

`--pill-background-hover`

Pill background color (hover)

`--pill-border-color`

Pill border color

`--pill-border-color-hover`

Pill border color (hover)

`--pill-border-width`

Pill border width

`--pill-padding-x`

Pill left/right padding

`--pill-padding-y`

Pill top/bottom padding

`--pill-radius`

Pill corner radius

`--pill-weight`

Pill font weight

Links to this page

[Bases](https://docs.obsidian.md/Reference/CSS+variables/Editor/Bases)

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Properties](https://docs.obsidian.md/Reference/CSS+variables/Editor/Properties)

Multi-select

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/tags
----

[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)

[headings](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/headings)

[links](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/links)

[listItems](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/listItems)

[referenceLinks](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/referenceLinks)

[sections](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/sections)

[tags](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/tags)

[![](https://publish-01.obsidian.md/access/caa27d6312fe5c26ebc657cc609543be/Assets/obsidian-lockup-docs.svg)](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)

# tags

```yaml
aliases: "CachedMetadata.tags"
cssclasses: hide-title
```

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`tags`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/tags)

## CachedMetadata.tags property

**Signature:**

```typescript
tags?: TagCache[];
```

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

tags

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.tags property

[Powered by Obsidian Publish](https://publish.obsidian.md/)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace
----

Workspace

=========

    aliases: "Workspace"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

Workspace class

---------------

0.9.7

**Signature:**

    export class Workspace extends Events 

**Extends:** [`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events)

Properties

----------

Property

Modifiers

Type

Description

[`activeEditor`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeEditor)

[`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo) `| null`

A component managing the current editor. This can be null if the active view has no editor.

[`activeLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeLeaf)

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) `| null`

Indicates the currently focused leaf, if one exists.

Please avoid using `activeLeaf` directly, especially without checking whether `activeLeaf` is null.

0.9.7

[`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/containerEl)

`HTMLElement`

0.9.7

[`layoutReady`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/layoutReady)

`boolean`

If the layout of the app has been successfully initialized. To react to the layout becoming ready, use [Workspace.onLayoutReady()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/onLayoutReady)

0.9.7

[`leftRibbon`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftRibbon)

[`WorkspaceRibbon`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)

0.9.7

[`leftSplit`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftSplit)

[`WorkspaceSidedock`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock) `|` [`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

0.9.7

[`requestSaveLayout`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/requestSaveLayout)

[`Debouncer`](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)`<[],` `Promise``<void>>`

Save the state of the current workspace layout.

0.16.0

[`rightRibbon`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightRibbon)

[`WorkspaceRibbon`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)

[`rightSplit`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightSplit)

[`WorkspaceSidedock`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock) `|` [`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

0.9.7

[`rootSplit`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rootSplit)

[`WorkspaceRoot`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)

0.9.7

Methods

-------

Method

Modifiers

Description

[`changeLayout(workspace)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/changeLayout)

0.9.7

[`createLeafBySplit(leaf, direction, before)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafBySplit)

0.9.7

[`createLeafInParent(parent, index)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafInParent)

0.9.11

[`detachLeavesOfType(viewType)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/detachLeavesOfType)

Remove all leaves of the given type.

0.9.7

[`duplicateLeaf(leaf, direction)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf)

[`duplicateLeaf(leaf, leafType, direction)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf_1)

1.1.0

[`ensureSideLeaf(type, side, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/ensureSideLeaf)

Get side leaf or create one if one does not exist.

1.7.2

[`getActiveFile()`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveFile)

Returns the file for the current view if it's a `FileView`. Otherwise, it will return the most recently active file.

[`getActiveViewOfType(type)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveViewOfType)

Get the currently active view of a given type.

0.9.16

[`getGroupLeaves(group)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getGroupLeaves)

Get all leaves that belong to a group

[`getLastOpenFiles()`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLastOpenFiles)

Get the filenames of the 10 most recently opened files.

0.9.7

[`getLayout()`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLayout)

0.9.7

[`getLeaf(newLeaf, direction)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf\('split'\))

Creates a new leaf in a leaf adjacent to the currently active leaf. If direction is `'vertical'`, the leaf will appear to the right. If direction is `'horizontal'`, the leaf will appear below the current leaf.

0.16.0

[`getLeaf(newLeaf)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf_1)

If newLeaf is false (or not set) then an existing leaf which can be navigated is returned, or a new leaf will be created if there was no leaf available.

If newLeaf is `'tab'` or `true` then a new leaf will be created in the preferred location within the root split and returned.

If newLeaf is `'split'` then a new leaf will be created adjacent to the currently active leaf.

If newLeaf is `'window'` then a popout window will be created with a new leaf inside.

0.16.0

[`getLeafById(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeafById)

Retrieve a leaf by its id.

[`getLeavesOfType(viewType)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeavesOfType)

Get all leaves of a given type.

0.9.7

[`getLeftLeaf(split)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeftLeaf)

Create a new leaf inside the left sidebar.

[`getMostRecentLeaf(root)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getMostRecentLeaf)

Get the most recently active leaf in a given workspace root. Useful for interacting with the leaf in the root split while a sidebar leaf might be active.

[`getRightLeaf(split)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getRightLeaf)

Create a new leaf inside the right sidebar.

[`getUnpinnedLeaf()`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getUnpinnedLeaf)

[`handleLinkContextMenu(menu, linktext, sourcePath, leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/handleLinkContextMenu)

Add a context menu to internal file links.

0.12.10

[`iterateAllLeaves(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateAllLeaves)

Iterate through all leaves, including main area leaves, floating leaves, and sidebar leaves.

0.9.7

[`iterateRootLeaves(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateRootLeaves)

Iterate through all leaves in the main area of the workspace.

0.9.7

[`moveLeafToPopout(leaf, data)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/moveLeafToPopout)

Migrates this leaf to a new popout window. Only works on the desktop app.

[`off(name, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[`offref(ref)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[`on(name: 'quick-preview', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('quick-preview'\))

Triggered when the active Markdown file is modified. React to file changes before they are saved to disk.

0.9.7

[`on(name: 'files-menu', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('files-menu'\))

Triggered when the user opens the context menu with multiple files selected in the File Explorer.

1.4.10

[`on(name: 'url-menu', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('url-menu'\))

Triggered when the user opens the context menu on an external URL.

1.5.1

[`on(name: 'editor-menu', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-menu'\))

Triggered when the user opens the context menu on an editor.

1.1.0

[`on(name: 'editor-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-change'\))

Triggered when changes to an editor has been applied, either programmatically or from a user event.

1.1.1

[`on(name: 'editor-paste', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-paste'\))

Triggered when the editor receives a paste event. Check for `evt.defaultPrevented` before attempting to handle this event, and return if it has been already handled. Use `evt.preventDefault()` to indicate that you've handled the event.

1.1.0

[`on(name: 'editor-drop', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-drop'\))

Triggered when the editor receives a drop event. Check for `evt.defaultPrevented` before attempting to handle this event, and return if it has been already handled. Use `evt.preventDefault()` to indicate that you've handled the event.

1.1.0

[`on(name: 'quit', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('quit'\))

Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.

0.10.2

[`on(name: 'resize', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('resize'\))

Triggered when a `WorkspaceItem` is resized or the workspace layout has changed.

0.9.7

[`on(name: 'active-leaf-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('active-leaf-change'\))

Triggered when the active leaf changes.

0.10.9

[`on(name: 'file-open', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('file-open'\))

Triggered when the active file changes. The file could be in a new leaf, an existing leaf, or an embed.

0.10.9

[`on(name: 'layout-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('layout-change'\))

0.9.20

[`on(name: 'window-open', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('window-open'\))

Triggered when a new popout window is created.

0.15.3

[`on(name: 'window-close', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('window-close'\))

Triggered when a popout window is closed.

0.15.3

[`on(name: 'css-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('css-change'\))

Triggered when the CSS of the app has changed.

0.9.7

[`on(name: 'file-menu', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('file-menu'\))

Triggered when the user opens the context menu on a file.

0.9.12

[`onLayoutReady(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/onLayoutReady)

Runs the callback function right away if layout is already ready, or push it to a queue to be called later when layout is ready.

0.11.0

[`openLinkText(linktext, sourcePath, newLeaf, openViewState)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openLinkText)

0.16.0

[`openPopoutLeaf(data)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openPopoutLeaf)

Open a new popout window with a single new leaf and return that leaf. Only works on the desktop app.

0.15.4

[`revealLeaf(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/revealLeaf)

Bring a given leaf to the foreground. If the leaf is in a sidebar, the sidebar will be uncollapsed. `await` this function to ensure your view has been fully loaded and is not deferred.

1.7.2

[`setActiveLeaf(leaf, params)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf)

Sets the active leaf

[`setActiveLeaf(leaf, pushHistory, focus)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf_1)

[`splitActiveLeaf(direction)`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/splitActiveLeaf)

[`trigger(name, data)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/trigger)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[`tryTrigger(evt, args)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/tryTrigger)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[`updateOptions()`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions)

Calling this function will update/reconfigure the options of all Markdown views. It is fairly expensive, so it should not be called frequently.

0.13.21

Links to this page

[activeEditor](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeEditor)

[activeLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeLeaf)

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

[changeLayout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/changeLayout)

[containerEl](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/containerEl)

[createLeafBySplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafBySplit)

[createLeafInParent](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafInParent)

[detachLeavesOfType](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/detachLeavesOfType)

[duplicateLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf)

[duplicateLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf_1)

[ensureSideLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/ensureSideLeaf)

[getActiveFile](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveFile)

[getActiveViewOfType](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveViewOfType)

[getGroupLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getGroupLeaves)

[getLastOpenFiles](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLastOpenFiles)

[getLayout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLayout)

[handleLinkContextMenu](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/handleLinkContextMenu)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[iterateAllLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateAllLeaves)

[iterateRootLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateRootLeaves)

[layoutReady](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/layoutReady)

[leftRibbon](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftRibbon)

[leftSplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftSplit)

[moveLeafToPopout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/moveLeafToPopout)

[on('active-leaf-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('active-leaf-change'\))

[on('css-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('css-change'\))

[on('editor-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-change'\))

[on('editor-drop')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-drop'\))

[on('editor-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-menu'\))

[on('editor-paste')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-paste'\))

[on('file-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('file-menu'\))

[on('file-open')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('file-open'\))

[on('files-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('files-menu'\))

[on('layout-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('layout-change'\))

[on('quick-preview')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('quick-preview'\))

[on('quit')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('quit'\))

[on('resize')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('resize'\))

[on('url-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('url-menu'\))

[on('window-close')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('window-close'\))

[on('window-open')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('window-open'\))

[onLayoutReady](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/onLayoutReady)

[openLinkText](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openLinkText)

[openPopoutLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openPopoutLeaf)

[requestSaveLayout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/requestSaveLayout)

[revealLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/revealLeaf)

[rightRibbon](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightRibbon)

[rightSplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightSplit)

[rootSplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rootSplit)

[setActiveLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf)

[setActiveLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf_1)

[splitActiveLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/splitActiveLeaf)

[updateOptions](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions)

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

Workspace

Not found

This page does not exist

Interactive graph

On this page

Workspace class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo/app
----

app

===

app

Not found

This page does not exist

Interactive graph

On this page

MarkdownFileInfo.app property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/getSuggestions
----

getSuggestions

==============

getSuggestions

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.getSuggestions() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesSortConfig
----

BasesSortConfig

===============

    aliases: "BasesSortConfig"

    cssclasses: hide-title

[`BasesSortConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSortConfig)

BasesSortConfig type

--------------------

1.10.0

**Signature:**

    export type BasesSortConfig = {

        property: BasesPropertyId;

        direction: 'ASC' | 'DESC';

    };

**References:** [`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)

Links to this page

[getSort](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getSort)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

BasesSortConfig

Not found

This page does not exist

Interactive graph

On this page

BasesSortConfig type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/editor
----

editor

======

    aliases: "MarkdownView.editor"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) › [`editor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/editor)

MarkdownView.editor property

----------------------------

**Signature:**

    editor: Editor;

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

editor

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.editor property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry
----

parseFrontMatterEntry

=====================

    aliases: "parseFrontMatterEntry"

    cssclasses: hide-title

[`parseFrontMatterEntry`](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)

parseFrontMatterEntry() function

--------------------------------

**Signature:**

    export function parseFrontMatterEntry(frontmatter: any | null, key: string | RegExp): any | null;

Parameters

----------

`any | null`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

parseFrontMatterEntry

Not found

This page does not exist

Interactive graph

On this page

parseFrontMatterEntry() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/workspace
----

workspace

=========

    aliases: "App.workspace"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) › [`workspace`](https://docs.obsidian.md/Reference/TypeScript+API/App/workspace)

App.workspace property

----------------------

0.9.7

**Signature:**

    workspace: Workspace;

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

workspace

Not found

This page does not exist

Interactive graph

On this page

App.workspace property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/start
----

start

=====

    aliases: "EditorSuggestTriggerInfo.start"

    cssclasses: hide-title

[`EditorSuggestTriggerInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo) › [`start`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/start)

EditorSuggestTriggerInfo.start property

---------------------------------------

The start position of the triggering text. This is used to position the popover.

**Signature:**

    start: EditorPosition;

Links to this page

[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)

start

Not found

This page does not exist

Interactive graph

On this page

EditorSuggestTriggerInfo.start property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/NullValue/toString
----

toString

========

    aliases: "NullValue.toString"

    cssclasses: hide-title

[`NullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue) › [`toString`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue/toString)

NullValue.toString() method

---------------------------

1.10.0

**Signature:**

    toString(): string;

**Returns:**

`string`

Links to this page

[NullValue](https://docs.obsidian.md/Reference/TypeScript+API/NullValue)

toString

Not found

This page does not exist

Interactive graph

On this page

NullValue.toString() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Notice/hide
----

hide

====

    aliases: "Notice.hide"

    cssclasses: hide-title

[`Notice`](https://docs.obsidian.md/Reference/TypeScript+API/Notice) › [`hide`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/hide)

Notice.hide() method

--------------------

0.9.7

**Signature:**

    hide(): void;

**Returns:**

`void`

Links to this page

[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)

hide

Not found

This page does not exist

Interactive graph

On this page

Notice.hide() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/getScrollInfo
----

getScrollInfo

=============

    aliases: "Editor.getScrollInfo"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`getScrollInfo`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getScrollInfo)

Editor.getScrollInfo() method

-----------------------------

0.11.11

**Signature:**

    abstract getScrollInfo(): {

            top: number;

            left: number;

        };

**Returns:**

`{ top: number; left: number; }`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

getScrollInfo

Not found

This page does not exist

Interactive graph

On this page

Editor.getScrollInfo() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EventRef
----

EventRef

Not found

This page does not exist

Interactive graph

On this page

EventRef interface

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax
----

loadMathJax

===========

    aliases: "loadMathJax"

    cssclasses: hide-title

[`loadMathJax`](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)

loadMathJax() function

----------------------

Load MathJax.

**Signature:**

    export function loadMathJax(): Promise<void>;

**Returns:**

`Promise<void>`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

loadMathJax

Not found

This page does not exist

Interactive graph

On this page

loadMathJax() function

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent
----

ToggleComponent

===============

    aliases: "ToggleComponent"

    cssclasses: hide-title

[`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

ToggleComponent class

---------------------

0.9.7

**Signature:**

    export class ToggleComponent extends ValueComponent<boolean> 

**Extends:** [`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)`<boolean>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/\(constructor\))

0.9.7

Properties

----------

[`toggleEl`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/toggleEl)

`HTMLElement`

0.9.7

Methods

-------

Method

Modifiers

Description

[`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/getValue)

0.9.7

[`onChange(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/onChange)

0.9.7

[`onClick()`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/onClick)

0.9.7

[`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

0.9.7

(Inherited from [ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent))

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setDisabled)

1.2.3

[`setTooltip(tooltip, options)`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setTooltip)

1.1.1

[`setValue(on)`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setValue)

0.9.7

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/\(constructor\))

[addToggle](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addToggle)

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/getValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onChange](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/onChange)

[onClick](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/onClick)

[setDisabled](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setDisabled)

[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setTooltip)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setValue)

[toggleEl](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/toggleEl)

ToggleComponent

Not found

This page does not exist

Interactive graph

On this page

ToggleComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ViewState/active
----

active

======

    aliases: "ViewState.active"

    cssclasses: hide-title

[`ViewState`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState) › [`active`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/active)

ViewState.active property

-------------------------

**Signature:**

    active?: boolean;

Links to this page

[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)

active

Not found

This page does not exist

Interactive graph

On this page

ViewState.active property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesView/allProperties
----

allProperties

=============

    aliases: "BasesView.allProperties"

    cssclasses: hide-title

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView) › [`allProperties`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/allProperties)

BasesView.allProperties property

--------------------------------

All available properties from the dataset.

1.10.0

**Signature:**

    allProperties: BasesPropertyId[];

Links to this page

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

allProperties

Not found

This page does not exist

Interactive graph

On this page

BasesView.allProperties property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/(constructor)
----

(constructor)

=============

    aliases: "SearchComponent.(constructor)"

    cssclasses: hide-title

[`SearchComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/\(constructor\))

SearchComponent.(constructor)

-----------------------------

Constructs a new instance of the `SearchComponent` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

SearchComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData
----

WorkspaceWindowInitData

=======================

    aliases: "WorkspaceWindowInitData"

    cssclasses: hide-title

[`WorkspaceWindowInitData`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)

WorkspaceWindowInitData interface

---------------------------------

**Signature:**

    export interface WorkspaceWindowInitData 

Properties

----------

Property

Modifiers

Type

Description

[`size?`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/size)

`{ width: number; height: number; }`

_(Optional)_ The suggested size

[`x?`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/x)

`number`

_(Optional)_

[`y?`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/y)

`number`

_(Optional)_

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[moveLeafToPopout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/moveLeafToPopout)

[openPopoutLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openPopoutLeaf)

[size](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/size)

[x](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/x)

[y](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/y)

WorkspaceWindowInitData

Not found

This page does not exist

Interactive graph

On this page

WorkspaceWindowInitData interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/rename
----

rename

======

    aliases: "FileSystemAdapter.rename"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`rename`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/rename)

FileSystemAdapter.rename() method

---------------------------------

**Signature:**

    rename(normalizedPath: string, normalizedNewPath: string): Promise<void>;

Parameters

----------

rename

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.rename() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/clear
----

clear

=====

    aliases: "MarkdownEditView.clear"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView) › [`clear`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/clear)

MarkdownEditView.clear() method

-------------------------------

**Signature:**

    clear(): void;

**Returns:**

`void`

clear

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView.clear() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('file-open')
----

on('file-open')

===============

    aliases: "Workspace.on('file-open')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('file-open')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('file-open'\))

Workspace.on('file-open') method

--------------------------------

Triggered when the active file changes. The file could be in a new leaf, an existing leaf, or an embed.

0.10.9

**Signature:**

    on(name: 'file-open', callback: (file: TFile | null) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'file-open'`

`callback`

`(file:` [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) `| null) => any`

on('file-open')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('file-open') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Value/equals
----

equals

======

    aliases: "Value.equals"

    cssclasses: hide-title

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value) › [`equals`](https://docs.obsidian.md/Reference/TypeScript+API/Value/equals)

Value.equals() method

---------------------

1.10.0

**Signature:**

    static equals(a: Value | null, b: Value | null): boolean;

Parameters

----------

equals

Not found

This page does not exist

Interactive graph

On this page

Value.equals() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/read
----

read

====

    aliases: "CapacitorAdapter.read"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`read`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/read)

CapacitorAdapter.read() method

------------------------------

1.7.2

**Signature:**

    read(normalizedPath: string): Promise<string>;

Parameters

----------

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

read

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.read() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addDropdown
----

addDropdown

===========

    aliases: "Setting.addDropdown"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addDropdown`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addDropdown)

Setting.addDropdown() method

----------------------------

0.9.7

**Signature:**

    addDropdown(cb: (component: DropdownComponent) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(component:` [`DropdownComponent`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)`) => any`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

addDropdown

Not found

This page does not exist

Interactive graph

On this page

Setting.addDropdown() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setTitle
----

setTitle

========

    aliases: "MenuItem.setTitle"

    cssclasses: hide-title

[`MenuItem`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem) › [`setTitle`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setTitle)

MenuItem.setTitle() method

--------------------------

**Signature:**

    setTitle(title: string | DocumentFragment): this;

Parameters

----------

Parameter

Type

Description

`title`

`string |` `DocumentFragment`

**Returns:**

`this`

Links to this page

[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)

setTitle

Not found

This page does not exist

Interactive graph

On this page

MenuItem.setTitle() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/append
----

append

======

    aliases: "FileSystemAdapter.append"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`append`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/append)

FileSystemAdapter.append() method

---------------------------------

**Signature:**

    append(normalizedPath: string, data: string, options?: DataWriteOptions): Promise<void>;

Parameters

----------

append

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.append() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesView/app
----

app

===

    aliases: "BasesView.app"

    cssclasses: hide-title

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView) › [`app`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/app)

BasesView.app property

----------------------

1.10.0

**Signature:**

    app: App;

Links to this page

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

app

Not found

This page does not exist

Interactive graph

On this page

BasesView.app property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DateValue/parseFromString
----

parseFromString

===============

    aliases: "DateValue.parseFromString"

    cssclasses: hide-title

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue) › [`parseFromString`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/parseFromString)

DateValue.parseFromString() method

----------------------------------

Create new DateValue from an input string.

**Signature:**

    static parseFromString(input: string): DateValue | null;

Parameters

----------

Parameter

Type

Description

`input`

`string`

An ISO 8601 date or datetime string.

1.10.0

**Returns:**

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue) `| null`

Example

-------

parseFromString("2025-12-31") parseFromString("2025-12-31T23:59") parseFromString("2025-12-31T23:59:59") parseFromString("2025-12-31T23:59:59Z-07")

Links to this page

[DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[RelativeDateValue](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue)

parseFromString

Not found

This page does not exist

Interactive graph

On this page

DateValue.parseFromString() method

Parameters

Example

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setTooltip
----

setTooltip

==========

    aliases: "ExtraButtonComponent.setTooltip"

    cssclasses: hide-title

[`ExtraButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent) › [`setTooltip`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setTooltip)

ExtraButtonComponent.setTooltip() method

----------------------------------------

1.1.0

**Signature:**

    setTooltip(tooltip: string, options?: TooltipOptions): this;

Parameters

----------

[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)

setTooltip

Not found

This page does not exist

Interactive graph

On this page

ExtraButtonComponent.setTooltip() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Scope/(constructor)
----

(constructor)

=============

    aliases: "Scope.(constructor)"

    cssclasses: hide-title

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/Scope/\(constructor\))

Scope.(constructor)

-------------------

Constructs a new instance of the `Scope` class

**Signature:**

    constructor(parent?: Scope);

Parameters

----------

Parameter

Type

Description

`parent`

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope)

_(Optional)_

Links to this page

[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

Scope.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addText
----

addText

=======

    aliases: "Setting.addText"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addText`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addText)

Setting.addText() method

------------------------

0.9.7

**Signature:**

    addText(cb: (component: TextComponent) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(component:` [`TextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)`) => any`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

addText

Not found

This page does not exist

Interactive graph

On this page

Setting.addText() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache
----

ReferenceLinkCache

==================

    aliases: "ReferenceLinkCache"

    cssclasses: hide-title

[`ReferenceLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)

ReferenceLinkCache interface

----------------------------

1.8.7

**Signature:**

    export interface ReferenceLinkCache extends CacheItem 

**Extends:** [`CacheItem`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

Properties

----------

Property

Modifiers

Type

Description

[`id`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache/id)

`string`

[`link`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache/link)

[id](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache/id)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[link](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache/link)

ReferenceLinkCache

Not found

This page does not exist

Interactive graph

On this page

ReferenceLinkCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/splitActiveLeaf
----

splitActiveLeaf

===============

    aliases: "Workspace.splitActiveLeaf"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`splitActiveLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/splitActiveLeaf)

Workspace.splitActiveLeaf() method

----------------------------------

> Warning: This API is now obsolete.

> 

> *   You should use [| getLeaf(true)](https://docs.obsidian.md/obsidian.workspace.getleaf_1) instead which does the same thing. 0.9.7

**Signature:**

    splitActiveLeaf(direction?: SplitDirection): WorkspaceLeaf;

Parameters

----------

Parameter

Type

Description

`direction`

[`SplitDirection`](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)

_(Optional)_

**Returns:**

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

splitActiveLeaf

Not found

This page does not exist

Interactive graph

On this page

Workspace.splitActiveLeaf() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/setValue
----

setValue

========

    aliases: "AbstractInputSuggest.setValue"

    cssclasses: hide-title

[`AbstractInputSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/setValue)

AbstractInputSuggest.setValue() method

--------------------------------------

Sets the value into the input element.

1.4.10

**Signature:**

    setValue(value: string): void;

Parameters

----------

Parameter

Type

Description

`value`

`string`

**Returns:**

`void`

Links to this page

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

setValue

Not found

This page does not exist

Interactive graph

On this page

AbstractInputSuggest.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins
----

Submission requirements for plugins

===================================

This page lists extends the [Developer policies](https://docs.obsidian.md/Developer+policies) with plugin-specific requirements that all plugins must follow to be published.

Only use `fundingUrl` to link to services for financial support

---------------------------------------------------------------

Use [fundingUrl](https://docs.obsidian.md/Reference/Manifest#fundingUrl) if you accept financial support for your plugin, using services like Buy Me A Coffee or GitHub Sponsors.

If you don't accept donations, remove `fundingUrl` from your manifest.

Set an appropriate `minAppVersion`

----------------------------------

The `minAppVersion` in the [Manifest](https://docs.obsidian.md/Reference/Manifest) should be set to the minimum required version of the Obsidian app that your plugin is compatible with.  

If you don't know what an appropriate version number is, use the latest stable build number.

Keep plugin descriptions short and simple

-----------------------------------------

Good plugin descriptions help users understand your plugin quickly and succinctly. Good descriptions often start with an action statement such as:

*   "Translate selected text into..."

*   "Generate notes automatically from..."

*   "Import notes from..."

*   "Sync highlights and annotations from..."

*   "Open links in..."

Avoid starting your description with "This is a plugin", because it'll be obvious to users in the context of the Community Plugins directory.

Your description should:

*   Follow the [Obsidian style guide](https://help.obsidian.md/Contributing+to+Obsidian/Style+guide).

*   Have 250 characters maximum.

*   End with a period `.`.

*   Avoid using emoji or special characters.

*   Use correct capitalization for acronyms, proper nouns and trademarks such as "Obsidian", "Markdown", "PDF". If you are not sure how to capitalize a term, refer to its website or Wikipedia description.

Node.js and Electron APIs are only allowed on desktop

-----------------------------------------------------

The Node.js and Electron APIs are only available in the desktop version of Obsidian. For example, Node.js packages like `fs`, `crypto`, and `os`, are only available on desktop.

If your plugin uses any of these APIs, you **must** set `isDesktopOnly` to `true` in the `manifest.json`.

Tip

Many Node.js features have Web API alternatives:

*   [`SubtleCrypto`](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto) instead of [`crypto`](https://nodejs.org/api/crypto.html).

*   `navigator.clipboard.readText()` and `navigator.clipboard.writeText()` to access clipboard contents.

Don't include the plugin ID in the command ID

---------------------------------------------

Obsidian automatically prefixes command IDs with your plugin ID.  

You don't need to include the plugin ID yourself.

Remove all the sample code

--------------------------

The sample plugin includes examples how to do many of the most common things a plugin requires.  

It's only there to get you started, sample code should be removed from your plugin before submission.

Links to this page

[Developer policies](https://docs.obsidian.md/Developer+policies)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[Submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin)

Submission requirements for plugins

Not found

This page does not exist

Interactive graph

On this page

Only use fundingUrl to link to services for financial support

Set an appropriate minAppVersion

Keep plugin descriptions short and simple

Node.js and Electron APIs are only allowed on desktop

Don't include the plugin ID in the command ID

Remove all the sample code

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerBasesView
----

registerBasesView

=================

    aliases: "Plugin.registerBasesView"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`registerBasesView`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerBasesView)

Plugin.registerBasesView() method

---------------------------------

Register a Base view handler that can be used to render data from property queries.

**Signature:**

    registerBasesView(viewId: string, registration: BasesViewRegistration): boolean;

Parameters

----------

Parameter

Type

Description

`viewId`

`string`

`registration`

[`BasesViewRegistration`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration)

**Returns:**

`boolean`

false if bases are not enabled in this vault.

1.10.0

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

registerBasesView

Not found

This page does not exist

Interactive graph

On this page

Plugin.registerBasesView() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/name
----

name

====

    aliases: "BasesViewConfig.name"

    cssclasses: hide-title

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig) › [`name`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/name)

BasesViewConfig.name property

-----------------------------

User-friendly name for this view.

1.10.0

**Signature:**

    name: string;

Links to this page

[BasesViewConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

name

Not found

This page does not exist

Interactive graph

On this page

BasesViewConfig.name property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/path
----

path

====

    aliases: "TAbstractFile.path"

    cssclasses: hide-title

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile) › [`path`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/path)

TAbstractFile.path property

---------------------------

0.9.7

**Signature:**

    path: string;

Links to this page

[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)

path

Not found

This page does not exist

Interactive graph

On this page

TAbstractFile.path property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/(constructor)
----

(constructor)

=============

    aliases: "AbstractTextComponent.(constructor)"

    cssclasses: hide-title

[`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/\(constructor\))

AbstractTextComponent.(constructor)

-----------------------------------

Constructs a new instance of the `AbstractTextComponent` class

**Signature:**

    constructor(inputEl: T);

Parameters

----------

Parameter

Type

Description

`inputEl`

`T`

Links to this page

[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

AbstractTextComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command/repeatable
----

repeatable

==========

    aliases: "Command.repeatable"

    cssclasses: hide-title

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command) › [`repeatable`](https://docs.obsidian.md/Reference/TypeScript+API/Command/repeatable)

Command.repeatable property

---------------------------

Whether holding the hotkey should repeatedly trigger this command.

**Signature:**

    repeatable?: boolean;

Links to this page

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

repeatable

Not found

This page does not exist

Interactive graph

On this page

Command.repeatable property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/detach
----

detach

======

    aliases: "WorkspaceLeaf.detach"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`detach`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/detach)

WorkspaceLeaf.detach() method

-----------------------------

**Signature:**

    detach(): void;

**Returns:**

`void`

Links to this page

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

detach

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.detach() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getMostRecentLeaf
----

getMostRecentLeaf

=================

    aliases: "Workspace.getMostRecentLeaf"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`getMostRecentLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getMostRecentLeaf)

Workspace.getMostRecentLeaf() method

------------------------------------

Get the most recently active leaf in a given workspace root. Useful for interacting with the leaf in the root split while a sidebar leaf might be active.

**Signature:**

    getMostRecentLeaf(root?: WorkspaceParent): WorkspaceLeaf | null;

Parameters

----------

Parameter

Type

Description

`root`

[`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

_(Optional)_ Root for the leaves you want to search. If a root is not provided, the `rootSplit` and leaves within pop-outs will be searched.

0.15.4

**Returns:**

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) `| null`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

getMostRecentLeaf

Not found

This page does not exist

Interactive graph

On this page

Workspace.getMostRecentLeaf() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/setCloseCallback
----

setCloseCallback

================

    aliases: "Modal.setCloseCallback"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`setCloseCallback`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setCloseCallback)

Modal.setCloseCallback() method

-------------------------------

1.10.0

**Signature:**

    setCloseCallback(callback: () => any): this;

Parameters

----------

Parameter

Type

Description

`callback`

`() => any`

**Returns:**

`this`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

setCloseCallback

Not found

This page does not exist

Interactive graph

On this page

Modal.setCloseCallback() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/removeIcon
----

removeIcon

==========

    aliases: "removeIcon"

    cssclasses: hide-title

[`removeIcon`](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)

removeIcon() function

---------------------

Remove a custom icon from the library.

**Signature:**

    export function removeIcon(iconId: string): void;

Parameters

----------

`void`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

removeIcon

Not found

This page does not exist

Interactive graph

On this page

removeIcon() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext
----

KeymapContext

=============

    aliases: "KeymapContext"

    cssclasses: hide-title

[`KeymapContext`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)

KeymapContext interface

-----------------------

**Signature:**

    export interface KeymapContext extends KeymapInfo 

**Extends:** [`KeymapInfo`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)

Properties

----------

[`vkey`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext/vkey)

`string`

Interpreted virtual key.

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)

[vkey](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext/vkey)

KeymapContext

Not found

This page does not exist

Interactive graph

On this page

KeymapContext interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/placement
----

placement

=========

    aliases: "TooltipOptions.placement"

    cssclasses: hide-title

[`TooltipOptions`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions) › [`placement`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/placement)

TooltipOptions.placement property

---------------------------------

**Signature:**

    placement?: TooltipPlacement;

Links to this page

[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)

placement

Not found

This page does not exist

Interactive graph

On this page

TooltipOptions.placement property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/getViewType
----

getViewType

Not found

This page does not exist

Interactive graph

On this page

View.getViewType() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAbstractFileByPath
----

getAbstractFileByPath

=====================

    aliases: "Vault.getAbstractFileByPath"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`getAbstractFileByPath`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAbstractFileByPath)

Vault.getAbstractFileByPath() method

------------------------------------

Get a file or folder inside the vault at the given path. To check if the return type is a file, use `instanceof TFile`. To check if it is a folder, use `instanceof TFolder`.

**Signature:**

    getAbstractFileByPath(path: string): TAbstractFile | null;

Parameters

----------

Parameter

Type

Description

`path`

`string`

vault absolute path to the folder or file, with extension, case sensitive.

**Returns:**

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile) `| null`

the abstract file, if it's found.

0.11.11

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

[exists](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/exists)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

getAbstractFileByPath

Not found

This page does not exist

Interactive graph

On this page

Vault.getAbstractFileByPath() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner
----

ISuggestOwner

Not found

This page does not exist

Interactive graph

On this page

ISuggestOwner interface

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/view
----

view

====

    aliases: "WorkspaceLeaf.view"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`view`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/view)

WorkspaceLeaf.view property

---------------------------

The view associated with this leaf. Do not attempt to cast this to your custom `View` without first checking `instanceof`.

**Signature:**

    view: View;

Links to this page

[open](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/open)

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

view

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.view property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView
----

MarkdownSubView

===============

    aliases: "MarkdownSubView"

    cssclasses: hide-title

[`MarkdownSubView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)

MarkdownSubView interface

-------------------------

**Signature:**

    export interface MarkdownSubView 

Methods

-------

Method

Description

[`applyScroll(scroll)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/applyScroll)

[`get()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/get)

[`getScroll()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/getScroll)

[`set(data, clear)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/set)

Links to this page

[applyScroll](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/applyScroll)

[get](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/get)

[getScroll](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/getScroll)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[set](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/set)

MarkdownSubView

Not found

This page does not exist

Interactive graph

On this page

MarkdownSubView interface

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/exec
----

exec

====

    aliases: "Editor.exec"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`exec`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/exec)

Editor.exec() method

--------------------

0.12.2

**Signature:**

    abstract exec(command: EditorCommandName): void;

Parameters

----------

Parameter

Type

Description

`command`

[`EditorCommandName`](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

exec

Not found

This page does not exist

Interactive graph

On this page

Editor.exec() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/type
----

type

====

    aliases: "BasesOption.type"

    cssclasses: hide-title

[`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/type)

BasesOption.type property

-------------------------

1.10.0

**Signature:**

    type: string;

Links to this page

[BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

type

Not found

This page does not exist

Interactive graph

On this page

BasesOption.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValueHsl
----

getValueHsl

===========

    aliases: "ColorComponent.getValueHsl"

    cssclasses: hide-title

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent) › [`getValueHsl`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValueHsl)

ColorComponent.getValueHsl() method

-----------------------------------

1.0.0

**Signature:**

    getValueHsl(): HSL;

**Returns:**

[`HSL`](https://docs.obsidian.md/Reference/TypeScript+API/HSL)

Links to this page

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

getValueHsl

Not found

This page does not exist

Interactive graph

On this page

ColorComponent.getValueHsl() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/body
----

body

====

    aliases: "RequestUrlParam.body"

    cssclasses: hide-title

[`RequestUrlParam`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam) › [`body`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/body)

RequestUrlParam.body property

-----------------------------

**Signature:**

    body?: string | ArrayBuffer;

Links to this page

[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)

body

Not found

This page does not exist

Interactive graph

On this page

RequestUrlParam.body property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest
----

EditorSuggest

=============

    aliases: "EditorSuggest"

    cssclasses: hide-title

[`EditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

EditorSuggest class

-------------------

0.12.17

**Signature:**

    export abstract class EditorSuggest<T> extends PopoverSuggest<T> 

**Extends:** [`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)`<T>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(app)`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/\(constructor\))

Constructs a new instance of the `EditorSuggest` class

Properties

----------

[`context`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/context)

[`EditorSuggestContext`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext) `| null`

Current suggestion context, containing the result of `onTrigger`. This will be null any time the EditorSuggest is not supposed to run.

0.12.17

[`limit`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/limit)

`number`

Override this to use a different limit for suggestion items

0.12.17

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope)

(Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest))

Methods

-------

Method

Modifiers

Description

[`close()`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/close)

(Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest))

[`getSuggestions(context)`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/getSuggestions)

`abstract`

Generate suggestion items based on this context. Can be async, but preferably sync. When generating async suggestions, you should pass the context along.

0.12.17

[`onTrigger(cursor, editor, file)`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/onTrigger)

`abstract`

Based on the editor line and cursor position, determine if this EditorSuggest should be triggered at this moment. Typically, you would run a regular expression on the current line text before the cursor. Return null to indicate that this editor suggest is not supposed to be triggered.

Please be mindful of performance when implementing this function, as it will be triggered very often (on each keypress). Keep it simple, and return null as early as possible if you determine that it is not the right time.

1.1.13

[`open()`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/open)

(Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest))

[`renderSuggestion(value, el)`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/renderSuggestion)

`abstract`

(Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest))

[`selectSuggestion(value, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/selectSuggestion)

`abstract`

(Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest))

[`setInstructions(instructions)`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/setInstructions)

0.13.0

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/\(constructor\))

[context](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/context)

[getSuggestions](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/getSuggestions)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[limit](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/limit)

[onTrigger](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/onTrigger)

[registerEditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorSuggest)

[setInstructions](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/setInstructions)

EditorSuggest

Not found

This page does not exist

Interactive graph

On this page

EditorSuggest class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases
----

parseFrontMatterAliases

Not found

This page does not exist

Interactive graph

On this page

parseFrontMatterAliases() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ItemView/contentEl
----

contentEl

=========

    aliases: "ItemView.contentEl"

    cssclasses: hide-title

[`ItemView`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView) › [`contentEl`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/contentEl)

ItemView.contentEl property

---------------------------

**Signature:**

    contentEl: HTMLElement;

Links to this page

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

contentEl

Not found

This page does not exist

Interactive graph

On this page

ItemView.contentEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/frontmatter
----

frontmatter

===========

    aliases: "FrontMatterInfo.frontmatter"

    cssclasses: hide-title

[`FrontMatterInfo`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo) › [`frontmatter`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/frontmatter)

FrontMatterInfo.frontmatter property

------------------------------------

String representation of the frontmatter

**Signature:**

    frontmatter: string;

Links to this page

[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)

frontmatter

Not found

This page does not exist

Interactive graph

On this page

FrontMatterInfo.frontmatter property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/updateSample
----

updateSample

============

    aliases: "MomentFormatComponent.updateSample"

    cssclasses: hide-title

[`MomentFormatComponent`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent) › [`updateSample`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/updateSample)

MomentFormatComponent.updateSample() method

-------------------------------------------

0.9.7

**Signature:**

    updateSample(): void;

**Returns:**

`void`

Links to this page

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

updateSample

Not found

This page does not exist

Interactive graph

On this page

MomentFormatComponent.updateSample() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFolderByPath
----

getFolderByPath

===============

    aliases: "Vault.getFolderByPath"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`getFolderByPath`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFolderByPath)

Vault.getFolderByPath() method

------------------------------

Get a folder inside the vault at the given path. Returns `null` if the folder does not exist.

**Signature:**

    getFolderByPath(path: string): TFolder | null;

Parameters

----------

[`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder) `| null`

Links to this page

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

getFolderByPath

Not found

This page does not exist

Interactive graph

On this page

Vault.getFolderByPath() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/writeBinary
----

writeBinary

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.writeBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('deleted')
----

on('deleted')

=============

    aliases: "MetadataCache.on('deleted')"

    cssclasses: hide-title

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache) › [on('deleted')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('deleted'\))

MetadataCache.on('deleted') method

----------------------------------

Called when a file has been deleted. A best-effort previous version of the cached metadata is presented, but it could be null in case the file was not successfully cached previously.

**Signature:**

    on(name: 'deleted', callback: (file: TFile, prevCache: CachedMetadata | null) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'deleted'`

`callback`

`(file:` [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)`, prevCache:` [`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) `| null) => any`

on('deleted')

Not found

This page does not exist

Interactive graph

On this page

MetadataCache.on('deleted') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/(constructor)
----

(constructor)

=============

    aliases: "ColorComponent.(constructor)"

    cssclasses: hide-title

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/\(constructor\))

ColorComponent.(constructor)

----------------------------

Constructs a new instance of the `ColorComponent` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

ColorComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/applyScroll
----

applyScroll

===========

    aliases: "MarkdownEditView.applyScroll"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView) › [`applyScroll`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/applyScroll)

MarkdownEditView.applyScroll() method

-------------------------------------

**Signature:**

    applyScroll(scroll: number): void;

Parameters

----------

Links to this page

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

applyScroll

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView.applyScroll() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getMode
----

getMode

=======

    aliases: "MarkdownView.getMode"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) › [`getMode`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getMode)

MarkdownView.getMode() method

-----------------------------

**Signature:**

    getMode(): MarkdownViewModeType;

**Returns:**

[`MarkdownViewModeType`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

getMode

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.getMode() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/containerEl
----

containerEl

===========

    aliases: "MarkdownPreviewView.containerEl"

    cssclasses: hide-title

[`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView) › [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/containerEl)

MarkdownPreviewView.containerEl property

----------------------------------------

**Signature:**

    containerEl: HTMLElement;

Links to this page

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

containerEl

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewView.containerEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Themes/App+themes/Embed+fonts+and+images+in+your+theme
----

Embed fonts and images in your theme

====================================

Learn how to include assets, such as fonts and images, in your theme.

Loading remote content

For Obsidian to work offline and to preserve user privacy, themes [aren't allowed](https://docs.obsidian.md/Developer+policies) to load remote content over the network. For more information, refer to [Theme guidelines > Keep resources local](https://docs.obsidian.md/Themes/App+themes/Theme+guidelines#Keep resources local)

Use data URLs

-------------

To include assets such as fonts, icons, and images in your theme, you need to _embed_ them in the CSS file by passing a [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs) to the [url()](https://developer.mozilla.org/en-US/docs/Web/CSS/url) function.

To create a data URL for your assets, create a URL using the following format:

    url("data:<MIME_TYPE>;base64,<BASE64_DATA>")

*   Replace `<MIME_TYPE>` with the MIME type for your asset. If you don't know it, refer to [Common MIME types](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types).

*   Replace `<BASE64_DATA>` with the [Base64](https://en.wikipedia.org/wiki/Base64) encoded representation of your asset.

The following example embeds a GIF file as a background image:

    h1 {

      background-image: url("data:image/gif;base64,R0lGODdhAQADAPABAP////8AACwAAAAAAQADAAACAgxQADs=")

    }

Encode your assets

------------------

For instructions on how to encode an asset into base64, refer to [Encoding data into base64 format](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs#encoding_data_into_base64_format).

You can also use one of the many free online tools for encoding.

For fonts:

*   [Woff2Base](https://hellogreg.github.io/woff2base/) for WOFF2 font files

*   [Aspose](https://products.aspose.app/font/base64) supports a wide variety of font formats

For images:

*   [WebSemantics](https://websemantics.uk/tools/image-to-data-uri-converter/) converts JPEG, JPG, GIF, PNG, SVG

*   [Base64 Guru](https://base64.guru/converter/encode/image) supports a wide variety of image formats

*   [Yoksel URL-encoder for SVG](https://yoksel.github.io/url-encoder/) optimized for SVG files

Consider file size

------------------

Embedding assets increases the file size of your theme, which may lead to poor performance in the following situations:

*   Downloading and updating your theme from the community theme directory.

*   Loading and using your theme in the Obsidian app.

*   Editing your theme in a code editor. Consider breaking up your theme into multiple files using a CSS preprocessor, such as [Sass](https://sass-lang.com/) or [Less](https://lesscss.org/).

Links to this page

[Developer policies](https://docs.obsidian.md/Developer+policies)

[Theme guidelines](https://docs.obsidian.md/Themes/App+themes/Theme+guidelines)

Embed fonts and images in your theme

Not found

This page does not exist

Interactive graph

On this page

Use data URLs

Encode your assets

Consider file size

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines
----

Plugin guidelines

=================

This page lists common review comments plugin authors get when submitting their plugin.

While the guidelines on this page are recommendations, depending on their severity, we may still require you to address any violations.

Policies for plugin developers

Make sure that you've read our [Developer policies](https://docs.obsidian.md/Developer+policies) as well as the [Submission requirements for plugins](https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins).

General

-------

### Avoid using global app instance

Avoid using the global app object, `app` (or `window.app`). Instead, use the reference provided by your plugin instance, `this.app`.

The global app object is intended for debugging purposes and might be removed in the future.

### Avoid unnecessary logging to console

Please avoid unnecessary logging.  

In it's default configuration, the developer console should only show error messages, debug messages should not be shown.

### Consider organizing your code base using folders

If your plugin uses more than one `.ts` file, consider organizing them into folders to make it easier to review and maintain.

### Rename placeholder class names

The sample plugin contains placeholder names for common classes, such as `MyPlugin`, `MyPluginSettings`, and `SampleSettingTab`. Rename these to reflect the name of your plugin.

Mobile

------

### Node and Electron APIs

The Node.js API, and the Electron API aren't available on mobile devices. Any calls to these libraries made by your plugin or it's dependencies can cause your plugin to crash.

### Lookbehind in regular expressions

Lookbehind in regular expressions is only supported on iOS 16.4 and above, and some iPhone and iPad users may still use earlier versions. To implement a fallback for iOS users, either refer to [Platform-specific features](https://docs.obsidian.md/Plugins/Getting+started/Mobile+development#Platform-specific features), or use a JavaScript library to detect specific browser versions.

Refer to [Can I Use](https://caniuse.com/js-regexp-lookbehind) for more information and exact version statistics. Look for "Safari on iOS".

UI text

-------

This section lists guidelines for formatting text in the user interface, such as settings, commands, and buttons.

The example below from **Settings → Appearance** demonstrates the guidelines for text in the user interface.

1.  [General settings are at the top and don't have a heading](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Only use headings under settings if you have more than one section.).

2.  [Section headings don't have "settings" in the heading text](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Avoid "settings" in settings headings).

3.  [Use Sentence case in UI](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Use Sentence case in UI).

For more information on writing and formatting text for Obsidian, refer to our [Style guide](https://help.obsidian.md/Contributing+to+Obsidian/Style+guide).

### Only use headings under settings if you have more than one section.

Avoid adding a top-level heading in the settings tab, such as "General", "Settings", or the name of your plugin.

If you have more than one section under settings, and one contains general settings, keep them at the top without adding a heading.

For example, look at the settings under **Settings → Appearance**.

### Avoid "settings" in settings headings

In the settings tab, you can add headings to organize settings. Avoid including the word "settings" to these headings. Since everything in under the settings tab is settings, repeating it for every heading becomes redundant.

*   Prefer "Advanced" over "Advanced settings".

*   Prefer "Templates" over "Settings for templates".

### Use sentence case in UI

Any text in UI elements should be using [Sentence case](https://en.wiktionary.org/wiki/sentence_case) instead of [Title Case](https://en.wikipedia.org/wiki/Title_case), where only the first word in a sentence, and proper nouns, should be capitalized.

*   Prefer "Template folder location" over "Template Folder Location".

*   Prefer "Create new note" over "Create New Note".

### Use `setHeading` instead of a `<h1>`, `<h2>`

Using the heading elements from HTML will result in inconsistent styling between different plugins.  

Instead you should prefer the following:

    new Setting(containerEl).setName('your heading title').setHeading();

Security

--------

### Avoid `innerHTML`, `outerHTML` and `insertAdjacentHTML`

Building DOM elements from user-defined input, using `innerHTML`, `outerHTML` and `insertAdjacentHTML` can pose a security risk.

The following example builds a DOM element using a string that contains user input, `${name}`. `name` can contain other DOM elements, such as `<script>alert()</script>`, and can allow a potential attacker to execute arbitrary code on the user's computer.

    function showName(name: string) {

      let containerElement = document.querySelector('.my-container');

      // DON'T DO THIS

      containerElement.innerHTML = `<div class="my-class"><b>Your name is: </b>${name}</div>`;

    }

Instead, use the DOM API or the Obsidian helper functions, such as `createEl()`, `createDiv()` and `createSpan()` to build the DOM element programmatically. For more information, refer to [HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements).

To cleanup a HTML elements contents use `el.empty();`

Resource management

-------------------

### Clean up resources when plugin unloads

Any resources created by the plugin, such as event listeners, must be destroyed or released when the plugin unloads.

When possible, use methods like [registerEvent()](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) or [addCommand()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addCommand) to automatically clean up resources when the plugin unloads.

    export default class MyPlugin extends Plugin {

      onload() {

        this.registerEvent(this.app.vault.on('create', this.onCreate));

      }

      onCreate: (file: TAbstractFile) => {

        // ...

      }

    }

Note

You don't need to clean up resources that are guaranteed to be removed when your plugin unloads. For example, if you register a `mouseenter` listener on a DOM element, the event listener will be garbage-collected when the element goes out of scope.

### Don't detach leaves in `onunload`

When the user updates your plugin, any open leaves will be reinitialized at their original position, regardless of where the user had moved them.

Commands

--------

### Avoid setting a default hotkey for commands

Setting a default hotkey may lead to conflicts between plugins and may override hotkeys that the user has already configured.

It's also difficult to choose a default hotkey that is available on all operating systems.

### Use the appropriate callback type for commands

When you add a command in your plugin, use the appropriate callback type.

*   Use `callback` if the command runs unconditionally.

*   Use `checkCallback` if the command only runs under certain conditions.

If the command requires an open and active Markdown editor, use `editorCallback`, or the corresponding `editorCheckCallback`.

Workspace

---------

### Avoid accessing `workspace.activeLeaf` directly

If you want to access the active view, use [getActiveViewOfType()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveViewOfType) instead:

    const view = this.app.workspace.getActiveViewOfType(MarkdownView);

    // getActiveViewOfType will return null if the active view is null, or if it's not a MarkdownView.

    if (view) {

      // ...

    }

If you want to access the editor in the active note, use `activeEditor` instead:

    const editor = this.app.workspace.activeEditor?.editor;

    if (editor) {

        // ...

    }

### Avoid managing references to custom views

Managing references to custom view can cause memory leaks or unintended consequences.

**Don't** do this:

    this.registerView(MY_VIEW_TYPE, () => this.view = new MyCustomView());

Do this instead:

    this.registerView(MY_VIEW_TYPE, () => new MyCustomView());

To access the view from your plugin, use `Workspace.getActiveLeavesOfType()`:

    for (let leaf of app.workspace.getActiveLeavesOfType(MY_VIEW_TYPE)) {

      let view = leaf.view;

      if (view instanceof MyCustomView) {

        // ...

      }

    }

Vault

-----

### Prefer the Editor API instead of `Vault.modify` to the active file

If you want to edit an active note, use the [Editor](https://docs.obsidian.md/Plugins/Editor/Editor) interface instead of [Vault.modify()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify).

Editor maintains information about the active note, such as cursor position, selection, and folded content. When you use [Vault.modify()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify) to edit the note, all that information is lost, which leads to a poor experience for the user.

Editor is also more efficient when making small changes to parts of the note.

### Prefer `Vault.process` instead of `Vault.modify` to modify a file in the background

If you want to edit a note that is not currently opened, use the [Vault.process](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process) function instead of [Vault.modify](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify).

The `process` function modifies the file atomically, which means that your plugin won't run into conflicts with other plugins modifying the same file.

### Prefer `FileManager.processFrontMatter` to modify frontmatter of a note

Instead of extracting the frontmatter of a note, parsing and modifying the YAML manually you should use the [FileManager.processFrontMatter](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/processFrontMatter) function.

`processFrontMatter` runs atomically, so modifying the file will not conflict with other plugins editing the same file.  

It will also ensure a consistent layout of the YAML produced.

### Prefer the Vault API over the Adapter API

Obsidian exposes two APIs for file operations: the Vault API (`app.vault`) and the Adapter API (`app.vault.adapter`).

While the file operations in the Adapter API are often more familiar to many developers, the Vault API has two main advantages over the adapter.

*   **Performance:** The Vault API has a caching layer that can speed up file reads when the file is already known to Obsidian.

*   **Safety:** The Vault API performs file operations serially to avoid any race conditions, for example when reading a file that is being written to at the same time.

### Avoid iterating all files to find a file by its path

This is inefficient, especially for large vaults. Use [Vault.getFileByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFileByPath), [Vault.getFolderByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFolderByPath) or [Vault.getAbstractFileByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAbstractFileByPath) instead.

**Don't** do this:

    this.app.vault.getFiles().find(file => file.path === filePath);

Do this instead:

    const filePath = 'folder/file.md';

    // if you want to get a file

    const file = this.app.vault.getFileByPath(filePath);

    const folderPath = 'folder';

    // or if you want to get a folder

    const folder = this.app.vault.getFolderByPath(folderPath);

If you aren't sure if the path provided is for a folder or a file, use:

    const abstractFile = this.app.vault.getAbstractFileByPath(filePath);

    if (file instanceof TFile) {

    	// it's a file

    }

    if (file instanceof TFolder) {

    	// it's a folder

    }

### Use `normalizePath()` to clean up user-defined paths

Use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) whenever you accept user-defined paths to files or folders in the vault, or when you construct your own paths in the plugin code.

`normalizePath()` takes a path and scrubs it to be safe for the file system and for cross-platform use. This function:

*   Cleans up the use of forward and backward slashes, such as replacing 1 or more of `\` or `/` with a single `/`.

*   Removes leading and trailing forward and backward slashes.

*   Replaces any non-breaking spaces, `\u00A0`, with a regular space.

*   Runs the path through [String.prototype.normalize](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize).

    import { normalizePath } from 'obsidian';

    const pathToPlugin = normalizePath('//my-folder\file');

    // pathToPlugin contains "my-folder/file" not "//my-folder\"

Editor

------

### Change or reconfigure editor extensions

If you want to change or reconfigure an [editor extension](https://docs.obsidian.md/Plugins/Editor/Editor+extensions) after you've registered using [registerEditorExtension()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorExtension), use [updateOptions()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions) to update all editors.

    class MyPlugin extends Plugin {

      private editorExtension: Extension[] = [];

      onload() {

        //...

        this.registerEditorExtension(this.editorExtension);

      }

      updateEditorExtension() {

        // Empty the array while keeping the same reference

        // (Don't create a new array here)

        this.editorExtension.length = 0;

        // Create new editor extension

        let myNewExtension = this.createEditorExtension();

        // Add it to the array

        this.editorExtension.push(myNewExtension);

        // Flush the changes to all editors

        this.app.workspace.updateOptions();

      }

    }

Styling

-------

### No hardcoded styling

**Don't** do this:

    const el = containerEl.createDiv();

    el.style.color = 'white';

    el.style.backgroundColor = 'red';

To make it easy for users to modify the styling of your plugin you should use CSS classes, as hardcoding the styling in the plugin code makes it impossible to modify with themes and snippets.

**Do** this instead:

    const el = containerEl.createDiv({cls: 'warning-container'});

In the plugins CSS add the following:

    .warning-container {

    	color: var(--text-normal);

    	background-color: var(--background-modifier-error);

    }

To make the styling of your plugin consistent with Obsidian and other plugins you should use the [CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables) provided by Obsidian.  

If there is no variable available that fits in your case, you can create your own.

TypeScript

----------

### Prefer `const` and `let` over `var`

For more information, refer to [4 Reasons Why var is Considered Obsolete in Modern JavaScript](https://javascript.plainenglish.io/4-reasons-why-var-is-considered-obsolete-in-modern-javascript-a30296b5f08f).

### Prefer async/await over Promise

Recent versions of JavaScript and TypeScript support the `async` and `await` keywords to run code asynchronously, which allow for more readable code than using Promises.

**Don't** do this:

    function test(): Promise<string | null> {

      return requestUrl('https://example.com')

        .then(res => res.text

        .catch(e => {

          console.log(e);

          return null;

        });

    }

Do this instead:

    async function AsyncTest(): Promise<string | null> {

      try {

        let res = await requestUrl('https://example.com');

        let text = await r.text;

        return text;

      }

      catch (e) {

        console.log(e);

        return null;

      }

    }

Plugin guidelines

Not found

This page does not exist

Interactive graph

On this page

General

Avoid using global app instance

Avoid unnecessary logging to console

Consider organizing your code base using folders

Rename placeholder class names

Mobile

UI text

Only use headings under settings if you have more than one section.

Avoid "settings" in settings headings

Use sentence case in UI

Use setHeading instead of a <h1>, <h2>

Security

Avoid innerHTML, outerHTML and insertAdjacentHTML

Resource management

Clean up resources when plugin unloads

Don't detach leaves in onunload

Commands

Avoid setting a default hotkey for commands

Use the appropriate callback type for commands

Workspace

Avoid accessing workspace.activeLeaf directly

Avoid managing references to custom views

Vault

Prefer the Editor API instead of Vault.modify to the active file

Prefer Vault.process instead of Vault.modify to modify a file in the background

Prefer FileManager.processFrontMatter to modify frontmatter of a note

Prefer the Vault API over the Adapter API

Avoid iterating all files to find a file by its path

Use normalizePath() to clean up user-defined paths

Editor

Change or reconfigure editor extensions

Styling

No hardcoded styling

TypeScript

Prefer const and let over var

Prefer async/await over Promise

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Foundations/Spacing
----

Spacing

=======

    cssclasses:

      - reference

    aliases:

      - Padding

      - Margins

      - Size

Obsidian uses a 4-pixel grid to structure UI elements. By using multiples of 4 for padding and margin, the grid provides convenient ratios for layouts and allows the interface to scale up and down across high and low DPI screens.

To align with the 4-pixel grid, all elements should use the predefined `--size` CSS variables for spacing and dimensions properties.

Each size variable contains two numbers which represent the base and the multiple.

*   `--size-4-1` represents `4px` (4x1)

*   `--size-4-2` represents `8px` (4x2)

*   `--size-4-4` represents `16px` (4x4)

In addition to the 4-pixel grid, Obsidan also provides a set of variables that uses a 2-pixel grid. Use these sparingly and only when you need more fine-grained spacing.

Variable

Default value

`--size-2-1`

`2px`

`--size-2-2`

`4px`

`--size-2-3`

`6px`

`--size-4-1`

`4px`

`--size-4-2`

`8px`

`--size-4-3`

`12px`

`--size-4-4`

`16px`

`--size-4-5`

`20px`

`--size-4-6`

`24px`

`--size-4-8`

`32px`

`--size-4-9`

`36px`

`--size-4-12`

`48px`

`--size-4-16`

`64px`

`--size-4-18`

`72px`

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Spacing

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/filter
----

filter

======

filter

Not found

This page does not exist

Interactive graph

On this page

BasesFolderOption.filter property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Window/Sidebar
----

Sidebar

=======

    cssclasses: reference

This page lists CSS variables for the [Sidebar](https://help.obsidian.md/User+interface/Workspace/Sidebar).

CSS variables

-------------

Variable

Description

`--sidebar-markdown-font-size`

Font size for Markdown files in sidebars

`--sidebar-tab-text-display`

`display` property for tab text in sidebars

Sidebar

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-paste')
----

on('editor-paste')

==================

    aliases: "Workspace.on('editor-paste')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('editor-paste')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-paste'\))

Workspace.on('editor-paste') method

-----------------------------------

Triggered when the editor receives a paste event. Check for `evt.defaultPrevented` before attempting to handle this event, and return if it has been already handled. Use `evt.preventDefault()` to indicate that you've handled the event.

1.1.0

**Signature:**

    on(name: 'editor-paste', callback: (evt: ClipboardEvent, editor: Editor, info: MarkdownView | MarkdownFileInfo) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'editor-paste'`

`callback`

`(evt:` `ClipboardEvent``, editor:` [`Editor`](https://docs.obsidian.md/Plugins/Editor/Editor)`, info:` [`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) `|` [`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)`) => any`

on('editor-paste')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('editor-paste') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtMouseEvent
----

showAtMouseEvent

================

    aliases: "Menu.showAtMouseEvent"

    cssclasses: hide-title

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu) › [`showAtMouseEvent`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtMouseEvent)

Menu.showAtMouseEvent() method

------------------------------

0.12.6

**Signature:**

    showAtMouseEvent(evt: MouseEvent): this;

Parameters

----------

Parameter

Type

Description

`evt`

`MouseEvent`

**Returns:**

`this`

Links to this page

[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

showAtMouseEvent

Not found

This page does not exist

Interactive graph

On this page

Menu.showAtMouseEvent() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/Right-to-left
----

Right-to-left

=============

    aliases:

      - RTL

    description: Obsidian supports right-to-left (RTL) languages such as Arabic, Dhivehi, Hebrew, Farsi, Syriac, and Urdu. These languages are spoken by more than 600 million people. When developing plugins and themes for Obsidian it is important consider how your interface changes will adapt to the direction of the language interface and content.

New in Obsidian 1.6

Obsidian 1.6 contains many improvements for right-to-left languages, with mirrored UI and mixed language support. These changes can affect themes and plugins.

Obsidian supports right-to-left (RTL) languages such as Arabic, Dhivehi, Hebrew, Farsi, Syriac, and Urdu. These languages are spoken by more than 600 million people. When developing plugins and themes for Obsidian it is important to consider how your interface changes will adapt to the direction of the language interface and content.

RTL languages can be present in two important contexts within Obsidian: the app interface and the content of notes.

*   **The app interface** is defined by the language selected in Obsidian Settings. If the user selects an RTL language, the app interface is automatically reversed, and a `.mod-rtl` class is added to the `body` element. Also the specific interface language is added to the `lang` attribute on the `html` element.

*   **The content of notes** can be written in left-to-right (LTR) languages, RTL languages, or mix both LTR and RTL languages within the same note. Obsidian automatically detects the direction of the language in the editor and adds the `dir` attribute to each line.

When the user selects an RTL language as their interface language, or sets RTL as the default editor direction in Obsidian settings, the `dir="rtl"` attribute is added to the editor.

Mixed direction support

Be aware that many RTL users choose to use a LTR language for the interface while writing some notes in a RTL language, or mix LTR and RTL languages within the same note.

User expectations for RTL interfaces

------------------------------------

Major operating systems reverse the interface for RTL language users. User interface components provided by the operating system are typically mirrored horizontally. Apps that do not behave this way can feel out of place to RTL users.

The following guides provide a useful reference for designing interfaces that work both LTR and RTL:

Right-to-left

Not found

This page does not exist

Interactive graph

On this page

User expectations for RTL interfaces

Make plugins and themes agnostic of language direction

Use logical properties, avoid directional properties

Use fallback values when necessary

Obsidian CSS helpers and rules for RTL

Selectors for language direction

Global selectors

Editor selectors

Icons are mirrored automatically

Use the direction variable for horizontal calculations

Choose the best bidirectional handling for an element

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache/key
----

[key](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache/key)

FuzzyMatch

FuzzySuggestModal

HeadingCache

HeadingSubpathResult

Hotkey

HoverLinkSource

HoverParent

key

===

    aliases: "FrontmatterLinkCache.key"

    cssclasses: hide-title

[`FrontmatterLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache) › [`key`](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache/key)

FrontmatterLinkCache.key property

---------------------------------

**Signature:**

    key: string;

Links to this page

[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)

key

Not found

This page does not exist

Interactive graph

On this page

FrontmatterLinkCache.key property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit
----

WorkspaceSplit

==============

    aliases: "WorkspaceSplit"

    cssclasses: hide-title

[`WorkspaceSplit`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)

WorkspaceSplit class

--------------------

0.9.7

**Signature:**

    export class WorkspaceSplit extends WorkspaceParent 

**Extends:** [`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

Properties

----------

Property

Modifiers

Type

Description

[`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit/parent)

[`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

Methods

-------

[createLeafInParent](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafInParent)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[parent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit/parent)

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)

[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)

[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)

[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

WorkspaceSplit

Not found

This page does not exist

Interactive graph

On this page

WorkspaceSplit class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DateValue/dateOnly
----

dateOnly

========

    aliases: "DateValue.dateOnly"

    cssclasses: hide-title

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue) › [`dateOnly`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/dateOnly)

DateValue.dateOnly() method

---------------------------

**Signature:**

    dateOnly(): DateValue;

**Returns:**

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

a new DateValue with any time portion in this DateValue removed.

1.10.0

Links to this page

[DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[RelativeDateValue](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue)

dateOnly

Not found

This page does not exist

Interactive graph

On this page

DateValue.dateOnly() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild
----

MarkdownRenderChild

===================

    aliases: "MarkdownRenderChild"

    cssclasses: hide-title

[`MarkdownRenderChild`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)

MarkdownRenderChild class

-------------------------

**Signature:**

    export class MarkdownRenderChild extends Component 

**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/\(constructor\))

Constructs a new instance of the `MarkdownRenderChild` class

Properties

----------

MarkdownRenderChild

Not found

This page does not exist

Interactive graph

On this page

MarkdownRenderChild class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Horizontal+rule
----

Horizontal rule

===============

    cssclasses: reference

This page lists CSS variables for horizontal rules.

CSS variables

-------------

Variable

Description

`--hr-color`

Horizontal rule border color

`--hr-thickness`

Horizontal rule border thickness

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Horizontal rule

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

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

Markdown post processing

========================

Markdown post processing

Not found

This page does not exist

Interactive graph

On this page

Post-process Markdown code blocks

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/setTitle
----

setTitle

========

    aliases: "Modal.setTitle"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`setTitle`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setTitle)

Modal.setTitle() method

-----------------------

**Signature:**

    setTitle(title: string): this;

Parameters

----------

Parameter

Type

Description

`title`

`string`

**Returns:**

`this`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

setTitle

Not found

This page does not exist

Interactive graph

On this page

Modal.setTitle() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Tag
----

Tag

===

    cssclasses: reference

This page lists CSS variables for tags.

CSS variables

-------------

Variable

Description

`--tag-size`

Tag font size

`--tag-color`

Tag text color

`--tag-color-hover`

Tag text color (hover)

`--tag-decoration`

Tag text decoration

`--tag-decoration-hover`

Tag text decoration (hover)

`--tag-background`

Tag background color

`--tag-background-hover`

Tag background color (hover)

`--tag-border-color`

Tag border color

`--tag-border-color-hover`

Tag border color (hover)

`--tag-border-width`

Tag border width

`--tag-padding-x`

Tag left/right padding

`--tag-padding-y`

Tag top/down padding

`--tag-radius`

Tag radius

`--tag-weight`

Tag font weight

Tag

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/readBinary
----

readBinary

==========

    aliases: "Vault.readBinary"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`readBinary`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/readBinary)

Vault.readBinary() method

-------------------------

Read the content of a binary file stored inside the vault.

0.9.7

**Signature:**

    readBinary(file: TFile): Promise<ArrayBuffer>;

Parameters

----------

Parameter

Type

Description

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

**Returns:**

`Promise<``ArrayBuffer``>`

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

readBinary

Not found

This page does not exist

Interactive graph

On this page

Vault.readBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Getting+started/Mobile+development
----

Mobile development

==================

Learn how you can develop your plugin for mobile devices.

Emulate mobile device on desktop

--------------------------------

You can emulate Obsidian running a mobile device directly from the Developer Tools.

1.  Open the **Developer Tools**.

2.  Select the **Console** tab.

3.  Enter the following and then press `Enter`.

        this.app.emulateMobile(true);

To disable mobile emulation, enter the following and press `Enter`:

    this.app.emulateMobile(false);

Tip

To instead toggle mobile emulation back and forth, you can use the `this.app.isMobile` flag:

    this.app.emulateMobile(!this.app.isMobile);

Inspecting the webview on the actual mobile device

--------------------------------------------------

### Android

You can inspect Obsidian running on an Android device if you enable USB Debugging in Developer settings of Android. Then go to a chromium based browser on your desktop/laptop and navigate to chrome://inspect/. If you did everything right, if you have your phone/tablet connected to your PC via USB and the browser open at that link you should see your device pop up and it will let you run the usual devtools from there on it.

More in depth information can be found here: [https://developer.chrome.com/docs/devtools/remote-debugging](https://developer.chrome.com/docs/devtools/remote-debugging)

### iOS

You can inspect Obsidian on an iOS device running 16.4 or later and a macOS based computer. Instructions on how to set it up can be found here: [https://webkit.org/web-inspector/enabling-web-inspector/](https://webkit.org/web-inspector/enabling-web-inspector/)

Platform-specific features

--------------------------

To detect the platform your plugin is running on, you can use [Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform):

    import { Platform } from 'obsidian';

    if (Platform.isIosApp) {

      // ...

    }

    if (Platform.isAndroidApp) {

      // ...

    }

Disable your plugin on mobile devices

-------------------------------------

If your plugin requires the Node.js or Electron API, you can prevent users from installing the plugin on mobile devices.

To only support the desktop app, set `isDesktopOnly` to `true` in the [Manifest](https://docs.obsidian.md/Reference/Manifest).

Troubleshooting

---------------

This section lists common issues when developing for mobile devices.

### Node and Electron APIs

The Node.js API, and the Electron API aren't available on mobile devices. Any calls to these libraries made by your plugin or it's dependencies can cause your plugin to crash.

### Lookbehind in regular expressions

Lookbehind in regular expressions is only supported on iOS 16.4 and above, and some iPhone and iPad users may still use earlier versions. To implement a fallback for iOS users, either refer to [Platform-specific features](https://docs.obsidian.md/Plugins/Getting+started/Mobile+development#Platform-specific features), or use a JavaScript library to detect specific browser versions.

Refer to [Can I Use](https://caniuse.com/js-regexp-lookbehind) for more information and exact version statistics. Look for "Safari on iOS".

Links to this page

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

Mobile development

Not found

This page does not exist

Interactive graph

On this page

Emulate mobile device on desktop

Inspecting the webview on the actual mobile device

Android

iOS

Platform-specific features

Disable your plugin on mobile devices

Troubleshooting

Node and Electron APIs

Lookbehind in regular expressions

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret
----

EditorSelectionOrCaret

======================

    aliases: "EditorSelectionOrCaret"

    cssclasses: hide-title

[`EditorSelectionOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)

EditorSelectionOrCaret interface

--------------------------------

0.12.11

**Signature:**

    export interface EditorSelectionOrCaret 

Properties

----------

Property

Modifiers

Type

Description

[`anchor`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret/anchor)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

[`head?`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret/head)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

_(Optional)_

Links to this page

[anchor](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret/anchor)

[head](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret/head)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[setSelections](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setSelections)

EditorSelectionOrCaret

Not found

This page does not exist

Interactive graph

On this page

EditorSelectionOrCaret interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/(constructor)
----

(constructor)

=============

    aliases: "MarkdownRenderChild.(constructor)"

    cssclasses: hide-title

[`MarkdownRenderChild`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/\(constructor\))

MarkdownRenderChild.(constructor)

---------------------------------

Constructs a new instance of the `MarkdownRenderChild` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

This HTMLElement will be used to test whether this component is still alive. It should be a child of the Markdown preview sections, and when it's no longer attached (for example, when it is replaced with a new version because the user edited the Markdown source code), this component will be unloaded.

Links to this page

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

MarkdownRenderChild.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/open
----

open

====

    aliases: "Modal.open"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`open`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/open)

Modal.open() method

-------------------

Show the modal on the active window. On mobile, the modal will animate on screen.

**Signature:**

    open(): void;

**Returns:**

`void`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

open

Not found

This page does not exist

Interactive graph

On this page

Modal.open() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry/getValue
----

getValue

========

    aliases: "BasesEntry.getValue"

    cssclasses: hide-title

[`BasesEntry`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry) › [`getValue`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry/getValue)

BasesEntry.getValue() method

----------------------------

Get the value of the property. Note: Errors are returned as

1.10.0

**Signature:**

    getValue(propertyId: BasesPropertyId): Value | null;

Parameters

----------

Parameter

Type

Description

`propertyId`

[`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)

getValue

Not found

This page does not exist

Interactive graph

On this page

BasesEntry.getValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo
----

getFrontMatterInfo

==================

    aliases: "getFrontMatterInfo"

    cssclasses: hide-title

[`getFrontMatterInfo`](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)

getFrontMatterInfo() function

-----------------------------

Given the contents of a file, get information about the frontmatter of the file, including whether there is a frontmatter block, the offsets of where it starts and ends, and the frontmatter text.

1.5.7

**Signature:**

    export function getFrontMatterInfo(content: string): FrontMatterInfo;

Parameters

----------

Parameter

Type

Description

`content`

`string`

**Returns:**

[`FrontMatterInfo`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

getFrontMatterInfo

Not found

This page does not exist

Interactive graph

On this page

getFrontMatterInfo() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/createFolder
----

createFolder

============

    aliases: "Vault.createFolder"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`createFolder`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/createFolder)

Vault.createFolder() method

---------------------------

Create a new folder inside the vault.

**Signature:**

    createFolder(path: string): Promise<TFolder>;

Parameters

----------

Parameter

Type

Description

`path`

`string`

Vault absolute path for the new folder.

**Returns:**

`Promise<`[`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)`>`

Exceptions

----------

Error if folder already exists

1.4.0

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

createFolder

Not found

This page does not exist

Interactive graph

On this page

Vault.createFolder() method

Parameters

Exceptions

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Themes/App+themes/Theme+guidelines
----

Theme guidelines

================

This page lists our recommendations for building themes that are both reliable and maintainable. By following these guidelines, you can minimize the maintenance work to keep your theme updated with future versions of Obsidian.

For more information about general guidelines for developers, refer to [Developer policies](https://docs.obsidian.md/Developer+policies).

Use CSS variables

-----------------

Since most of Obsidian's user interface uses CSS variables, you can create highly expressive themes by merely overriding the built-in CSS variables.

Override general variables under `body`, and colors under `.theme-light` or `.theme-dark`.

    :root {

      --input-focus-border-color: Highlight;

    }

    body {

      --font-text-size: 18px;

    }

    .theme-light {

      --background-primary: white;

    }

    .theme-dark {

      --background-primary: black;

    }

Use selectors with low specificity

----------------------------------

Avoid overly complex selectors targeting specific classes. [Use CSS variables](https://docs.obsidian.md/Themes/App+themes/Theme+guidelines#Use CSS variables) to keep your selectors simple.

The most common issues when maintaining a theme are due to broken selectors as a result of new versions of Obsidian, which may change class names and how elements are nested.

Keep assets local

-----------------

Per [Developer policies](https://docs.obsidian.md/Developer+policies) community themes must not load remote assets, such as fonts and images, that are unavailable when the user is offline. Even if the user has access to the internet, loading remote assets may violate user privacy.

If you wish to submit your theme to the official Community Themes directory, your theme must not make network calls, and therefore all resources must be bundled into your theme. See our guide [Embed fonts and images in your theme](https://docs.obsidian.md/Themes/App+themes/Embed+fonts+and+images+in+your+theme).

Avoid `!important` declarations

-------------------------------

Declaring styles as `!important` prevents users from overriding styles from your theme using snippets.

Links to this page

[Embed fonts and images in your theme](https://docs.obsidian.md/Themes/App+themes/Embed+fonts+and+images+in+your+theme)

Theme guidelines

Not found

This page does not exist

Interactive graph

On this page

Use CSS variables

Use selectors with low specificity

Keep assets local

Avoid !important declarations

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath
----

getLinkpath

===========

    aliases: "getLinkpath"

    cssclasses: hide-title

[`getLinkpath`](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)

getLinkpath() function

----------------------

Converts the linktext to a linkpath.

**Signature:**

    export function getLinkpath(linktext: string): string;

Parameters

----------

getLinkpath

Not found

This page does not exist

Interactive graph

On this page

getLinkpath() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator
----

MenuSeparator

=============

    aliases: "MenuSeparator"

    cssclasses: hide-title

[`MenuSeparator`](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)

MenuSeparator class

-------------------

0.15.3

**Signature:**

    export class MenuSeparator 

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

MenuSeparator

Not found

This page does not exist

Interactive graph

On this page

MenuSeparator class

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection
----

SplitDirection

==============

    aliases: "SplitDirection"

    cssclasses: hide-title

[`SplitDirection`](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)

SplitDirection type

-------------------

**Signature:**

    export type SplitDirection = 'vertical' | 'horizontal';

Links to this page

[createLeafBySplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafBySplit)

[duplicateLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf)

[duplicateLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf_1)

[getLeaf('split')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf\('split'\))

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[splitActiveLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/splitActiveLeaf)

SplitDirection

Not found

This page does not exist

Interactive graph

On this page

SplitDirection type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/isDarkMode
----

isDarkMode

==========

    aliases: "App.isDarkMode"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) › [`isDarkMode`](https://docs.obsidian.md/Reference/TypeScript+API/App/isDarkMode)

App.isDarkMode() method

-----------------------

1.10.0

**Signature:**

    isDarkMode(): boolean;

**Returns:**

`boolean`

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

isDarkMode

Not found

This page does not exist

Interactive graph

On this page

App.isDarkMode() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/save
----

save

====

    aliases: "TextFileView.save"

    cssclasses: hide-title

[`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView) › [`save`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/save)

TextFileView.save() method

--------------------------

0.10.12

**Signature:**

    save(clear?: boolean): Promise<void>;

Parameters

----------

Parameter

Type

Description

`clear`

`boolean`

_(Optional)_

**Returns:**

`Promise<void>`

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

save

Not found

This page does not exist

Interactive graph

On this page

TextFileView.save() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('resolved')
----

on('resolved')

==============

    aliases: "MetadataCache.on('resolved')"

    cssclasses: hide-title

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache) › [on('resolved')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('resolved'\))

MetadataCache.on('resolved') method

-----------------------------------

Called when all files has been resolved. This will be fired each time files get modified after the initial load.

**Signature:**

    on(name: 'resolved', callback: () => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'resolved'`

`callback`

`() => any`

on('resolved')

Not found

This page does not exist

Interactive graph

On this page

MetadataCache.on('resolved') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer/doc
----

doc

===

    aliases: "WorkspaceContainer.doc"

    cssclasses: hide-title

[`WorkspaceContainer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer) › [`doc`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer/doc)

WorkspaceContainer.doc property

-------------------------------

0.15.4

**Signature:**

    abstract doc: Document;

Links to this page

[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

doc

Not found

This page does not exist

Interactive graph

On this page

WorkspaceContainer.doc property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/readBinary
----

readBinary

==========

    aliases: "FileSystemAdapter.readBinary"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`readBinary`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/readBinary)

FileSystemAdapter.readBinary() method

-------------------------------------

**Signature:**

    readBinary(normalizedPath: string): Promise<ArrayBuffer>;

Parameters

----------

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

readBinary

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.readBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Foundations/Layers
----

Layers

======

    cssclasses: reference

Layers define the depth, or z-index, of an element.

Variable

Default value

`--layer-cover`

`5`

`--layer-sidedock`

`10`

`--layer-status-bar`

`15`

`--layer-popover`

`30`

`--layer-slides`

`45`

`--layer-modal`

`50`

`--layer-notice`

`60`

`--layer-menu`

`65`

`--layer-tooltip`

`70`

`--layer-dragged-item`

`80`

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Layers

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/getSecret
----

getSecret

=========

    aliases: "SecretStorage.getSecret"

    cssclasses: hide-title

[`SecretStorage`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage) › [`getSecret`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/getSecret)

SecretStorage.getSecret() method

--------------------------------

Gets a secret from storage

**Signature:**

    getSecret(id: string): string | null;

Parameters

----------

Parameter

Type

Description

`id`

`string`

The secret ID

**Returns:**

`string | null`

The secret value or null if not found

1.11.4

Links to this page

[SecretStorage](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage)

getSecret

Not found

This page does not exist

Interactive graph

On this page

SecretStorage.getSecret() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftRibbon
----

leftRibbon

==========

leftRibbon

Not found

This page does not exist

Interactive graph

On this page

Workspace.leftRibbon property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/setSelection
----

setSelection

============

    aliases: "Editor.setSelection"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`setSelection`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setSelection)

Editor.setSelection() method

----------------------------

0.11.11

**Signature:**

    abstract setSelection(anchor: EditorPosition, head?: EditorPosition): void;

Parameters

----------

Parameter

Type

Description

`anchor`

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

`head`

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

_(Optional)_

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

setSelection

Not found

This page does not exist

Interactive graph

On this page

Editor.setSelection() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-change')
----

on('editor-change')

===================

    aliases: "Workspace.on('editor-change')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('editor-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-change'\))

Workspace.on('editor-change') method

------------------------------------

Triggered when changes to an editor has been applied, either programmatically or from a user event.

1.1.1

**Signature:**

    on(name: 'editor-change', callback: (editor: Editor, info: MarkdownView | MarkdownFileInfo) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'editor-change'`

`callback`

`(editor:` [`Editor`](https://docs.obsidian.md/Plugins/Editor/Editor)`, info:` [`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) `|` [`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)`) => any`

on('editor-change')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('editor-change') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/addSetting
----

addSetting

==========

    aliases: "SettingGroup.addSetting"

    cssclasses: hide-title

[`SettingGroup`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup) › [`addSetting`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/addSetting)

SettingGroup.addSetting() method

--------------------------------

1.11.0

**Signature:**

    addSetting(cb: (setting: Setting) => void): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(setting:` [`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting)`) => void`

**Returns:**

`this`

Links to this page

[SettingGroup](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup)

addSetting

Not found

This page does not exist

Interactive graph

On this page

SettingGroup.addSetting() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult/type
----

type

====

    aliases: "HeadingSubpathResult.type"

    cssclasses: hide-title

[`HeadingSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult/type)

HeadingSubpathResult.type property

----------------------------------

0.9.16

**Signature:**

    type: 'heading';

Links to this page

[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)

type

Not found

This page does not exist

Interactive graph

On this page

HeadingSubpathResult.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/file
----

file

====

    aliases: "MarkdownRenderer.file"

    cssclasses: hide-title

[`MarkdownRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer) › [`file`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/file)

MarkdownRenderer.file property

------------------------------

**Signature:**

    abstract get file(): TFile;

Links to this page

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

file

Not found

This page does not exist

Interactive graph

On this page

MarkdownRenderer.file property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/setViewData
----

setViewData

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.setViewData() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/icon
----

icon

====

    aliases: "BasesViewRegistration.icon"

    cssclasses: hide-title

[`BasesViewRegistration`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration) › [`icon`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/icon)

BasesViewRegistration.icon property

-----------------------------------

Icon ID to be used in the Bases view selector. See [https://docs.obsidian.md/Plugins/User+interface/Icons](https://docs.obsidian.md/Plugins/User+interface/Icons) for available icons and how to add your own.

1.10.0

**Signature:**

    icon: IconName;

Links to this page

[BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration)

icon

Not found

This page does not exist

Interactive graph

On this page

BasesViewRegistration.icon property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/writeBinary
----

writeBinary

===========

    aliases: "CapacitorAdapter.writeBinary"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`writeBinary`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/writeBinary)

CapacitorAdapter.writeBinary() method

-------------------------------------

1.7.2

**Signature:**

    writeBinary(normalizedPath: string, data: ArrayBuffer, options?: DataWriteOptions): Promise<void>;

Parameters

----------

writeBinary

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.writeBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Value
----

Value

=====

    aliases: "Value"

    cssclasses: hide-title

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value)

Value class

-----------

Container type for data which can expose functions for retrieving, comparing, and rendering the data. Most commonly used in conjunction with formulas for Bases. Values can be used as formula parameters, intermediate values, and the result of evaluation.

1.10.0

**Signature:**

    export abstract class Value 

Properties

----------

Methods

-------

Method

Modifiers

Description

[`equals(other)`](https://docs.obsidian.md/Reference/TypeScript+API/Value/equals)

1.10.0

[`equals(a, b)`](https://docs.obsidian.md/Reference/TypeScript+API/Value/equals)

`static`

1.10.0

[`isTruthy()`](https://docs.obsidian.md/Reference/TypeScript+API/Value/isTruthy)

`abstract`

1.10.0

[`looseEquals(other)`](https://docs.obsidian.md/Reference/TypeScript+API/Value/looseEquals)

1.10.0

[`looseEquals(a, b)`](https://docs.obsidian.md/Reference/TypeScript+API/Value/looseEquals)

`static`

1.10.0

[`renderTo(el, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Value/renderTo)

Render this value into the provided HTMLElement.

1.10.0

[`toString()`](https://docs.obsidian.md/Reference/TypeScript+API/Value/toString)

`abstract`

1.10.0

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/\(constructor\))

[BasesEntryGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup)

[BooleanValue](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue)

[DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

[equals](https://docs.obsidian.md/Reference/TypeScript+API/Value/equals)

[FileValue](https://docs.obsidian.md/Reference/TypeScript+API/FileValue)

[get](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/get)

[get](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/get)

[getEvaluatedFormula](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getEvaluatedFormula)

[getSummaryValue](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/getSummaryValue)

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry/getValue)

[HTMLValue](https://docs.obsidian.md/Reference/TypeScript+API/HTMLValue)

[IconValue](https://docs.obsidian.md/Reference/TypeScript+API/IconValue)

[ImageValue](https://docs.obsidian.md/Reference/TypeScript+API/ImageValue)

[includes](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/includes)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isTruthy](https://docs.obsidian.md/Reference/TypeScript+API/Value/isTruthy)

[LinkValue](https://docs.obsidian.md/Reference/TypeScript+API/LinkValue)

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

[looseEquals](https://docs.obsidian.md/Reference/TypeScript+API/Value/looseEquals)

[renderTo](https://docs.obsidian.md/Reference/TypeScript+API/Value/renderTo)

[StringValue](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

[TagValue](https://docs.obsidian.md/Reference/TypeScript+API/TagValue)

[toString](https://docs.obsidian.md/Reference/TypeScript+API/Value/toString)

[type](https://docs.obsidian.md/Reference/TypeScript+API/Value/type)

[UrlValue](https://docs.obsidian.md/Reference/TypeScript+API/UrlValue)

Value

Not found

This page does not exist

Interactive graph

On this page

Value class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Plugins/Canvas
----

Canvas

======

    cssclasses: reference

This page lists CSS variables used by the [Canvas](https://help.obsidian.md/Plugins/Canvas) plugin.

CSS variables

-------------

Variable

Description

`--canvas-background`

Canvas background color

`--canvas-card-label-color`

Canvas card label text color

`--canvas-dot-pattern`

Canvas dot pattern color

`--canvas-color-1`

Canvas card color 1

`--canvas-color-2`

Canvas card color 2

`--canvas-color-3`

Canvas card color 3

`--canvas-color-4`

Canvas card color 4

`--canvas-color-5`

Canvas card color 5

`--canvas-color-6`

Canvas card color 6

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Canvas

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownPostProcessor
----

registerMarkdownPostProcessor

=============================

    aliases: "Plugin.registerMarkdownPostProcessor"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`registerMarkdownPostProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownPostProcessor)

Plugin.registerMarkdownPostProcessor() method

---------------------------------------------

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

**Signature:**

    registerMarkdownPostProcessor(postProcessor: MarkdownPostProcessor, sortOrder?: number): MarkdownPostProcessor;

Parameters

----------

Parameter

Type

Description

`postProcessor`

[`MarkdownPostProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)

`sortOrder`

`number`

_(Optional)_

**Returns:**

[`MarkdownPostProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

registerMarkdownPostProcessor

Not found

This page does not exist

Interactive graph

On this page

Plugin.registerMarkdownPostProcessor() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getName
----

getName

=======

    aliases: "FileSystemAdapter.getName"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`getName`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getName)

FileSystemAdapter.getName() method

----------------------------------

**Signature:**

    getName(): string;

**Returns:**

`string`

Links to this page

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

getName

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.getName() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafBySplit
----

createLeafBySplit

=================

    aliases: "Workspace.createLeafBySplit"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`createLeafBySplit`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafBySplit)

Workspace.createLeafBySplit() method

------------------------------------

0.9.7

**Signature:**

    createLeafBySplit(leaf: WorkspaceLeaf, direction?: SplitDirection, before?: boolean): WorkspaceLeaf;

Parameters

----------

`before`

`boolean`

_(Optional)_

**Returns:**

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

createLeafBySplit

Not found

This page does not exist

Interactive graph

On this page

Workspace.createLeafBySplit() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command/callback
----

callback

========

    aliases: "Command.callback"

    cssclasses: hide-title

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command) › [`callback`](https://docs.obsidian.md/Reference/TypeScript+API/Command/callback)

Command.callback property

-------------------------

Simple callback, triggered globally.

**Signature:**

    callback?: () => any;

Example

-------

    this.addCommand({

      id: 'print-greeting-to-console',

      name: 'Print greeting to console',

      callback: () => {

        console.log('Hey, you!');

      },

    });

Links to this page

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

callback

Not found

This page does not exist

Interactive graph

On this page

Command.callback property

Example

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerHoverLinkSource
----

registerHoverLinkSource

=======================

    aliases: "Plugin.registerHoverLinkSource"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`registerHoverLinkSource`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerHoverLinkSource)

Plugin.registerHoverLinkSource() method

---------------------------------------

Registers a view with the 'Page preview' core plugin as an emitter of the 'hover-link' event.

1.1.0

**Signature:**

    registerHoverLinkSource(id: string, info: HoverLinkSource): void;

Parameters

----------

Parameter

Type

Description

`id`

`string`

`info`

[`HoverLinkSource`](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)

**Returns:**

`void`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

registerHoverLinkSource

Not found

This page does not exist

Interactive graph

On this page

Plugin.registerHoverLinkSource() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onUserEnable
----

onUserEnable

============

    aliases: "Plugin.onUserEnable"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`onUserEnable`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onUserEnable)

Plugin.onUserEnable() method

----------------------------

Perform any initial setup code. The user has explicitly interacted with the plugin so its safe to engage with the user. If your plugin registers a custom view, you can open it here.

1.7.2

**Signature:**

    onUserEnable(): void;

**Returns:**

`void`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

onUserEnable

Not found

This page does not exist

Interactive graph

On this page

Plugin.onUserEnable() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView
----

FileView

========

    aliases: "FileView"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

FileView class

--------------

**Signature:**

    export abstract class FileView extends ItemView 

**Extends:** [`ItemView`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/\(constructor\))

Constructs a new instance of the `FileView` class

Properties

----------

Property

Modifiers

Type

Description

[`allowNoFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/allowNoFile)

`boolean`

(Inherited from [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView))

[`file`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/file)

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) `| null`

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) `| null`

Assign an optional scope to your view to register hotkeys for when the view is in focus.

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

Methods

-------

Method

Modifiers

Description

[`addAction(icon, title, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction)

1.1.0

(Inherited from [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView))

[`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild)

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

0.12.0

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`canAcceptExtension(extension)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/canAcceptExtension)

0.9.7

[`getDisplayText()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getDisplayText)

[`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState)

0.9.7

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon)

1.1.0

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`getState()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getState)

[`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onload)

[`onLoadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onLoadFile)

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/FileView/\(constructor\))

[allowNoFile](https://docs.obsidian.md/Reference/TypeScript+API/FileView/allowNoFile)

[canAcceptExtension](https://docs.obsidian.md/Reference/TypeScript+API/FileView/canAcceptExtension)

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[file](https://docs.obsidian.md/Reference/TypeScript+API/FileView/file)

[getDisplayText](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getDisplayText)

[getState](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getState)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[navigation](https://docs.obsidian.md/Reference/TypeScript+API/FileView/navigation)

[onload](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onload)

[onLoadFile](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onLoadFile)

[onRename](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onRename)

[onUnloadFile](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onUnloadFile)

[setState](https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

FileView

Not found

This page does not exist

Interactive graph

On this page

FileView class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatterPosition
----

frontmatterPosition

===================

    aliases: "CachedMetadata.frontmatterPosition"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`frontmatterPosition`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatterPosition)

CachedMetadata.frontmatterPosition property

-------------------------------------------

Position of the frontmatter in the file.

1.4.0

**Signature:**

    frontmatterPosition?: Pos;

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

frontmatterPosition

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.frontmatterPosition property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/mkdir
----

mkdir

=====

    aliases: "CapacitorAdapter.mkdir"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`mkdir`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/mkdir)

CapacitorAdapter.mkdir() method

-------------------------------

1.7.2

**Signature:**

    mkdir(normalizedPath: string): Promise<void>;

Parameters

----------

mkdir

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.mkdir() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache
----

FrontmatterLinkCache

====================

    aliases: "FrontmatterLinkCache"

    cssclasses: hide-title

[`FrontmatterLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)

FrontmatterLinkCache interface

------------------------------

**Signature:**

    export interface FrontmatterLinkCache extends Reference 

**Extends:** [`Reference`](https://docs.obsidian.md/Reference/TypeScript+API/Reference)

Properties

----------

[`key`](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache/key)

`string`

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[key](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache/key)

FrontmatterLinkCache

Not found

This page does not exist

Interactive graph

On this page

FrontmatterLinkCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent
----

SliderComponent

===============

    aliases: "SliderComponent"

    cssclasses: hide-title

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

SliderComponent class

---------------------

0.9.7

**Signature:**

    export class SliderComponent extends ValueComponent<number> 

**Extends:** [`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)`<number>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/\(constructor\))

Constructs a new instance of the `SliderComponent` class

Properties

----------

[`sliderEl`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/sliderEl)

`HTMLInputElement`

Methods

-------

Method

Modifiers

Description

[`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/getValue)

0.9.7

[`getValuePretty()`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/getValuePretty)

0.9.7

[`onChange(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/onChange)

0.9.7

[`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

0.9.7

(Inherited from [ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent))

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setDisabled)

1.2.3

[`setDynamicTooltip()`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setDynamicTooltip)

0.9.7

[`setInstant(instant)`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setInstant)

[`setLimits(min, max, step)`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setLimits)

0.9.7

[`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setValue)

0.9.7

[`showTooltip()`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/showTooltip)

0.9.7

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/\(constructor\))

[addSlider](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSlider)

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/getValue)

[getValuePretty](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/getValuePretty)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onChange](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/onChange)

[setDisabled](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setDisabled)

[setDynamicTooltip](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setDynamicTooltip)

[setInstant](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setInstant)

[setLimits](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setLimits)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setValue)

[showTooltip](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/showTooltip)

[sliderEl](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/sliderEl)

SliderComponent

Not found

This page does not exist

Interactive graph

On this page

SliderComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/(constructor)
----

(constructor)

=============

    aliases: "FileView.(constructor)"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/\(constructor\))

FileView.(constructor)

----------------------

Constructs a new instance of the `FileView` class

**Signature:**

    constructor(leaf: WorkspaceLeaf);

Parameters

----------

Parameter

Type

Description

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

Links to this page

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

FileView.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Hotkey/key
----

key

===

    aliases: "Hotkey.key"

    cssclasses: hide-title

[`Hotkey`](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey) › [`key`](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey/key)

Hotkey.key property

-------------------

**Signature:**

    key: string;

Links to this page

[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)

key

Not found

This page does not exist

Interactive graph

On this page

Hotkey.key property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+navigation
----

Site navigation

===============

    cssclasses: reference

When activated in Publish settings, navigation is placed in the left sidebar and can be styled with the following variables. Top-level items and folders can be treated differently than nested items.

CSS variables

-------------

Publish-specific variables should be defined on the `.published-container`.

Variable

Description

`--nav-collapse-icon-color`

Collapse icon color

`--nav-collapse-icon-color-hover`

Collapse icon color (hovered)

`--nav-parent-item-color`

Font color for folders and top-level items

`--nav-parent-item-color-active`

Font color for active top-level items

`--nav-parent-item-weight`

Font weight for top-level items

`--nav-item-color`

Font color for nested items

`--nav-item-color-hover`

Font color for hovered nested items

`--nav-item-color-active`

Font color for active nested items

`--nav-item-border-color`

Border color for nested items

`--nav-item-border-color-hover`

Border color for hovered nested items

`--nav-item-border-color-active`

Border color for active nested items

`--nav-item-weight-active`

Font weight for active nested items

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Publish](https://docs.obsidian.md/Reference/CSS+variables/Publish/Publish)

[Site sidebars](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+sidebars)

Site navigation

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getUnpinnedLeaf
----

getUnpinnedLeaf

===============

    aliases: "Workspace.getUnpinnedLeaf"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`getUnpinnedLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getUnpinnedLeaf)

Workspace.getUnpinnedLeaf() method

----------------------------------

> Warning: This API is now obsolete.

> 

> *   You should use [| getLeaf(false)](https://docs.obsidian.md/obsidian.workspace.getleaf_1) instead which does the same thing.

**Signature:**

    getUnpinnedLeaf(): WorkspaceLeaf;

**Returns:**

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

getUnpinnedLeaf

Not found

This page does not exist

Interactive graph

On this page

Workspace.getUnpinnedLeaf() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Code
----

Code

====

    cssclasses: reference

This page lists CSS variables for code.

CSS variables

-------------

Variable

Description

`--code-background`

Code background color

`--code-white-space`

Code `white-space`

`--code-size`

Code font size

### Syntax highlighting

Note

Since Obsidian uses two different libraries for syntax highlighting—one for Editing view and another for Reading view—styling may not match perfectly between the two.

Variable

Description

`--code-normal`

Non-highlighted syntax

`--code-comment`

Comments

`--code-function`

Functions

`--code-important`

Important, regex

`--code-keyword`

Keywords

`--code-operator`

Operators

`--code-property`

Properties

`--code-punctuation`

Punctuation

`--code-string`

Strings

`--code-tag`

Tags, symbols, constants

`--code-value`

Values

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Code

Not found

This page does not exist

Interactive graph

On this page

CSS variables

Syntax highlighting

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/entries
----

entries

=======

    aliases: "BasesEntryGroup.entries"

    cssclasses: hide-title

[`BasesEntryGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup) › [`entries`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/entries)

BasesEntryGroup.entries property

--------------------------------

1.10.0

**Signature:**

    entries: BasesEntry[];

Links to this page

[BasesEntryGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup)

entries

Not found

This page does not exist

Interactive graph

On this page

BasesEntryGroup.entries property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onUnloadFile
----

onUnloadFile

Not found

This page does not exist

Interactive graph

On this page

TextFileView.onUnloadFile() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption
----

BasesDropdownOption

===================

    aliases: "BasesDropdownOption"

    cssclasses: hide-title

[`BasesDropdownOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption)

BasesDropdownOption interface

-----------------------------

1.10.0

**Signature:**

    export interface BasesDropdownOption extends BasesOption 

**Extends:** [`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

Properties

----------

Property

Modifiers

Type

Description

[`default?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption/default)

[`options`](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption/options)

`Record``<string, string>`

1.10.0

[`shouldHide?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/shouldHide)

`() => boolean`

_(Optional)_ If provided, the option will be hidden if the function returns true.

1.10.2

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption/type)

`'dropdown'`

1.10.0

Links to this page

[BasesOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

[default](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption/default)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[options](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption/options)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption/type)

BasesDropdownOption

Not found

This page does not exist

Interactive graph

On this page

BasesDropdownOption interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption
----

BasesToggleOption

=================

    aliases: "BasesToggleOption"

    cssclasses: hide-title

[`BasesToggleOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption)

BasesToggleOption interface

---------------------------

1.10.0

**Signature:**

    export interface BasesToggleOption extends BasesOption 

**Extends:** [`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

Properties

----------

Property

Modifiers

Type

Description

[`default?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption/default)

`boolean`

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption/type)

`'toggle'`

1.10.0

Links to this page

[BasesOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

[default](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption/default)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption/type)

BasesToggleOption

Not found

This page does not exist

Interactive graph

On this page

BasesToggleOption interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/onClick
----

onClick

=======

    aliases: "ButtonComponent.onClick"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`onClick`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/onClick)

ButtonComponent.onClick() method

--------------------------------

0.12.16

**Signature:**

    onClick(callback: (evt: MouseEvent) => unknown | Promise<unknown>): this;

Parameters

----------

Parameter

Type

Description

`callback`

`(evt:` `MouseEvent``) => unknown |` `Promise``<unknown>`

**Returns:**

`this`

Links to this page

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

onClick

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.onClick() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/onClick
----

onClick

=======

    aliases: "MenuItem.onClick"

    cssclasses: hide-title

[`MenuItem`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem) › [`onClick`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/onClick)

MenuItem.onClick() method

-------------------------

**Signature:**

    onClick(callback: (evt: MouseEvent | KeyboardEvent) => any): this;

Parameters

----------

Parameter

Type

Description

`callback`

`(evt:` `MouseEvent` `|` `KeyboardEvent``) => any`

**Returns:**

`this`

Links to this page

[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)

onClick

Not found

This page does not exist

Interactive graph

On this page

MenuItem.onClick() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache
----

FootnoteRefCache

================

    aliases: "FootnoteRefCache"

    cssclasses: hide-title

[`FootnoteRefCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)

FootnoteRefCache interface

--------------------------

**Signature:**

    export interface FootnoteRefCache extends CacheItem 

**Extends:** [`CacheItem`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

Properties

----------

Property

Modifiers

Type

Description

[`id`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache/id)

[id](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache/id)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

FootnoteRefCache

Not found

This page does not exist

Interactive graph

On this page

FootnoteRefCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValueRgb
----

setValueRgb

===========

    aliases: "ColorComponent.setValueRgb"

    cssclasses: hide-title

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent) › [`setValueRgb`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValueRgb)

ColorComponent.setValueRgb() method

-----------------------------------

1.0.0

**Signature:**

    setValueRgb(rgb: RGB): this;

Parameters

----------

Parameter

Type

Description

`rgb`

[`RGB`](https://docs.obsidian.md/Reference/TypeScript+API/RGB)

**Returns:**

`this`

Links to this page

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

setValueRgb

Not found

This page does not exist

Interactive graph

On this page

ColorComponent.setValueRgb() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache
----

ReferenceCache

==============

    aliases: "ReferenceCache"

    cssclasses: hide-title

[`ReferenceCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

ReferenceCache interface

------------------------

**Signature:**

    export interface ReferenceCache extends Reference, CacheItem 

**Extends:** [`Reference`](https://docs.obsidian.md/Reference/TypeScript+API/Reference), [`CacheItem`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

Properties

----------

[`position`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem/position)

[`Pos`](https://docs.obsidian.md/Reference/TypeScript+API/Pos)

Position of this item in the note.

(Inherited from [CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem))

Links to this page

[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)

[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

ReferenceCache

Not found

This page does not exist

Interactive graph

On this page

ReferenceCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/close
----

close

=====

    aliases: "Menu.close"

    cssclasses: hide-title

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu) › [`close`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/close)

Menu.close() method

-------------------

**Signature:**

    close(): void;

**Returns:**

`void`

Links to this page

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

close

Not found

This page does not exist

Interactive graph

On this page

Menu.close() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse
----

RequestUrlResponse

==================

    aliases: "RequestUrlResponse"

    cssclasses: hide-title

[`RequestUrlResponse`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)

RequestUrlResponse interface

----------------------------

**Signature:**

    export interface RequestUrlResponse 

Properties

----------

Property

Modifiers

Type

Description

[`arrayBuffer`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/arrayBuffer)

`ArrayBuffer`

[`headers`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/headers)

`Record``<string, string>`

[`json`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/json)

`any`

[`status`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/status)

`number`

[`text`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/text)

`string`

Links to this page

[arrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/arrayBuffer)

[headers](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/headers)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[json](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/json)

[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)

[status](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/status)

[text](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/text)

RequestUrlResponse

Not found

This page does not exist

Interactive graph

On this page

RequestUrlResponse interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter
----

CapacitorAdapter

================

    aliases: "CapacitorAdapter"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

CapacitorAdapter class

----------------------

Implementation of the vault adapter for mobile devices.

1.7.2

**Signature:**

    export class CapacitorAdapter implements DataAdapter 

**Implements:** [`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

Methods

-------

Method

Modifiers

Description

[`append(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/append)

1.7.2

[`appendBinary(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/appendBinary)

1.12.3

[`copy(normalizedPath, normalizedNewPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/copy)

1.7.2

[`exists(normalizedPath, sensitive)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/exists)

1.7.2

[`getFullPath(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getFullPath)

1.7.2

[`getName()`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getName)

1.7.2

[`getResourcePath(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getResourcePath)

1.7.2

[`list(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/list)

1.7.2

[`mkdir(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/mkdir)

1.7.2

[`process(normalizedPath, fn, options)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/process)

1.7.2

[`read(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/read)

1.7.2

[`readBinary(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/readBinary)

1.7.2

[`remove(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/remove)

1.7.2

[`rename(normalizedPath, normalizedNewPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/rename)

1.7.2

[`rmdir(normalizedPath, recursive)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/rmdir)

1.7.2

[`stat(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/stat)

1.7.2

[`trashLocal(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/trashLocal)

1.7.2

[`trashSystem(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/trashSystem)

1.7.2

[`write(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/write)

1.7.2

[`writeBinary(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/writeBinary)

1.7.2

Links to this page

[append](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/append)

[appendBinary](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/appendBinary)

[copy](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/copy)

[exists](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/exists)

[getFullPath](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getFullPath)

[getName](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getName)

[getResourcePath](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getResourcePath)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[list](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/list)

[mkdir](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/mkdir)

[process](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/process)

[read](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/read)

[readBinary](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/readBinary)

[remove](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/remove)

[rename](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/rename)

[rmdir](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/rmdir)

[stat](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/stat)

[trashLocal](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/trashLocal)

[trashSystem](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/trashSystem)

[write](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/write)

[writeBinary](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/writeBinary)

CapacitorAdapter

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/setIcon
----

setIcon

=======

setIcon

Not found

This page does not exist

Interactive graph

On this page

setIcon() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry/file
----

file

====

    aliases: "BasesEntry.file"

    cssclasses: hide-title

[`BasesEntry`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry) › [`file`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry/file)

BasesEntry.file property

------------------------

1.10.0

**Signature:**

    file: TFile;

Links to this page

[BasesEntry](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry)

file

Not found

This page does not exist

Interactive graph

On this page

BasesEntry.file property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Keymap
----

Keymap

======

    aliases: "Keymap"

    cssclasses: hide-title

[`Keymap`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)

Keymap class

------------

Manages keymap lifecycle for different [Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)s.

0.13.9

**Signature:**

    export class Keymap 

Methods

-------

Method

Modifiers

Description

[`isModEvent(evt)`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModEvent)

`static`

Translates an event into the type of pane that should open. Returns 'tab' if the modifier key Cmd/Ctrl is pressed OR if this is a middle-click MouseEvent. Returns 'split' if Cmd/Ctrl+Alt is pressed. Returns 'window' if Cmd/Ctrl+Alt+Shift is pressed.

0.16.0

[`isModifier(evt, modifier)`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModifier)

`static`

Checks whether the modifier key is pressed during this event.

0.12.17

[`popScope(scope)`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/popScope)

Remove a scope from the scope stack. If the given scope is active, the next scope in the stack will be made active.

0.13.9

[`pushScope(scope)`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/pushScope)

Push a scope onto the scope stack, setting it as the active scope to handle all key events.

0.13.9

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isModEvent](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModEvent)

[isModifier](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModifier)

[popScope](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/popScope)

[pushScope](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/pushScope)

Keymap

Not found

This page does not exist

Interactive graph

On this page

Keymap class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue
----

PrimitiveValue

==============

    aliases: "PrimitiveValue"

    cssclasses: hide-title

[`PrimitiveValue`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue)

PrimitiveValue class

--------------------

Base type for which wrap a single primitive.

1.10.0

**Signature:**

    export abstract class PrimitiveValue<T> extends NotNullValue 

**Extends:** [`NotNullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(value)`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/\(constructor\))

1.10.0

Properties

----------

-------

[`isTruthy()`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/isTruthy)

[`toString()`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/toString)

1.10.0

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/\(constructor\))

[BooleanValue](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue)

[HTMLValue](https://docs.obsidian.md/Reference/TypeScript+API/HTMLValue)

[IconValue](https://docs.obsidian.md/Reference/TypeScript+API/IconValue)

[ImageValue](https://docs.obsidian.md/Reference/TypeScript+API/ImageValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isTruthy](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/isTruthy)

[LinkValue](https://docs.obsidian.md/Reference/TypeScript+API/LinkValue)

[NumberValue](https://docs.obsidian.md/Reference/TypeScript+API/NumberValue)

[StringValue](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

[TagValue](https://docs.obsidian.md/Reference/TypeScript+API/TagValue)

[toString](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/toString)

[UrlValue](https://docs.obsidian.md/Reference/TypeScript+API/UrlValue)

PrimitiveValue

Not found

This page does not exist

Interactive graph

On this page

PrimitiveValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOption
----

BasesOption

===========

    aliases: "BasesOption"

    cssclasses: hide-title

[`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

BasesOption interface

---------------------

1.10.0

**Signature:**

    export interface BasesOption 

Properties

----------

Property

Modifiers

Type

Description

[`displayName`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/displayName)

`string`

1.10.0

[`key`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/key)

`string`

1.10.0

[`shouldHide?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/shouldHide)

`() => boolean`

_(Optional)_ If provided, the option will be hidden if the function returns true.

1.10.2

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/type)

`string`

1.10.0

Links to this page

[BasesDropdownOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption)

[BasesFileOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption)

[BasesFolderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption)

[BasesFormulaOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption)

[BasesMultitextOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption)

[BasesPropertyOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption)

[BasesSliderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption)

[BasesTextOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption)

[BasesToggleOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption)

[displayName](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/displayName)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[key](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/key)

[shouldHide](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/shouldHide)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/type)

BasesOption

Not found

This page does not exist

Interactive graph

On this page

BasesOption interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/default
----

default

=======

    aliases: "BasesSliderOption.default"

    cssclasses: hide-title

[`BasesSliderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption) › [`default`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/default)

BasesSliderOption.default property

----------------------------------

1.10.0

**Signature:**

    default?: number;

Links to this page

[BasesSliderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption)

default

Not found

This page does not exist

Interactive graph

On this page

BasesSliderOption.default property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition
----

EditorPosition

==============

    aliases: "EditorPosition"

    cssclasses: hide-title

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

EditorPosition interface

------------------------

0.12.11

**Signature:**

    export interface EditorPosition 

Properties

----------

Property

Modifiers

Type

Description

[`ch`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition/ch)

`number`

[`line`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition/line)

`number`

Links to this page

[ch](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition/ch)

[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)

[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)

[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)

[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)

[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)

[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)

[getCursor](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getCursor)

[getRange](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getRange)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[line](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition/line)

[offsetToPos](https://docs.obsidian.md/Reference/TypeScript+API/Editor/offsetToPos)

[onTrigger](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/onTrigger)

[posToOffset](https://docs.obsidian.md/Reference/TypeScript+API/Editor/posToOffset)

[replaceRange](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceRange)

[setCursor](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setCursor)

[setSelection](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setSelection)

[wordAt](https://docs.obsidian.md/Reference/TypeScript+API/Editor/wordAt)

EditorPosition

Not found

This page does not exist

Interactive graph

On this page

EditorPosition interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLayout
----

getLayout

=========

    aliases: "Workspace.getLayout"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`getLayout`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLayout)

Workspace.getLayout() method

----------------------------

0.9.7

**Signature:**

    getLayout(): Record<string, unknown>;

**Returns:**

`Record<string, unknown>`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

getLayout

Not found

This page does not exist

Interactive graph

On this page

Workspace.getLayout() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Foundations/Cursor
----

Cursor

======

    cssclasses: reference

Obsidian follows operating system conventions for cursors, which means interactive elements use the arrow cursor instead of the pointer cursor.

Variable

Default value

Description

`--cursor`

`default`

Cursor for interactive elements

`--cursor-link`

`pointer`

Cursor for links

Cursor

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/manifest
----

manifest

========

manifest

Not found

This page does not exist

Interactive graph

On this page

Plugin.manifest property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/Commands
----

Commands

========

Commands are actions that the user can invoke from the [Command Palette](https://help.obsidian.md/Plugins/Command+palette) or by using a hot key.

To register a new command for your plugin, call the [addCommand()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addCommand) method inside the `onload()` method:

    import { Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        this.addCommand({

          id: 'print-greeting-to-console',

          name: 'Print greeting to console',

          callback: () => {

            console.log('Hey, you!');

          },

        });

      }

    }

Conditional commands

--------------------

If your command is only able to run under certain conditions, consider using [checkCallback()](https://docs.obsidian.md/Reference/TypeScript+API/Command/checkCallback) instead.

The `checkCallback` runs twice. First, to perform a preliminary check to determine whether the command can run. Second, to perform the action.

Since time may pass between the two runs, you need to perform the check during both calls.

To determine whether the callback should perform a preliminary check or an action, a `checking` argument is passed to the callback.

*   If `checking` is set to `true`, perform a preliminary check.

*   If `checking` is set to `false`, perform an action.

The command in the following example depends on a required value. In both runs, the callback checks that the value is present but only performs the action if `checking` is `false`.

    this.addCommand({

      id: 'example-command',

      name: 'Example command',

      // highlight-next-line

      checkCallback: (checking: boolean) => {

        const value = getRequiredValue();

        if (value) {

          if (!checking) {

            doCommand(value);

          }

          return true

        }

        return false;

      },

    });

Editor commands

---------------

If your command needs access to the editor, you can also use the [editorCallback()](https://docs.obsidian.md/Reference/TypeScript+API/Command/editorCallback), which provides the active editor and its view as arguments.

    this.addCommand({

      id: 'example-command',

      name: 'Example command',

      editorCallback: (editor: Editor, view: MarkdownView) => {

        const sel = editor.getSelection()

        console.log(`You have selected: ${sel}`);

      },

    }

Note

Editor commands only appear in the Command Palette when there's an active editor available.

If the editor callback can only run under certain conditions, consider using [editorCheckCallback()](https://docs.obsidian.md/Reference/TypeScript+API/Command/editorCheckCallback) instead. For more information, refer to [Conditional commands](https://docs.obsidian.md/Plugins/User+interface/Commands#Conditional commands).

    this.addCommand({

      id: 'example-command',

      name: 'Example command',

      editorCheckCallback: (checking: boolean, editor: Editor, view: MarkdownView) => {

        const value = getRequiredValue();

        if (value) {

          if (!checking) {

            doCommand(value);

          }

          return true

        }

        return false;

      },

    });

Hot keys

--------

The user can run commands using a keyboard shortcut, or _hot key_. While they can configure this themselves, you can also provide a default hot key.

Warning

Avoid setting default hot keys for plugins that you intend for others to use. Hot keys are highly likely to conflict with those defined by other plugins or by the user themselves.

In this example, the user can run the command by pressing and holding Ctrl (or Cmd on Mac) and Shift together, and then pressing the letter `a` on their keyboard.

    this.addCommand({

      id: 'example-command',

      name: 'Example command',

      hotkeys: [{ modifiers: ['Mod', 'Shift'], key: 'a' }],

      callback: () => {

        console.log('Hey, you!');

      },

    });

Note

The Mod key is a special modifier key that becomes Ctrl on Windows and Linux, and Cmd on macOS.

Links to this page

[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)

[Editor](https://docs.obsidian.md/Plugins/Editor/Editor)

[Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)

Commands

Not found

This page does not exist

Interactive graph

On this page

Conditional commands

Editor commands

Hot keys

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/order
----

order

=====

    aliases: "BasesConfigFileView.order"

    cssclasses: hide-title

[`BasesConfigFileView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView) › [`order`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/order)

BasesConfigFileView.order property

----------------------------------

An ordered list of the properties to display in this view.

1.10.0

**Signature:**

    order?: string[];

Links to this page

[BasesConfigFileView](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)

order

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFileView.order property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/options
----

options

=======

    aliases: "BasesViewRegistration.options"

    cssclasses: hide-title

[`BasesViewRegistration`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration) › [`options`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/options)

BasesViewRegistration.options property

--------------------------------------

1.10.0

**Signature:**

    options?: (config: BasesViewConfig) => BasesAllOptions[];

Links to this page

[BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration)

options

Not found

This page does not exist

Interactive graph

On this page

BasesViewRegistration.options property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/readBinary
----

readBinary

==========

    aliases: "CapacitorAdapter.readBinary"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`readBinary`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/readBinary)

CapacitorAdapter.readBinary() method

------------------------------------

1.7.2

**Signature:**

    readBinary(normalizedPath: string): Promise<ArrayBuffer>;

Parameters

----------

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

readBinary

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.readBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/app
----

app

===

    aliases: "Plugin.app"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`app`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/app)

Plugin.app property

-------------------

0.9.7

**Signature:**

    app: App;

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/\(constructor\))

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

app

Not found

This page does not exist

Interactive graph

On this page

Plugin.app property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/toggleEl
----

toggleEl

========

    aliases: "ToggleComponent.toggleEl"

    cssclasses: hide-title

[`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent) › [`toggleEl`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/toggleEl)

ToggleComponent.toggleEl property

---------------------------------

0.9.7

**Signature:**

    toggleEl: HTMLElement;

Links to this page

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

toggleEl

Not found

This page does not exist

Interactive graph

On this page

ToggleComponent.toggleEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('css-change')
----

on('css-change')

================

    aliases: "Workspace.on('css-change')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('css-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('css-change'\))

Workspace.on('css-change') method

---------------------------------

Triggered when the CSS of the app has changed.

0.9.7

**Signature:**

    on(name: 'css-change', callback: () => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'css-change'`

on('css-change')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('css-change') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext
----

MarkdownPostProcessorContext

============================

    aliases: "MarkdownPostProcessorContext"

    cssclasses: hide-title

[`MarkdownPostProcessorContext`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)

MarkdownPostProcessorContext interface

--------------------------------------

**Signature:**

    export interface MarkdownPostProcessorContext 

Properties

----------

Property

Modifiers

Type

Description

[`docId`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/docId)

`string`

[`frontmatter`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/frontmatter)

`any | null | undefined`

[`sourcePath`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/sourcePath)

`string`

The path to the associated file. Any links are assumed to be relative to the `sourcePath`.

Methods

-------

Method

Description

[`addChild(child)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/addChild)

Adds a child component that will have its lifecycle managed by the renderer.

Use this to add a dependent child to the renderer such that if the containerEl of the child is ever removed, the component's unload will be called.

[`getSectionInfo(el)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/getSectionInfo)

Gets the section information of this element at this point in time. Only call this function right before you need this information to get the most up-to-date version. This function may also return null in many circumstances; if you use it, you must be prepared to deal with nulls.

Links to this page

[addChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/addChild)

[createCodeBlockPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/createCodeBlockPostProcessor)

[docId](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/docId)

[frontmatter](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/frontmatter)

[getSectionInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/getSectionInfo)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[registerMarkdownCodeBlockProcessor](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownCodeBlockProcessor)

[sourcePath](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/sourcePath)

MarkdownPostProcessorContext

Not found

This page does not exist

Interactive graph

On this page

MarkdownPostProcessorContext interface

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch
----

prepareSimpleSearch

Not found

This page does not exist

Interactive graph

On this page

prepareSimpleSearch() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/getViewData
----

getViewData

===========

    aliases: "TextFileView.getViewData"

    cssclasses: hide-title

[`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView) › [`getViewData`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/getViewData)

TextFileView.getViewData() method

---------------------------------

Gets the data from the editor. This will be called to save the editor contents to the file.

0.10.12

**Signature:**

    abstract getViewData(): string;

**Returns:**

`string`

Links to this page

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

getViewData

Not found

This page does not exist

Interactive graph

On this page

TextFileView.getViewData() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/trashLocal
----

trashLocal

==========

    aliases: "DataAdapter.trashLocal"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`trashLocal`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/trashLocal)

DataAdapter.trashLocal() method

-------------------------------

Move to local trash. Files will be moved into the `.trash` folder at the root of the vault.

**Signature:**

    trashLocal(normalizedPath: string): Promise<void>;

Parameters

----------

`Promise<void>`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

trashLocal

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.trashLocal() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/buttonEl
----

buttonEl

========

    aliases: "ButtonComponent.buttonEl"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`buttonEl`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/buttonEl)

ButtonComponent.buttonEl property

---------------------------------

0.9.7

**Signature:**

    buttonEl: HTMLButtonElement;

Links to this page

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

buttonEl

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.buttonEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/shouldHide
----

shouldHide

Not found

This page does not exist

Interactive graph

On this page

BasesOptionGroup.shouldHide property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModifier
----

isModifier

==========

    aliases: "Keymap.isModifier"

    cssclasses: hide-title

[`Keymap`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap) › [`isModifier`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModifier)

Keymap.isModifier() method

--------------------------

Checks whether the modifier key is pressed during this event.

0.12.17

**Signature:**

    static isModifier(evt: MouseEvent | TouchEvent | KeyboardEvent, modifier: Modifier): boolean;

Parameters

----------

Parameter

Type

Description

`evt`

`MouseEvent` `|` `TouchEvent` `|` `KeyboardEvent`

`modifier`

[`Modifier`](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)

**Returns:**

`boolean`

Links to this page

[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)

isModifier

Not found

This page does not exist

Interactive graph

On this page

Keymap.isModifier() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/createBinary
----

createBinary

============

    aliases: "Vault.createBinary"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`createBinary`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/createBinary)

Vault.createBinary() method

---------------------------

Create a new binary file inside the vault.

**Signature:**

    createBinary(path: string, data: ArrayBuffer, options?: DataWriteOptions): Promise<TFile>;

Parameters

----------

`ArrayBuffer`

content for the new file.

`options`

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

_(Optional)_ (Optional)

**Returns:**

`Promise<`[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)`>`

Exceptions

----------

Error if file already exists

0.9.7

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

createBinary

Not found

This page does not exist

Interactive graph

On this page

Vault.createBinary() method

Parameters

Exceptions

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty/name
----

name

====

name

Not found

This page does not exist

Interactive graph

On this page

BasesProperty.name property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setCta
----

setCta

======

    aliases: "ButtonComponent.setCta"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`setCta`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setCta)

ButtonComponent.setCta() method

-------------------------------

0.9.7

**Signature:**

    setCta(): this;

**Returns:**

`this`

Links to this page

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

setCta

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.setCta() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/(constructor)
----

(constructor)

=============

    aliases: "MarkdownEditView.(constructor)"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/\(constructor\))

MarkdownEditView.(constructor)

------------------------------

Constructs a new instance of the `MarkdownEditView` class

**Signature:**

    constructor(view: MarkdownView);

Parameters

----------

Parameter

Type

Description

`view`

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

Links to this page

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem
----

WorkspaceItem

=============

    aliases: "WorkspaceItem"

    cssclasses: hide-title

[`WorkspaceItem`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)

WorkspaceItem class

-------------------

0.10.2

**Signature:**

    export abstract class WorkspaceItem extends Events 

**Extends:** [`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events)

Properties

----------

Methods

-------

Method

Modifiers

Description

[`getContainer()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getContainer)

Get the root container parent item, which can be one of: - [WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot) - [WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

0.15.4

[`getRoot()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getRoot)

0.10.2

[`off(name, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[`offref(ref)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[`on(name: string, callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/on)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[getContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getContainer)

[getRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getRoot)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[parent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/parent)

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

WorkspaceItem

Not found

This page does not exist

Interactive graph

On this page

WorkspaceItem class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Blockquote
----

Blockquote

==========

    cssclasses: reference

This page lists CSS variables for blockquotes.

CSS variables

-------------

Variable

Description

`--blockquote-background-color`

Blockquote background color

`--blockquote-border-thickness`

Blockquote left border thickness

`--blockquote-border-color`

Blockquote left border color

`--blockquote-font-style`

Blockquote font style (e.g. normal, italic)

`--blockquote-color`

Blockquote text color

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Blockquote

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Instruction
----

Instruction

===========

    aliases: "Instruction"

    cssclasses: hide-title

[`Instruction`](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)

Instruction interface

---------------------

0.9.20

**Signature:**

    export interface Instruction 

Properties

----------

Property

Modifiers

Type

Description

[`command`](https://docs.obsidian.md/Reference/TypeScript+API/Instruction/command)

`string`

0.9.20

[`purpose`](https://docs.obsidian.md/Reference/TypeScript+API/Instruction/purpose)

`string`

0.9.20

Links to this page

[command](https://docs.obsidian.md/Reference/TypeScript+API/Instruction/command)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[purpose](https://docs.obsidian.md/Reference/TypeScript+API/Instruction/purpose)

[setInstructions](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setInstructions)

[setInstructions](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/setInstructions)

Instruction

Not found

This page does not exist

Interactive graph

On this page

Instruction interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Dropdowns
----

Dropdowns

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/modalEl
----

modalEl

=======

    aliases: "Modal.modalEl"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`modalEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/modalEl)

Modal.modalEl property

----------------------

**Signature:**

    modalEl: HTMLElement;

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

modalEl

Not found

This page does not exist

Interactive graph

On this page

Modal.modalEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/headers
----

headers

=======

    aliases: "RequestUrlParam.headers"

    cssclasses: hide-title

[`RequestUrlParam`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam) › [`headers`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/headers)

RequestUrlParam.headers property

--------------------------------

**Signature:**

    headers?: Record<string, string>;

Links to this page

[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)

headers

Not found

This page does not exist

Interactive graph

On this page

RequestUrlParam.headers property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Stat/size
----

size

====

    aliases: "Stat.size"

    cssclasses: hide-title

[`Stat`](https://docs.obsidian.md/Reference/TypeScript+API/Stat) › [`size`](https://docs.obsidian.md/Reference/TypeScript+API/Stat/size)

Stat.size property

------------------

Size on disk, as bytes.

**Signature:**

    size: number;

Links to this page

[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)

size

Not found

This page does not exist

Interactive graph

On this page

Stat.size property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent
----

DropdownComponent

=================

    aliases: "DropdownComponent"

    cssclasses: hide-title

[`DropdownComponent`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

DropdownComponent class

-----------------------

0.9.7

**Signature:**

    export class DropdownComponent extends ValueComponent<string> 

**Extends:** [`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)`<string>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/\(constructor\))

Constructs a new instance of the `DropdownComponent` class

Properties

----------

[`selectEl`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/selectEl)

`HTMLSelectElement`

0.9.7

Methods

-------

Method

Modifiers

Description

[`addOption(value, display)`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/addOption)

0.9.7

[`addOptions(options)`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/addOptions)

0.9.7

[`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/getValue)

0.9.7

[`onChange(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/onChange)

0.9.7

[`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

0.9.7

(Inherited from [ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent))

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/setDisabled)

1.2.3

[`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/setValue)

0.9.7

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/\(constructor\))

[addDropdown](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addDropdown)

[addOption](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/addOption)

[addOptions](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/addOptions)

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/getValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onChange](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/onChange)

[selectEl](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/selectEl)

[setDisabled](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/setDisabled)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/setValue)

DropdownComponent

Not found

This page does not exist

Interactive graph

On this page

DropdownComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs
----

iterateRefs

Not found

This page does not exist

Interactive graph

On this page

iterateRefs() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache
----

MetadataCache

=============

    aliases: "MetadataCache"

    cssclasses: hide-title

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)

MetadataCache class

-------------------

Linktext is any internal link that is composed of a path and a subpath, such as 'My note#Heading' Linkpath (or path) is the path part of a linktext Subpath is the heading/block ID part of a linktext.

**Signature:**

    export class MetadataCache extends Events 

**Extends:** [`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events)

Properties

----------

Property

Modifiers

Type

Description

[`resolvedLinks`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/resolvedLinks)

`Record``<string,` `Record``<string, number>>`

Contains all resolved links. This object maps each source file's path to an object of destination file paths with the link count. Source and destination paths are all vault absolute paths that comes from `TFile.path` and can be used with `Vault.getAbstractFileByPath(path)`.

[`unresolvedLinks`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/unresolvedLinks)

`Record``<string,` `Record``<string, number>>`

Contains all unresolved links. This object maps each source file to an object of unknown destinations with count. Source paths are all vault absolute paths, similar to `resolvedLinks`.

Methods

-------

Method

Modifiers

Description

[`fileToLinktext(file, sourcePath, omitMdExtension)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/fileToLinktext)

Generates a linktext for a file.

If file name is unique, use the filename. If not unique, use full path.

[`getCache(path)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getCache)

0.14.5

[`getFileCache(file)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFileCache)

0.9.21

[`getFirstLinkpathDest(linkpath, sourcePath)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFirstLinkpathDest)

Get the best match for a linkpath.

0.12.5

[`off(name, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[`offref(ref)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[`on(name: 'changed', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('changed'\))

Called when a file has been indexed, and its (updated) cache is now available.

Note: This is not called when a file is renamed for performance reasons. You must hook the vault rename event for those.

[`on(name: 'deleted', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('deleted'\))

Called when a file has been deleted. A best-effort previous version of the cached metadata is presented, but it could be null in case the file was not successfully cached previously.

[`on(name: 'resolve', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('resolve'\))

Called when a file has been resolved for `resolvedLinks` and `unresolvedLinks`. This happens sometimes after a file has been indexed.

[`on(name: 'resolved', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('resolved'\))

Called when all files has been resolved. This will be fired each time files get modified after the initial load.

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

[fileToLinktext](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/fileToLinktext)

[getCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getCache)

[getFileCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFileCache)

[getFirstLinkpathDest](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFirstLinkpathDest)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[on('changed')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('changed'\))

[on('deleted')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('deleted'\))

[on('resolve')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('resolve'\))

[on('resolved')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('resolved'\))

[resolvedLinks](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/resolvedLinks)

[unresolvedLinks](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/unresolvedLinks)

MetadataCache

Not found

This page does not exist

Interactive graph

On this page

MetadataCache class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HSL/s
----

s

Not found

This page does not exist

Interactive graph

On this page

HSL.s property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/Workspace
----

Splits

Inspect the workspace

Leaf lifecycle

Leaf groups

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SectionCache/id
----

id

==

    aliases: "SectionCache.id"

    cssclasses: hide-title

[`SectionCache`](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache) › [`id`](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache/id)

SectionCache.id property

------------------------

The block ID of this section, if defined.

**Signature:**

    id?: string | undefined;

Links to this page

[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)

id

Not found

This page does not exist

Interactive graph

On this page

SectionCache.id property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Tasks/add
----

add

Not found

This page does not exist

Interactive graph

On this page

Tasks.add() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/fileManager
----

fileManager

===========

    aliases: "App.fileManager"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) › [`fileManager`](https://docs.obsidian.md/Reference/TypeScript+API/App/fileManager)

App.fileManager property

------------------------

0.11.0

**Signature:**

    fileManager: FileManager;

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

fileManager

Not found

This page does not exist

Interactive graph

On this page

App.fileManager property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Foundations/Colors
----

Colors

======

    cssclasses: reference

The Obsidian color palette defines a range of colors used in the app.

Base colors

-----------

The base colors is a neutral color palette ranging from light to dark. These values should typically only be defined by themes.

Variable

Default value (light mode)

Default value (dark mode)

`--color-base-00`

`#ffffff`

`#1e1e1e`

`--color-base-05`

`#fcfcfc`

`#212121`

`--color-base-10`

`#fafafa`

`#242424`

`--color-base-20`

`#f6f6f6`

`#262626`

`--color-base-25`

`#e3e3e3`

`#2a2a2a`

`--color-base-30`

`#e0e0e0`

`#363636`

`--color-base-35`

`#d4d4d4`

`#3f3f3f`

`--color-base-40`

`#bdbdbd`

`#555555`

`--color-base-50`

`#ababab`

`#666666`

`--color-base-60`

`#707070`

`#999999`

`--color-base-70`

`#5a5a5a`

`#bababa`

`--color-base-100`

`#222222`

`#dadada`

Accent color

------------

The accent color is used to draw attention to interactive elements, such as links and primary buttons, and can be overridden by the user under **Settings → Appearance** in the Obsidian app.

Variable

Default value

Description

`--accent-h`

`254`

Accent hue

`--accent-s`

`80%`

Accent saturation

`--accent-l`

`68%`

Accent lightness

Tip

You can use [CSS calculations](https://developer.mozilla.org/en-US/docs/Web/CSS/calc) to create a variety of shades based on the accent color.

Extended colors

---------------

Extended color variables define the broader range of colors used for status messages (errors, warnings, success), callouts, syntax highlighting, graph nodes, and Canvas elements.

Each extended color has an additional RGB variable with a `-rgb` suffix that you can use to create colors with opacity, using the `rgba` function.

For example, the following snippet uses the default variable to set the text color, and the RGB variable to set a background color to red with 20% opacity.

    color: var(--color-red);

    background-color: rgba(var(--color-red-rgb), 0.2);

Variable

Default value (light mode)

Default value (dark mode)

`--color-red`

`#e93147`

`#fb464c`

`--color-orange`

`#ec7500`

`#e9973f`

`--color-yellow`

`#e0ac00`

`#e0de71`

`--color-green`

`#08b94e`

`#44cf6e`

`--color-cyan`

`#00bfbc`

`#53dfdd`

`--color-blue`

`#086ddd`

`#027aff`

`--color-purple`

`#7852ee`

`#a882ff`

`--color-pink`

`#d53984`

`#fa99cd`

`--color-red-rgb`

`233, 49, 71`

`251, 70, 76`

`--color-orange-rgb`

`236, 117, 0`

`233, 151, 63`

`--color-yellow-rgb`

`224, 172, 0`

`224, 222, 113`

`--color-green-rgb`

`8, 185, 78`

`68, 207, 110`

`--color-cyan-rgb`

`0, 191, 188`

`83, 223, 221`

`--color-blue-rgb`

`8, 109, 221`

`2, 122, 255`

`--color-purple-rgb`

`120, 82, 238`

`168, 130, 255`

`--color-pink-rgb`

`213, 57, 132`

`250, 153, 205`

Black and white

---------------

Black and white colors let you create masks with opacity.

Variable

Default value (light mode)

Default value (dark mode)

`--mono-rgb-0`

`255, 255, 255`

`0, 0, 0`

`--mono-rgb-100`

`0, 0, 0`

`255, 255, 255`

Warning

Avoid changing the value of black and white variables.

Semantic colors

---------------

Semantic colors are derived from the base color palette based on their intended use.

#### Surface colors

Primary background

Alt. primary background

Secondary background

Alt. secondary background

Variable

Description

`--background-primary`

Primary background

`--background-primary-alt`

Background for surfaces on top of primary background

`--background-secondary`

Secondary background

`--background-secondary-alt`

Background for surfaces on top of secondary background

`--background-modifier-hover`

Hovered elements

`--background-modifier-active-hover`

Active hovered elements

`--background-modifier-border`

Border color

`--background-modifier-border-hover`

Border color (hover)

`--background-modifier-border-focus`

Border color (focus)

`--background-modifier-error-rgb`

Error background, RGB value

`--background-modifier-error`

Error background

`--background-modifier-error-hover`

Error background (hover)

`--background-modifier-success-rgb`

Success background, RGB value

`--background-modifier-success`

Success background

`--background-modifier-message`

Messages background

`--background-modifier-form-field`

Form field background

#### Interactive colors

Variable

Description

`--interactive-normal`

Background for standard interactive elements

`--interactive-hover`

Background for standard interactive elements (hover)

`--interactive-accent`

Background for accented interactive elements

`--interactive-accent-hsl`

Background for accented interactive elements in HSL

`--interactive-accent-hover`

Background for accented interactive elements (hover)

### Text colors

#### Text foreground colors

Variable

Description

`--text-normal`

Normal text

`--text-muted`

Muted text

`--text-faint`

Faint text

`--text-on-accent`

Text on accent background when accent is dark

`--text-on-accent-inverted`

Text on accent background when accent is light

`--text-success`

Success text

`--text-warning`

Warning text

`--text-error`

Error text

`--text-accent`

Accent text

`--text-accent-hover`

Accent text (hover)

#### Text background colors

Variable

Description

`--text-selection`

Selected text background

`--text-highlight-bg`

Highlighted text background

#### Caret color

Defines the color of the caret, the blinking text entry cursor.

Variable

Description

`--caret-color`

Caret color

Links to this page

[Button](https://docs.obsidian.md/Reference/CSS+variables/Components/Button)

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Colors

Not found

This page does not exist

Interactive graph

On this page

Base colors

Accent color

Extended colors

Black and white

Semantic colors

Surface colors

Interactive colors

Text colors

Text foreground colors

Text background colors

Caret color

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption
----

BasesFormulaOption

==================

    aliases: "BasesFormulaOption"

    cssclasses: hide-title

[`BasesFormulaOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption)

BasesFormulaOption interface

----------------------------

A text input supporting formula evaluation.

1.10.2

**Signature:**

    export interface BasesFormulaOption extends BasesOption 

**Extends:** [`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

Properties

----------

Property

Modifiers

Type

Description

[`default?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/default)

`string`

_(Optional)_ 1.10.2

[`displayName`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/displayName)

`string`

1.10.0

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`key`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/key)

`string`

1.10.0

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`placeholder?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/placeholder)

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/type)

`'formula'`

1.10.2

Links to this page

[BasesOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

[default](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/default)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[placeholder](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/placeholder)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/type)

BasesFormulaOption

Not found

This page does not exist

Interactive graph

On this page

BasesFormulaOption interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('quick-preview')
----

on('quick-preview')

===================

    aliases: "Workspace.on('quick-preview')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('quick-preview')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('quick-preview'\))

Workspace.on('quick-preview') method

------------------------------------

Triggered when the active Markdown file is modified. React to file changes before they are saved to disk.

0.9.7

**Signature:**

    on(name: 'quick-preview', callback: (file: TFile, data: string) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'quick-preview'`

`callback`

`(file:` [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)`, data: string) => any`

on('quick-preview')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('quick-preview') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/displayName
----

displayName

===========

    aliases: "BasesOption.displayName"

    cssclasses: hide-title

[`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption) › [`displayName`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/displayName)

BasesOption.displayName property

--------------------------------

1.10.0

**Signature:**

    displayName: string;

displayName

Not found

This page does not exist

Interactive graph

On this page

BasesOption.displayName property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/setDisabled
----

setDisabled

===========

setDisabled

Not found

This page does not exist

Interactive graph

On this page

DropdownComponent.setDisabled() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Events/on
----

on

==

    aliases: "Events.on"

    cssclasses: hide-title

[`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events) › [`on`](https://docs.obsidian.md/Reference/TypeScript+API/Events/on)

Events.on() method

------------------

0.9.7

**Signature:**

    on(name: string, callback: (...data: unknown[]) => unknown, ctx?: any): EventRef;

Parameters

----------


`ctx`

`any`

_(Optional)_

**Returns:**

[`EventRef`](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)

Links to this page

[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)

[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)

[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)

on

Not found

This page does not exist

Interactive graph

On this page

Events.on() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/limit
----

limit

=====

    aliases: "EditorSuggest.limit"

    cssclasses: hide-title

[`EditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest) › [`limit`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/limit)

EditorSuggest.limit property

----------------------------

Override this to use a different limit for suggestion items

0.12.17

**Signature:**

    limit: number;

Links to this page

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

limit

Not found

This page does not exist

Interactive graph

On this page

EditorSuggest.limit property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/previewMode
----

previewMode

===========

    aliases: "MarkdownView.previewMode"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) › [`previewMode`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/previewMode)

MarkdownView.previewMode property

---------------------------------

**Signature:**

    previewMode: MarkdownPreviewView;

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

previewMode

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.previewMode property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer
----

getBlobArrayBuffer

==================

    aliases: "getBlobArrayBuffer"

    cssclasses: hide-title

[`getBlobArrayBuffer`](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)

getBlobArrayBuffer() function

-----------------------------

**Signature:**

    export function getBlobArrayBuffer(blob: Blob): Promise<ArrayBuffer>;

Parameters

----------

Parameter

Type

Description

`blob`

`Blob`

**Returns:**

`Promise<``ArrayBuffer``>`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

getBlobArrayBuffer

Not found

This page does not exist

Interactive graph

On this page

getBlobArrayBuffer() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/default
----

default

=======

    aliases: "BasesFormulaOption.default"

    cssclasses: hide-title

[`BasesFormulaOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption) › [`default`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/default)

BasesFormulaOption.default property

-----------------------------------

1.10.2

**Signature:**

    default?: string;

Links to this page

[BasesFormulaOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption)

default

Not found

This page does not exist

Interactive graph

On this page

BasesFormulaOption.default property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/addOption
----

addOption

Not found

This page does not exist

Interactive graph

On this page

DropdownComponent.addOption() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Table
----

Table

=====

    cssclasses: reference

This page lists CSS variables for tables.

CSS variables

-------------

Variable

Description

`--table-background`

Table background color

`--table-border-width`

Table border width

`--table-border-color`

Table border color

`--table-cell-vertical-alignment`

Cell vertical alignment

`--table-white-space`

Table `white-space` property

`--table-header-background`

Table header background color

`--table-header-background-hover`

Table header background color (hover)

`--table-header-border-width`

Table header border width

`--table-header-border-color`

Table header border color

`--table-header-font`

Table header font family

`--table-header-size`

Table header font size

`--table-header-weight`

Table header font weight

`--table-header-color`

Table header text color

`--table-line-height`

Line height for cell text

`--table-text-size`

Cell font size

`--table-text-color`

Cell text color

`--table-column-max-width`

Column maximum width

`--table-column-alt-background`

Alternating column background color

`--table-column-first-border-width`

First column left border width

`--table-column-last-border-width`

Last column right border width

`--table-row-background-hover`

Row background color (hover)

`--table-row-alt-background`

Alternating row background color

`--table-row-alt-background-hover`

Alternating row background color (hover)

`--table-row-last-border-width`

Last row bottom border width

`--table-selection`

Selection background color

`--table-selection-blend-mode`

Selection blend mode

`--table-selection-border-color`

Selection border color

`--table-selection-border-width`

Selection border width

`--table-selection-border-radius`

Selection border radius

`--table-drag-handle-background`

Drag handle background color

`--table-drag-handle-background-active`

Drag handle background color (active)

`--table-drag-handle-color`

Drag handle icon color

`--table-drag-handle-color-active`

Drag handle icon color (active)

`--table-add-button-background`

"Add" button background color

`--table-add-button-border-width`

"Add" button border width

`--table-add-button-border-color`

"Add" button border color

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Table

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateAllLeaves
----

iterateAllLeaves

================

    aliases: "Workspace.iterateAllLeaves"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`iterateAllLeaves`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateAllLeaves)

Workspace.iterateAllLeaves() method

-----------------------------------

Iterate through all leaves, including main area leaves, floating leaves, and sidebar leaves.

0.9.7

**Signature:**

    iterateAllLeaves(callback: (leaf: WorkspaceLeaf) => any): void;

Parameters

----------

iterateAllLeaves

Not found

This page does not exist

Interactive graph

On this page

Workspace.iterateAllLeaves() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesView
----

BasesView

=========

    aliases: "BasesView"

    cssclasses: hide-title

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

BasesView class

---------------

Plugins can create a class which extends this in order to render a Base. Plugins should create a function, then call `plugin.registerView` to register the view factory.

1.10.0

**Signature:**

    export abstract class BasesView extends Component 

**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(controller)`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/\(constructor\))

`protected`

1.10.0

Properties

----------

Property

Modifiers

Type

Description

[`allProperties`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/allProperties)

[`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)`[]`

All available properties from the dataset.

1.10.0

[`app`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/app)

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

1.10.0

[`config`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/config)

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

The config object for this view.

1.10.0

[`data`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/data)

[`BasesQueryResult`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult)

The most recent output from executing the bases query, applying filters, and evaluating formulas. This object will be replaced with a new result set when changes to the vault or Bases config occur, so views should not keep a reference to it. Also note the contained BasesEntry objects will be recreated.

1.10.0

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/type)

`abstract`

`string`

The type ID of this view

1.10.0

Methods

-------

[`createFileForView(baseFileName, frontmatterProcessor)`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/createFileForView)

Display the new note menu for a file with the provided filename and optionally a function to modify the frontmatter.

1.10.2

[`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load)

Load this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`onDataUpdated()`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/onDataUpdated)

`abstract`

Called when there is new data for the query. This view should rerender with the updated data.

1.10.0

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/\(constructor\))

[allProperties](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/allProperties)

[app](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/app)

[BasesViewFactory](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewFactory)

[Build a Bases view](https://docs.obsidian.md/plugins/guides/bases-view)

[config](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/config)

[createFileForView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/createFileForView)

[data](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/data)

[getEvaluatedFormula](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getEvaluatedFormula)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onDataUpdated](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/onDataUpdated)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/type)

BasesView

Not found

This page does not exist

Interactive graph

On this page

BasesView class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock
----

WorkspaceSidedock

=================

    aliases: "WorkspaceSidedock"

    cssclasses: hide-title

[`WorkspaceSidedock`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)

WorkspaceSidedock class

-----------------------

0.15.4

**Signature:**

    export class WorkspaceSidedock extends WorkspaceSplit 

**Extends:** [`WorkspaceSplit`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)

Properties

----------

Property

Modifiers

Type

Description

[`collapsed`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/collapsed)

`boolean`

0.12.11

[`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit/parent)

[`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

(Inherited from [WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit))

Methods

-------

Method

Modifiers

Description

[`collapse()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/collapse)

0.12.11

[`expand()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/expand)

0.12.11

[`toggle()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/toggle)

0.12.11

[collapse](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/collapse)

[collapsed](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/collapsed)

[expand](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/expand)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[toggle](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/toggle)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

WorkspaceSidedock

Not found

This page does not exist

Interactive graph

On this page

WorkspaceSidedock class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/eState
----

eState

======

    aliases: "OpenViewState.eState"

    cssclasses: hide-title

[`OpenViewState`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState) › [`eState`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/eState)

OpenViewState.eState property

-----------------------------

**Signature:**

    eState?: Record<string, unknown>;

Links to this page

[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)

eState

Not found

This page does not exist

Interactive graph

On this page

OpenViewState.eState property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getRoot
----

getRoot

=======

    aliases: "WorkspaceItem.getRoot"

    cssclasses: hide-title

[`WorkspaceItem`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem) › [`getRoot`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getRoot)

WorkspaceItem.getRoot() method

------------------------------

0.10.2

**Signature:**

    getRoot(): WorkspaceItem;

**Returns:**

[`WorkspaceItem`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)

getRoot

Not found

This page does not exist

Interactive graph

On this page

WorkspaceItem.getRoot() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/somethingSelected
----

somethingSelected

Not found

This page does not exist

Interactive graph

On this page

Editor.somethingSelected() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/end
----

end

===

    aliases: "SubpathResult.end"

    cssclasses: hide-title

[`SubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult) › [`end`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/end)

SubpathResult.end property

--------------------------

**Signature:**

    end: Loc | null;

Links to this page

[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)

[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)

[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)

[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)

end

Not found

This page does not exist

Interactive graph

On this page

SubpathResult.end property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/replaceSelection
----

replaceSelection

Not found

This page does not exist

Interactive graph

On this page

EditorTransaction.replaceSelection property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/getCursor
----

getCursor

=========

    aliases: "Editor.getCursor"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`getCursor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getCursor)

Editor.getCursor() method

-------------------------

0.11.11

**Signature:**

    abstract getCursor(side?: 'from' | 'to' | 'head' | 'anchor'): EditorPosition;

Parameters

----------

Parameter

Type

Description

`side`

`'from' | 'to' | 'head' | 'anchor'`

_(Optional)_

**Returns:**

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

getCursor

Not found

This page does not exist

Interactive graph

On this page

Editor.getCursor() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/get
----

get

===

    aliases: "MarkdownEditView.get"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView) › [`get`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/get)

MarkdownEditView.get() method

-----------------------------

**Signature:**

    get(): string;

**Returns:**

`string`

Links to this page

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

get

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView.get() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator
----

ViewCreator

===========

    aliases: "ViewCreator"

    cssclasses: hide-title

[`ViewCreator`](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)

ViewCreator type

----------------

**Signature:**

    export type ViewCreator = (leaf: WorkspaceLeaf) => View;

**References:** [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf), [`View`](https://docs.obsidian.md/Reference/TypeScript+API/View)

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[registerView](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerView)

ViewCreator

Not found

This page does not exist

Interactive graph

On this page

ViewCreator type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction
----

addAction

=========

    aliases: "ItemView.addAction"

    cssclasses: hide-title

[`ItemView`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView) › [`addAction`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction)

ItemView.addAction() method

---------------------------

1.1.0

**Signature:**

    addAction(icon: IconName, title: string, callback: (evt: MouseEvent) => any): HTMLElement;

Parameters

----------

Parameter

Type

Description

`icon`

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

`title`

`string`

`callback`

`(evt:` `MouseEvent``) => any`

**Returns:**

`HTMLElement`

Links to this page

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

addAction

Not found

This page does not exist

Interactive graph

On this page

ItemView.addAction() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Window/Workspace
----

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/limit
----

limit

=====

    aliases: "AbstractInputSuggest.limit"

    cssclasses: hide-title

[`AbstractInputSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest) › [`limit`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/limit)

AbstractInputSuggest.limit property

-----------------------------------

Limit to the number of elements rendered at once. Set to 0 to disable. Defaults to 100.

1.4.10

**Signature:**

    limit: number;

Links to this page

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

limit

Not found

This page does not exist

Interactive graph

On this page

AbstractInputSuggest.limit property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/renderSuggestion
----

renderSuggestion

================

    aliases: "PopoverSuggest.renderSuggestion"

    cssclasses: hide-title

[`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest) › [`renderSuggestion`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/renderSuggestion)

PopoverSuggest.renderSuggestion() method

----------------------------------------

**Signature:**

    abstract renderSuggestion(value: T, el: HTMLElement): void;

Parameters

----------

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)

renderSuggestion

Not found

This page does not exist

Interactive graph

On this page

PopoverSuggest.renderSuggestion() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListValue/isTruthy
----

isTruthy

========

    aliases: "ListValue.isTruthy"

    cssclasses: hide-title

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue) › [`isTruthy`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/isTruthy)

ListValue.isTruthy() method

---------------------------

1.10.0

**Signature:**

    isTruthy(): boolean;

**Returns:**

`boolean`

Links to this page

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

isTruthy

Not found

This page does not exist

Interactive graph

On this page

ListValue.isTruthy() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/registerPostProcessor
----

registerPostProcessor

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewRenderer.registerPostProcessor() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TFile/basename
----

basename

========

    aliases: "TFile.basename"

    cssclasses: hide-title

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) › [`basename`](https://docs.obsidian.md/Reference/TypeScript+API/TFile/basename)

TFile.basename property

-----------------------

0.9.7

**Signature:**

    basename: string;

Links to this page

[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

basename

Not found

This page does not exist

Interactive graph

On this page

TFile.basename property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command
----

Command

Not found

This page does not exist

Interactive graph

On this page

Command interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/index
----

index

=====

    aliases: ""

    cssclasses: hide-title

obsidian package

----------------

Classes

-------

Class

Description

[`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

0.9.21

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

0.9.7

[`BasesEntry`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry)

Represent a single "row" or file in a base.

1.10.0

[`BasesEntryGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup)

A group of BasesEntry objects for a given value of the groupBy key. If there are entries in the results which do not have a value for the groupBy key, the key will be the [NullValue](https://docs.obsidian.md/Reference/TypeScript+API/NullValue).

1.10.0

[`BasesQueryResult`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult)

The BasesQueryResult contains all of the available information from executing the bases query, applying filters, and evaluating formulas. The `data` or `groupedData` should be displayed by your view.

1.10.0

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

The in-memory representation of a single entry in the "views" section of a Bases file. Contains settings and configuration options set by the user from the toolbar menus and view options.

1.10.0

[`BooleanValue`](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a boolean.

1.10.0

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

0.9.7

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

Implementation of the vault adapter for mobile devices.

1.7.2

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

Color picker component. Values are by default 6-digit hash-prefixed hex strings like `#000000`.

1.0.0

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)

0.9.7

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a Date.

1.10.0

[`DropdownComponent`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

0.9.7

[`DurationValue`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a duration. Durations can be used to modify a [DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue) or can result from subtracting a DateValue from another.

1.10.0

[`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events)

0.9.7

[`ExtraButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)

0.9.7

[`FileManager`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)

Manage the creation, deletion and renaming of files from the UI.

0.9.7

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

Implementation of the vault adapter for desktop.

[`FileValue`](https://docs.obsidian.md/Reference/TypeScript+API/FileValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a file in Obsidian.

1.10.0

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)

0.15.0

[`HTMLValue`](https://docs.obsidian.md/Reference/TypeScript+API/HTMLValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping raw HTML.

1.10.0

[`IconValue`](https://docs.obsidian.md/Reference/TypeScript+API/IconValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a renderable icon.

1.10.0

[`ImageValue`](https://docs.obsidian.md/Reference/TypeScript+API/ImageValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a path to an image resource in the vault.

1.10.0

[`Keymap`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)

Manages keymap lifecycle for different [Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)s.

0.13.9

[`LinkValue`](https://docs.obsidian.md/Reference/TypeScript+API/LinkValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping an internal wikilink.

1.10.0

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping an array of Values. Values do not all need to be of the same type.

1.10.0

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

This is the editor for Obsidian Mobile as well as the WYSIWYG editor.

[`MarkdownPreviewRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)

0.9.7

[`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[`MarkdownRenderChild`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

[`MenuItem`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)

[`MenuSeparator`](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)

0.15.3

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)

Linktext is any internal link that is composed of a path and a subpath, such as 'My note#Heading' Linkpath (or path) is the path part of a linktext Subpath is the heading/block ID part of a linktext.

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[`MomentFormatComponent`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

0.9.7

[`Notice`](https://docs.obsidian.md/Reference/TypeScript+API/Notice)

Notification component. Use to present timely, high-value information.

0.9.7

[`NullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) which represents null. NullValue is a singleton and `NullValue.value` should be used instead of calling the constructor.

1.10.0

[`NumberValue`](https://docs.obsidian.md/Reference/TypeScript+API/NumberValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a number.

1.10.0

[`ObjectValue`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping an object.

1.10.0

[`ProgressBarComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

1.4.4

[`QueryController`](https://docs.obsidian.md/Reference/TypeScript+API/QueryController)

Responsible for executing the Bases query and evaluating filters and formulas. Notifies views of updated results.

1.10.0

[`RegExpValue`](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a RegExp pattern.

1.10.0

[`RelativeDateValue`](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a Date. RelativeDateValue behaves the same as a [DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue) however it renders as a time relative to now.

1.10.0

[`RenderContext`](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext)

Utility functions for rendering Values within the app.

1.10.0

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope)

A scope receives keyboard events and binds callbacks to given hotkeys. Only one scope is active at a time, but scopes may define parent scopes (in the constructor) and inherit their hotkeys.

[`SearchComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

0.9.21

[`SecretComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent)

1.11.1

[`SecretStorage`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage)

1.11.4

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

0.9.7

[`SettingGroup`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup)

1.11.0

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

0.9.7

[`StringValue`](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a string.

1.10.0

[`TagValue`](https://docs.obsidian.md/Reference/TypeScript+API/TagValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping an Obsidian tag.

1.10.0

[`Tasks`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)

0.10.2

[`TextAreaComponent`](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

0.9.7

[`TextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

0.9.21

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

0.9.7

[`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)

0.9.7

[`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

0.9.7

[`UrlValue`](https://docs.obsidian.md/Reference/TypeScript+API/UrlValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping an external link.

1.10.0

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

Work with files and folders stored inside a vault.

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

0.9.7

[`WorkspaceFloating`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)

0.15.2

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

[`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

1.6.6

[`WorkspaceRibbon`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)

[`WorkspaceRoot`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)

0.15.2

[`WorkspaceSidedock`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)

0.15.4

[`WorkspaceSplit`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)

0.9.7

[`WorkspaceTabs`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)

[`WorkspaceWindow`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

0.15.4

Abstract Classes

----------------

Abstract Class

Description

[`AbstractInputSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

Attach to an `<input>` element or a `<div contentEditable>` to add type-ahead support.

1.4.10

[`BaseComponent`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)

0.10.3

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

Plugins can create a class which extends this in order to render a Base. Plugins should create a function, then call `plugin.registerView` to register the view factory.

1.10.0

[`EditableFileView`](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

0.9.7

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

A common interface that bridges the gap between CodeMirror 5 and CodeMirror 6.

0.11.11

[`EditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

0.12.17

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[`FuzzySuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

0.9.20

[`ItemView`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

0.9.7

[`MarkdownRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

0.9.7

[`NotNullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

Base type for all non-null .

1.10.0

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

0.9.7

[`PluginSettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

Provides a unified interface for users to configure the plugin.

[`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)

Base class for adding a type-ahead popover.

[`PrimitiveValue`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue)

Base type for which wrap a single primitive.

1.10.0

[`SettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

0.9.20

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

This can be either a `TFile` or a `TFolder`.

0.9.7

[`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

This class implements a plaintext-based editable file view, which can be loaded and saved given an editor.

Note that by default, this view only saves when it's closing. To implement auto-save, your editor should call `this.requestSave()` when the content is changed.

0.10.12

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value)

Container type for data which can expose functions for retrieving, comparing, and rendering the data. Most commonly used in conjunction with formulas for Bases. Values can be used as formula parameters, intermediate values, and the result of evaluation.

1.10.0

[`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)

0.9.7

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View)

0.9.7

[`WorkspaceContainer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

0.15.4

[`WorkspaceItem`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)

0.10.2

[`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

0.9.7

Enumerations

------------

Enumeration

Description

[`PopoverState`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)

Functions

---------

Function

Description

[`addIcon(iconId, svgContent)`](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)

Adds an icon to the library.

[`arrayBufferToBase64(buffer)`](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)

[`arrayBufferToHex(data)`](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)

[`base64ToArrayBuffer(base64)`](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)

[`debounce(cb, timeout, resetTimer)`](https://docs.obsidian.md/Reference/TypeScript+API/debounce)

A standard debounce function. Use this to have a time-delayed function only be called once in a given timeframe.

[`displayTooltip(newTargetEl, content, options)`](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)

Manually trigger a tooltip that will appear over the provided element.

To display a tooltip on hover, use [setTooltip()](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip) instead.

1.8.7

[`finishRenderMath()`](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)

Flush the MathJax stylesheet.

[`getAllTags(cache)`](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)

Combines all tags from frontmatter and note content into a single array.

[`getBlobArrayBuffer(blob)`](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)

[`getFrontMatterInfo(content)`](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)

Given the contents of a file, get information about the frontmatter of the file, including whether there is a frontmatter block, the offsets of where it starts and ends, and the frontmatter text.

1.5.7

[`getIcon(iconId)`](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)

Create an SVG from an iconId. Returns null if no icon associated with the iconId.

[`getIconIds()`](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)

Get the list of registered icons.

[`getLanguage()`](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)

Get the ISO code for the currently configured app language. Defaults to 'en'. See [https://github.com/obsidianmd/obsidian-translations?tab=readme-ov-file#existing-languages](https://github.com/obsidianmd/obsidian-translations?tab=readme-ov-file#existing-languages) for list of options.

1.8.7

[`getLinkpath(linktext)`](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)

Converts the linktext to a linkpath.

[`hexToArrayBuffer(hex)`](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)

[`htmlToMarkdown(html)`](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)

Converts HTML to a Markdown string.

[`iterateCacheRefs(cache, cb)`](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)

Iterate links and embeds. If callback returns true, the iteration process will be interrupted.

[`iterateRefs(refs, cb)`](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)

If callback returns true, the iteration process will be interrupted.

[`loadMathJax()`](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)

Load MathJax.

[`loadMermaid()`](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)

Load Mermaid and return a promise to the global mermaid object. Can also use `mermaid` after this promise resolves to get the same reference.

[`loadPdfJs()`](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)

Load PDF.js and return a promise to the global pdfjsLib object. Can also use `window.pdfjsLib` after this promise resolves to get the same reference.

[`loadPrism()`](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)

Load Prism.js and return a promise to the global Prism object. Can also use `Prism` after this promise resolves to get the same reference.

[`normalizePath(path)`](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)

[`parseFrontMatterAliases(frontmatter)`](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)

[`parseFrontMatterEntry(frontmatter, key)`](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)

[`parseFrontMatterStringArray(frontmatter, key)`](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)

[`parseFrontMatterTags(frontmatter)`](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)

[`parseLinktext(linktext)`](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)

Parses the linktext of a wikilink into its component parts.

[`parsePropertyId(propertyId)`](https://docs.obsidian.md/Reference/TypeScript+API/parsePropertyId)

Split a Bases property ID into constituent parts.

1.10.0

[`parseYaml(yaml)`](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)

[`prepareFuzzySearch(query)`](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)

Construct a fuzzy search callback that runs on a target string. Performance may be an issue if you are running the search for more than a few thousand times. If performance is a problem, consider using `prepareSimpleSearch` instead.

[`prepareSimpleSearch(query)`](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)

Construct a simple search callback that runs on a target string.

[`removeIcon(iconId)`](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)

Remove a custom icon from the library.

[`renderMatches(el, text, matches, offset)`](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)

[`renderMath(source, display)`](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)

Render some LaTeX math using the MathJax engine. Returns an HTMLElement. Requires calling `finishRenderMath` when rendering is all done to flush the MathJax stylesheet.

[`renderResults(el, text, result, offset)`](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)

[`request(request)`](https://docs.obsidian.md/Reference/TypeScript+API/request)

Similar to `fetch()`, request a URL using HTTP/HTTPS, without any CORS restrictions. Returns the text value of the response.

0.12.11

[`requestUrl(request)`](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)

Similar to `fetch()`, request a URL using HTTP/HTTPS, without any CORS restrictions.

[`requireApiVersion(version)`](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)

Returns true if the API version is equal or higher than the requested version. Use this to limit functionality that require specific API versions to avoid crashing on older Obsidian builds.

[`resolveSubpath(cache, subpath)`](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)

Resolve the given subpath to a reference in the MetadataCache.

[`sanitizeHTMLToDom(html)`](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)

[`setIcon(parent, iconId)`](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)

Insert an SVG into the element from an iconId. Does nothing if no icon associated with the iconId.

[`setTooltip(el, tooltip, options)`](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)

[`sortSearchResults(results)`](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)

[`stringifyYaml(obj)`](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)

[`stripHeading(heading)`](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)

Normalizes headings for link matching by stripping out special characters and shrinking consecutive spaces.

[`stripHeadingForLink(heading)`](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)

Prepares headings for linking by stripping out some bad combinations of special characters that could break links.

Interfaces

----------

Interface

Description

[`BasesConfigFile`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile)

Represents the serialized format of a Bases query as stored in a `.base` file.

1.10.0

[`BasesConfigFileView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)

1.10.0

[`BasesDropdownOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption)

1.10.0

[`BasesFileOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption)

A text input allowing selection of a file from in the vault.

1.10.2

[`BasesFolderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption)

A text input allowing selection of a folder from in the vault.

1.10.2

[`BasesFormulaOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption)

A text input supporting formula evaluation.

1.10.2

[`BasesMultitextOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption)

1.10.0

[`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

1.10.0

[`BasesOptionGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup)

Collapsible container for other ViewOptions.

1.10.0

[`BasesProperty`](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty)

A parsed version of the [BasesPropertyId](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId).

1.10.0

[`BasesPropertyOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption)

A dropdown menu allowing selection of a property.

1.10.0

[`BasesSliderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption)

1.10.0

[`BasesTextOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption)

1.10.0

[`BasesToggleOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption)

1.10.0

[`BasesViewRegistration`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration)

Container for options when registering a new Bases view type.

1.10.0

[`BlockCache`](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)

0.11.13

[`BlockSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)

0.13.26

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

[`CacheItem`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

[`CliData`](https://docs.obsidian.md/Reference/TypeScript+API/CliData)

1.12.2

[`CliFlag`](https://docs.obsidian.md/Reference/TypeScript+API/CliFlag)

1.12.2

[`CloseableComponent`](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)

A closeable component that can get dismissed via the Android 'back' button.

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command)

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

Work directly with files and folders inside a vault. If possible prefer using the [Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault) API over this.

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

[`Debouncer`](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)

[`EditorChange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)

0.12.11

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

0.12.11

[`EditorRange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)

0.12.11

[`EditorRangeOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)

0.12.11

[`EditorScrollInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)

0.15.0

[`EditorSelection`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)

0.12.11

[`EditorSelectionOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)

0.12.11

[`EditorSuggestContext`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

0.12.17

[`EditorSuggestTriggerInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)

0.12.17

[`EditorTransaction`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)

[`EmbedCache`](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

0.9.7

[`EventRef`](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)

[`FileStats`](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)

[`FootnoteCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)

[`FootnoteRefCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)

[`FootnoteSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)

1.7.2

[`FormulaContext`](https://docs.obsidian.md/Reference/TypeScript+API/FormulaContext)

The context in which a formula is evaluated. In most cases, [BasesEntry](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry) is the specific type to use.

1.10.0

[`FrontMatterCache`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)

[`FrontMatterInfo`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)

[`FrontmatterLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)

[`FuzzyMatch`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)

0.9.20

[`HeadingCache`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)

[`HeadingSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)

0.9.16

[`Hotkey`](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)

[`HoverLinkSource`](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)

[`HoverParent`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)

0.11.13

[`HSL`](https://docs.obsidian.md/Reference/TypeScript+API/HSL)

0.16.0

[`Instruction`](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)

0.9.20

[`ISuggestOwner`](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)

[`KeymapContext`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)

[`KeymapEventHandler`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)

[`KeymapInfo`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)

0.10.4

[`LinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

0.9.7

[`ListedFiles`](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)

[`ListItemCache`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)

[`LivePreviewStateType`](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)

The object stored in the view plugin [livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

Location within a Markdown document

[`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)

[`MarkdownPostProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)

A post processor receives an element which is a section of the preview.

Post processors can mutate the DOM to render various things, such as mermaid graphs, latex equations, or custom controls.

If your post processor requires lifecycle management, for example, to clear an interval, kill a subprocess, etc when this element is removed from the app, look into [MarkdownPostProcessorContext.addChild()](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/addChild)

0.10.12

[`MarkdownPostProcessorContext`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)

[`MarkdownPreviewEvents`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)

\*

[`MarkdownSectionInformation`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)

[`MarkdownSubView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)

[`MenuPositionDef`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)

1.1.0

[`ObsidianProtocolData`](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)

[`OpenViewState`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

Metadata about a Community plugin.

[`Point`](https://docs.obsidian.md/Reference/TypeScript+API/Point)

[`Pos`](https://docs.obsidian.md/Reference/TypeScript+API/Pos)

Describes a text range in a Markdown document.

[`Reference`](https://docs.obsidian.md/Reference/TypeScript+API/Reference)

Base interface for items that point to a different location.

[`ReferenceCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

[`ReferenceLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)

1.8.7

[`RequestUrlParam`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)

[`RequestUrlResponse`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)

[`RequestUrlResponsePromise`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)

[`RGB`](https://docs.obsidian.md/Reference/TypeScript+API/RGB)

0.16.0

[`SearchResult`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)

0.9.21

[`SearchResultContainer`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)

0.9.21

[`SectionCache`](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)

[`Stat`](https://docs.obsidian.md/Reference/TypeScript+API/Stat)

[`SubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)

[`TagCache`](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)

0.9.7

[`TooltipOptions`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)

[`ViewState`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)

[`ViewStateResult`](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)

[`WorkspaceWindowInitData`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)

Variables

---------

Variable

Description

[`apiVersion`](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)

This is the API version of the app, which follows the release cycle of the desktop app. Example: '0.13.21'

[`editorEditorField`](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)

Use this StateField to get a reference to the EditorView

[`editorInfoField`](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)

Use this StateField to get information about this Markdown editor, such as the associated file, or the Editor.

[`editorLivePreviewField`](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)

Use this StateField to check whether Live Preview is active

[`editorViewField`](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)

This is now deprecated - it is now mapped directly to `editorInfoField`, which return a MarkdownFileInfo, which may be a MarkdownView but not necessarily.

[`livePreviewState`](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)

[`moment`](https://docs.obsidian.md/Reference/TypeScript+API/moment)

[`Platform`](https://docs.obsidian.md/Reference/TypeScript+API/Platform)

0.12.2

Type Aliases

------------

Type Alias

Description

[`BasesAllOptions`](https://docs.obsidian.md/Reference/TypeScript+API/BasesAllOptions)

BasesOptions and the associated sub-types are configuration-driven settings controls which can be provided by a [BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration) to expose configuration options to users in the view config menu of the Bases toolbar.

1.10.0

[`BasesConfigFileFilter`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileFilter)

1.10.0

[`BasesOptions`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

1.10.0

[`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)

The full ID of a property, used in the bases config file. The prefixed [BasesPropertyType](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyType) disambiguates properties of the same name but from different sources.

1.10.0

[`BasesPropertyType`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyType)

The three valid "sources" of a property in a Base.

\- `note`: Properties from the frontmatter of markdown files in the vault. - `formula`: Properties calculated by evaluating a formula from the base config file. - `file`: Properties inherent to a file, such as the name, extension, size, etc.

1.10.0

[`BasesSortConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSortConfig)

1.10.0

[`BasesViewFactory`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewFactory)

Implement this factory function in a [BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration) to create a new instance of a custom Bases view.

[`CliFlags`](https://docs.obsidian.md/Reference/TypeScript+API/CliFlags)

1.12.2

[`CliHandler`](https://docs.obsidian.md/Reference/TypeScript+API/CliHandler)

1.12.2

[`Constructor`](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)

[`EditorCommandName`](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)

[`HexString`](https://docs.obsidian.md/Reference/TypeScript+API/HexString)

Hex strings are 6-digit hash-prefixed rgb strings in lowercase form. Example: #ffffff

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

Can be any Lucide icon name or an internal icon name.

[`KeymapEventListener`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)

Return `false` to automatically preventDefault

[`MarkdownViewModeType`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)

[`Modifier`](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)

Mod = Cmd on MacOS and Ctrl on other OS Ctrl = Ctrl key for every OS Meta = Cmd on MacOS and Win key on other OS

[`ObsidianProtocolHandler`](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)

[`PaneType`](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)

[`SearchMatches`](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)

[`SearchMatchPart`](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)

Text position offsets within text file. Represents a text range \[from offset, to offset\].

[`Side`](https://docs.obsidian.md/Reference/TypeScript+API/Side)

[`SplitDirection`](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)

[`TooltipPlacement`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)

[`UserEvent`](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)

[`ViewCreator`](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)

index

Not found

This page does not exist

Interactive graph

On this page

obsidian package

Classes

Abstract Classes

Enumerations

Functions

Interfaces

Variables

Type Aliases

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip
----

displayTooltip

==============

    aliases: "displayTooltip"

    cssclasses: hide-title

[`displayTooltip`](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)

displayTooltip() function

-------------------------

Manually trigger a tooltip that will appear over the provided element.

To display a tooltip on hover, use [setTooltip()](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip) instead.

1.8.7

**Signature:**

    export function displayTooltip(newTargetEl: HTMLElement, content: string | DocumentFragment, options?: TooltipOptions): void;

Parameters

----------

Parameter

Type

Description

`newTargetEl`

`HTMLElement`

`content`

`string |` `DocumentFragment`

`options`

[`TooltipOptions`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)

_(Optional)_

**Returns:**

`void`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

displayTooltip

Not found

This page does not exist

Interactive graph

On this page

displayTooltip() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/read
----

read

====

    aliases: "DataAdapter.read"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`read`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/read)

DataAdapter.read() method

-------------------------

**Signature:**

    read(normalizedPath: string): Promise<string>;

Parameters

----------

`Promise<string>`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

read

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.read() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/placeholder
----

placeholder

===========

    aliases: "BasesFileOption.placeholder"

    cssclasses: hide-title

[`BasesFileOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption) › [`placeholder`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/placeholder)

BasesFileOption.placeholder property

------------------------------------

1.10.2

**Signature:**

    placeholder?: string;

Links to this page

[BasesFileOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption)

placeholder

Not found

This page does not exist

Interactive graph

On this page

BasesFileOption.placeholder property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getSort
----

getSort

=======

    aliases: "BasesViewConfig.getSort"

    cssclasses: hide-title

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig) › [`getSort`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getSort)

BasesViewConfig.getSort() method

--------------------------------

Retrieve the sorting config for this view. Sort is configured by the user through the sort toolbar menu. Removes invalid sort configs. If no (valid) sort config, returns an empty array. Does not validate that the properties exists.

Note that data from BasesQueryResult will be presorted.

1.10.0

**Signature:**

    getSort(): BasesSortConfig[];

**Returns:**

[`BasesSortConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSortConfig)`[]`

Links to this page

[BasesViewConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

getSort

Not found

This page does not exist

Interactive graph

On this page

BasesViewConfig.getSort() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/processLines
----

processLines

============

    aliases: "Editor.processLines"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`processLines`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/processLines)

Editor.processLines() method

----------------------------

0.13.26

**Signature:**

    processLines<T>(read: (line: number, lineText: string) => T | null, write: (line: number, lineText: string, value: T | null) => EditorChange | void, ignoreEmpty?: boolean): void;

Parameters

----------

Parameter

Type

Description

`read`

`(line: number, lineText: string) => T | null`

`write`

`(line: number, lineText: string, value: T | null) =>` [`EditorChange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange) `| void`

`ignoreEmpty`

`boolean`

_(Optional)_

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

processLines

Not found

This page does not exist

Interactive graph

On this page

Editor.processLines() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/onClose
----

onClose

=======

    aliases: "Modal.onClose"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`onClose`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onClose)

Modal.onClose() method

----------------------

**Signature:**

    onClose(): void;

**Returns:**

`void`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

onClose

Not found

This page does not exist

Interactive graph

On this page

Modal.onClose() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Events
----

Events

======

Many of the interfaces in the Obsidian lets you subscribe to events throughout the application, for example when the user makes changes to a file.

Any registered event handlers need to be detached whenever the plugin unloads. The safest way to make sure this happens is to use the [registerEvent()](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent) method.

    import { Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        this.registerEvent(this.app.vault.on('create', () => {

          console.log('a new file has entered the arena')

        }));

      }

    }

Timing events

-------------

If you want to repeatedly call a function with a fixed delay, use the [`window.setInterval()`](https://developer.mozilla.org/en-US/docs/Web/API/setInterval) function with the [registerInterval()](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval) method.

The following example displays the current time in the status bar, updated every second:

    import { moment, Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      statusBar: HTMLElement;

      async onload() {

        this.statusBar = this.addStatusBarItem();

        this.updateStatusBar();

        this.registerInterval(

          window.setInterval(() => this.updateStatusBar(), 1000)

        );

      }

      updateStatusBar() {

        this.statusBar.setText(moment().format('H:mm:ss'));

      }

    }

Date and time

[Moment](https://momentjs.com/) is a popular JavaScript library for working with dates and time. Obsidian uses Moment internally, so you don't need to install it yourself. You can import it from the Obsidian API instead:

    import { moment } from 'obsidian';

Links to this page

[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)

Events

Not found

This page does not exist

Interactive graph

On this page

Timing events

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFileByPath
----

getFileByPath

=============

    aliases: "Vault.getFileByPath"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`getFileByPath`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFileByPath)

Vault.getFileByPath() method

----------------------------

Get a file inside the vault at the given path. Returns `null` if the file does not exist.

**Signature:**

    getFileByPath(path: string): TFile | null;

Parameters

----------

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) `| null`

Links to this page

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

getFileByPath

Not found

This page does not exist

Interactive graph

On this page

Vault.getFileByPath() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DurationValue
----

DurationValue

=============

    aliases: "DurationValue"

    cssclasses: hide-title

[`DurationValue`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

DurationValue class

-------------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a duration. Durations can be used to modify a [DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue) or can result from subtracting a DateValue from another.

1.10.0

**Signature:**

    export class DurationValue extends NotNullValue 

**Extends:** [`NotNullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

Properties

----------

-------

Method

Modifiers

Description

[`addToDate(value, subtract)`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/addToDate)

Modifies the provided by this duration.

1.10.0

[`fromMilliseconds(milliseconds)`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/fromMilliseconds)

`static`

Create a new DurationValue from milliseconds.

1.10.0

[`getMilliseconds()`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/getMilliseconds)

Convert this duration into milliseconds.

1.10.0

[`isTruthy()`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/isTruthy)

[`parseFromString(input)`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/parseFromString)

`static`

Create a new DurationValue using an ISO 8601 duration. See [https://en.wikipedia.org/wiki/ISO\_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for duration format details.

1.10.0

[`renderTo(el, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Value/renderTo)

Render this value into the provided HTMLElement.

1.10.0

(Inherited from [Value](https://docs.obsidian.md/Reference/TypeScript+API/Value))

[`toString()`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/toString)

1.10.0

Links to this page

[addToDate](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/addToDate)

[fromMilliseconds](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/fromMilliseconds)

[getMilliseconds](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/getMilliseconds)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isTruthy](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/isTruthy)

[parseFromString](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/parseFromString)

[toString](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/toString)

DurationValue

Not found

This page does not exist

Interactive graph

On this page

DurationValue class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache
----

FrontMatterCache

================

FrontMatterCache

Not found

This page does not exist

Interactive graph

On this page

FrontMatterCache interface

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SectionCache
----

SectionCache

============

    aliases: "SectionCache"

    cssclasses: hide-title

[`SectionCache`](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)

SectionCache interface

----------------------

**Signature:**

    export interface SectionCache extends CacheItem 

**Extends:** [`CacheItem`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

Properties

----------

Property

Modifiers

Type

Description

[`id?`](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache/id)

`string | undefined`

_(Optional)_ The block ID of this section, if defined.

[`position`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem/position)

[`Pos`](https://docs.obsidian.md/Reference/TypeScript+API/Pos)

Position of this item in the note.

(Inherited from [CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem))

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache/type)

`'blockquote' | 'callout' | 'code' | 'element' | 'footnoteDefinition' | 'heading' | 'html' | 'list' | 'paragraph' | 'table' | 'text' | 'thematicBreak' | 'yaml' | string`

The type string generated by the parser. Typing is non-exhaustive, more types can be available than are documented here.

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

[id](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache/id)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[type](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache/type)

SectionCache

Not found

This page does not exist

Interactive graph

On this page

SectionCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/instant
----

instant

=======

    aliases: "BasesSliderOption.instant"

    cssclasses: hide-title

[`BasesSliderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption) › [`instant`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/instant)

BasesSliderOption.instant property

----------------------------------

1.10.0

**Signature:**

    instant?: boolean;

Links to this page

[BasesSliderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption)

instant

Not found

This page does not exist

Interactive graph

On this page

BasesSliderOption.instant property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/list
----

list

====

    aliases: "BlockSubpathResult.list"

    cssclasses: hide-title

[`BlockSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult) › [`list`](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/list)

BlockSubpathResult.list property

--------------------------------

**Signature:**

    list?: ListItemCache;

Links to this page

[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)

list

Not found

This page does not exist

Interactive graph

On this page

BlockSubpathResult.list property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/exists
----

exists

======

    aliases: "FrontMatterInfo.exists"

    cssclasses: hide-title

[`FrontMatterInfo`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo) › [`exists`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/exists)

FrontMatterInfo.exists property

-------------------------------

Whether this file has a frontmatter block

**Signature:**

    exists: boolean;

Links to this page

[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)

exists

Not found

This page does not exist

Interactive graph

On this page

FrontMatterInfo.exists property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Releasing/Beta-testing+plugins
----

Beta-testing plugins

====================

Before you [submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin), you may want to let users try it out first. While Obsidian doesn't officially support beta releases, we recommend that you use the [BRAT](https://github.com/TfTHacker/obsidian42-brat) plugin to distribute your plugin to beta testers before it's been published.

For more information, refer to the [BRAT](https://tfthacker.com/BRAT) documentation.

Beta-testing plugins

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerView
----

registerView

============

    aliases: "Plugin.registerView"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`registerView`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerView)

Plugin.registerView() method

----------------------------

0.9.7

**Signature:**

    registerView(type: string, viewCreator: ViewCreator): void;

Parameters

----------

Parameter

Type

Description

`type`

`string`

`viewCreator`

[`ViewCreator`](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)

**Returns:**

`void`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[Views](https://docs.obsidian.md/Plugins/User+interface/Views)

registerView

Not found

This page does not exist

Interactive graph

On this page

Plugin.registerView() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/name
----

name

====

    aliases: "BasesViewRegistration.name"

    cssclasses: hide-title

[`BasesViewRegistration`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration) › [`name`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/name)

BasesViewRegistration.name property

-----------------------------------

1.10.0

**Signature:**

    name: string;

Links to this page

[BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration)

name

Not found

This page does not exist

Interactive graph

On this page

BasesViewRegistration.name property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent
----

ExtraButtonComponent

====================

    aliases: "ExtraButtonComponent"

    cssclasses: hide-title

[`ExtraButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)

ExtraButtonComponent class

--------------------------

0.9.7

**Signature:**

    export class ExtraButtonComponent extends BaseComponent 

**Extends:** [`BaseComponent`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/\(constructor\))

Constructs a new instance of the `ExtraButtonComponent` class

Properties

----------

[`extraSettingsEl`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/extraSettingsEl)

`HTMLElement`

0.9.7

Methods

-------

Method

Modifiers

Description

[`onClick(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/onClick)

0.9.7

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setDisabled)

1.2.3

[`setIcon(icon)`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setIcon)

[`setTooltip(tooltip, options)`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setTooltip)

1.1.0

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/\(constructor\))

[addExtraButton](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addExtraButton)

[addExtraButton](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/addExtraButton)

[extraSettingsEl](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/extraSettingsEl)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onClick](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/onClick)

[setDisabled](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setDisabled)

[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setIcon)

[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setTooltip)

ExtraButtonComponent

Not found

This page does not exist

Interactive graph

On this page

ExtraButtonComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileManager/getAvailablePathForAttachment
----

getAvailablePathForAttachment

Not found

This page does not exist

Interactive graph

On this page

FileManager.getAvailablePathForAttachment() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getFilePath
----

getFilePath

===========

    aliases: "FileSystemAdapter.getFilePath"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`getFilePath`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getFilePath)

FileSystemAdapter.getFilePath() method

--------------------------------------

Returns the file:// path of this file

0.14.3

**Signature:**

    getFilePath(normalizedPath: string): string;

Parameters

----------

Links to this page

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

getFilePath

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.getFilePath() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/read
----

read

====

    aliases: "FileSystemAdapter.read"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`read`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/read)

FileSystemAdapter.read() method

-------------------------------

**Signature:**

    read(normalizedPath: string): Promise<string>;

Parameters

----------

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

read

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.read() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/addChild
----

addChild

========

    aliases: "MarkdownPostProcessorContext.addChild"

    cssclasses: hide-title

[`MarkdownPostProcessorContext`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext) › [`addChild`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/addChild)

MarkdownPostProcessorContext.addChild() method

----------------------------------------------

Adds a child component that will have its lifecycle managed by the renderer.

Use this to add a dependent child to the renderer such that if the containerEl of the child is ever removed, the component's unload will be called.

**Signature:**

    addChild(child: MarkdownRenderChild): void;

Parameters

----------

Parameter

Type

Description

`child`

[`MarkdownRenderChild`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)

**Returns:**

`void`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)

[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)

addChild

Not found

This page does not exist

Interactive graph

On this page

MarkdownPostProcessorContext.addChild() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu
----

Menu

====

    aliases: "Menu"

    cssclasses: hide-title

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

Menu class

----------

**Signature:**

    export class Menu extends Component implements CloseableComponent 

**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)

**Implements:** [`CloseableComponent`](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)()`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/\(constructor\))

Constructs a new instance of the `Menu` class

Methods

-------

[`addItem(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/addItem)

Adds a menu item. Only works when menu is not shown yet.

[`addSeparator()`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/addSeparator)

Adds a separator. Only works when menu is not shown yet.

[`close()`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/close)

[`forEvent(evt)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/forEvent)

`static`

1.6.0

[`hide()`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/hide)

[`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load)

Load this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`onHide(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/onHide)

[`setNoIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/setNoIcon)

[`setUseNativeMenu(useNativeMenu)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/setUseNativeMenu)

Force this menu to use native or DOM. (Only works on the desktop app)

0.16.0

[`showAtMouseEvent(evt)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtMouseEvent)

0.12.6

[`showAtPosition(position, doc)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtPosition)

1.1.0

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/Menu/\(constructor\))

[addItem](https://docs.obsidian.md/Reference/TypeScript+API/Menu/addItem)

[addSeparator](https://docs.obsidian.md/Reference/TypeScript+API/Menu/addSeparator)

[close](https://docs.obsidian.md/Reference/TypeScript+API/Menu/close)

[Context menus](https://docs.obsidian.md/Plugins/User+interface/Context+menus)

[forEvent](https://docs.obsidian.md/Reference/TypeScript+API/Menu/forEvent)

[handleLinkContextMenu](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/handleLinkContextMenu)

[hide](https://docs.obsidian.md/Reference/TypeScript+API/Menu/hide)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[on('editor-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-menu'\))

[on('file-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('file-menu'\))

[on('files-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('files-menu'\))

[on('url-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('url-menu'\))

[onHide](https://docs.obsidian.md/Reference/TypeScript+API/Menu/onHide)

[onPaneMenu](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu)

[setNoIcon](https://docs.obsidian.md/Reference/TypeScript+API/Menu/setNoIcon)

[setUseNativeMenu](https://docs.obsidian.md/Reference/TypeScript+API/Menu/setUseNativeMenu)

[showAtMouseEvent](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtMouseEvent)

[showAtPosition](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtPosition)

Menu

Not found

This page does not exist

Interactive graph

On this page

Menu class

Constructors

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/onOpen
----

onOpen

======

    aliases: "Modal.onOpen"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`onOpen`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onOpen)

Modal.onOpen() method

---------------------

**Signature:**

    onOpen(): Promise<void> | void;

**Returns:**

`Promise<void> | void`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

onOpen

Not found

This page does not exist

Interactive graph

On this page

Modal.onOpen() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/getScroll
----

getScroll

=========

    aliases: "MarkdownPreviewView.getScroll"

    cssclasses: hide-title

[`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView) › [`getScroll`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/getScroll)

MarkdownPreviewView.getScroll() method

--------------------------------------

**Signature:**

    getScroll(): number;

**Returns:**

`number`

Links to this page

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

getScroll

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewView.getScroll() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Notice/(constructor)
----

(constructor)

=============

    aliases: "Notice.(constructor)"

    cssclasses: hide-title

[`Notice`](https://docs.obsidian.md/Reference/TypeScript+API/Notice) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/\(constructor\))

Notice.(constructor)

--------------------

Constructs a new instance of the `Notice` class

**Signature:**

    constructor(message: string | DocumentFragment, duration?: number);

Parameters

----------

Parameter

Type

Description

`message`

`string |` `DocumentFragment`

The message to be displayed, can either be a simple string or a

`duration`

`number`

_(Optional)_ Time in milliseconds to show the notice for. If this is 0, the Notice will stay visible until the user manually dismisses it.

Links to this page

[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

Notice.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RenderContext/hoverPopover
----

[hoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext/hoverPopover)


hoverPopover

============

    aliases: "RenderContext.hoverPopover"

    cssclasses: hide-title

[`RenderContext`](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext) › [`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext/hoverPopover)

RenderContext.hoverPopover property

-----------------------------------

1.10.0

**Signature:**

    hoverPopover: HoverPopover | null;

Links to this page

[RenderContext](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext)

hoverPopover

Not found

This page does not exist

Interactive graph

On this page

RenderContext.hoverPopover property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SectionCache/type
----

type

====

    aliases: "SectionCache.type"

    cssclasses: hide-title

[`SectionCache`](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache/type)

SectionCache.type property

--------------------------

The type string generated by the parser. Typing is non-exhaustive, more types can be available than are documented here.

**Signature:**

    type: 'blockquote' | 'callout' | 'code' | 'element' | 'footnoteDefinition' | 'heading' | 'html' | 'list' | 'paragraph' | 'table' | 'text' | 'thematicBreak' | 'yaml' | string;

Links to this page

[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)

type

Not found

This page does not exist

Interactive graph

On this page

SectionCache.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Tasks/promise
----

promise

=======

    aliases: "Tasks.promise"

    cssclasses: hide-title

[`Tasks`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks) › [`promise`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/promise)

Tasks.promise() method

----------------------

0.10.2

**Signature:**

    promise(): Promise<any>;

**Returns:**

`Promise<any>`

Links to this page

[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)

promise

Not found

This page does not exist

Interactive graph

On this page

Tasks.promise() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/getValue
----

getValue

========

    aliases: "ToggleComponent.getValue"

    cssclasses: hide-title

[`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent) › [`getValue`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/getValue)

ToggleComponent.getValue() method

---------------------------------

0.9.7

**Signature:**

    getValue(): boolean;

**Returns:**

`boolean`

Links to this page

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

getValue

Not found

This page does not exist

Interactive graph

On this page

ToggleComponent.getValue() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue/isTruthy
----

isTruthy

========

    aliases: "RegExpValue.isTruthy"

    cssclasses: hide-title

[`RegExpValue`](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue) › [`isTruthy`](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue/isTruthy)

RegExpValue.isTruthy() method

-----------------------------

1.10.0

**Signature:**

    isTruthy(): boolean;

**Returns:**

`boolean`

Links to this page

[RegExpValue](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue)

isTruthy

Not found

This page does not exist

Interactive graph

On this page

RegExpValue.isTruthy() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('modify')
----

on('modify')

============

    aliases: "Vault.on('modify')"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [on('modify')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on\('modify'\))

Vault.on('modify') method

-------------------------

Called when a file is modified.

0.9.7

**Signature:**

    on(name: 'modify', callback: (file: TAbstractFile) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'modify'`

on('modify')

Not found

This page does not exist

Interactive graph

On this page

Vault.on('modify') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('file-menu')
----

on('file-menu')

===============

    aliases: "Workspace.on('file-menu')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('file-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('file-menu'\))

Workspace.on('file-menu') method

--------------------------------

Triggered when the user opens the context menu on a file.

0.9.12

**Signature:**

    on(name: 'file-menu', callback: (menu: Menu, file: TAbstractFile, source: string, leaf?: WorkspaceLeaf) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'file-menu'`

`callback`

`(menu:` [`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu)`, file:` [`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)`, source: string, leaf?:` [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)`) => any`

on('file-menu')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('file-menu') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-drop')
----

on('editor-drop')

=================

    aliases: "Workspace.on('editor-drop')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('editor-drop')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-drop'\))

Workspace.on('editor-drop') method

----------------------------------

Triggered when the editor receives a drop event. Check for `evt.defaultPrevented` before attempting to handle this event, and return if it has been already handled. Use `evt.preventDefault()` to indicate that you've handled the event.

1.1.0

**Signature:**

    on(name: 'editor-drop', callback: (evt: DragEvent, editor: Editor, info: MarkdownView | MarkdownFileInfo) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'editor-drop'`

`callback`

`(evt:` `DragEvent``, editor:` [`Editor`](https://docs.obsidian.md/Plugins/Editor/Editor)`, info:` [`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) `|` [`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)`) => any`

on('editor-drop')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('editor-drop') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Instruction/purpose
----

purpose

=======

    aliases: "Instruction.purpose"

    cssclasses: hide-title

[`Instruction`](https://docs.obsidian.md/Reference/TypeScript+API/Instruction) › [`purpose`](https://docs.obsidian.md/Reference/TypeScript+API/Instruction/purpose)

Instruction.purpose property

----------------------------

0.9.20

**Signature:**

    purpose: string;

Links to this page

[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)

purpose

Not found

This page does not exist

Interactive graph

On this page

Instruction.purpose property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/setDesc
----

setDesc

=======

    aliases: "Setting.setDesc"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`setDesc`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setDesc)

Setting.setDesc() method

------------------------

0.9.7

**Signature:**

    setDesc(desc: string | DocumentFragment): this;

Parameters

----------

Parameter

Type

Description

`desc`

`string |` `DocumentFragment`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

setDesc

Not found

This page does not exist

Interactive graph

On this page

Setting.setDesc() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/getIcon
----

getIcon

=======

    aliases: "getIcon"

    cssclasses: hide-title

[`getIcon`](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)

getIcon() function

------------------

Create an SVG from an iconId. Returns null if no icon associated with the iconId.

**Signature:**

    export function getIcon(iconId: string): SVGSVGElement | null;

Parameters

----------

`SVGSVGElement`` | null`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

getIcon

Not found

This page does not exist

Interactive graph

On this page

getIcon() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState
----

setEphemeralState

=================

    aliases: "View.setEphemeralState"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`setEphemeralState`](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState)

View.setEphemeralState() method

-------------------------------

0.9.7

**Signature:**

    setEphemeralState(state: unknown): void;

Parameters

----------

Parameter

Type

Description

`state`

`unknown`

setEphemeralState

Not found

This page does not exist

Interactive graph

On this page

View.setEphemeralState() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftSplit
----

leftSplit

=========

    aliases: "Workspace.leftSplit"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`leftSplit`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/leftSplit)

Workspace.leftSplit property

----------------------------

0.9.7

**Signature:**

    leftSplit: WorkspaceSidedock | WorkspaceMobileDrawer;

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

leftSplit

Not found

This page does not exist

Interactive graph

On this page

Workspace.leftSplit property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModEvent
----

isModEvent

==========

    aliases: "Keymap.isModEvent"

    cssclasses: hide-title

[`Keymap`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap) › [`isModEvent`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModEvent)

Keymap.isModEvent() method

--------------------------

Translates an event into the type of pane that should open. Returns 'tab' if the modifier key Cmd/Ctrl is pressed OR if this is a middle-click MouseEvent. Returns 'split' if Cmd/Ctrl+Alt is pressed. Returns 'window' if Cmd/Ctrl+Alt+Shift is pressed.

0.16.0

**Signature:**

    static isModEvent(evt?: UserEvent | null): PaneType | boolean;

Parameters

----------

Parameter

Type

Description

`evt`

[`UserEvent`](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent) `| null`

_(Optional)_

**Returns:**

[`PaneType`](https://docs.obsidian.md/Reference/TypeScript+API/PaneType) `| boolean`

Links to this page

[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)

isModEvent

Not found

This page does not exist

Interactive graph

On this page

Keymap.isModEvent() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/version
----

version

=======

    aliases: "PluginManifest.version"

    cssclasses: hide-title

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest) › [`version`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/version)

PluginManifest.version property

-------------------------------

The current version, using .

**Signature:**

    version: string;

Links to this page

[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

version

Not found

This page does not exist

Interactive graph

On this page

PluginManifest.version property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/parent
----

parent

======

    aliases: "WorkspaceMobileDrawer.parent"

    cssclasses: hide-title

[`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer) › [`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/parent)

WorkspaceMobileDrawer.parent property

-------------------------------------

**Signature:**

    parent: WorkspaceParent;

Links to this page

[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

parent

Not found

This page does not exist

Interactive graph

On this page

WorkspaceMobileDrawer.parent property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+header
----

Site header

===========

    cssclasses: reference

The site header contains the site logo (if added in Publish settings), the site name, and the mobile hamburger menu if navigation is turned on.

The site header appears as a horizontal header at the top of the page on mobile devices and when navigation is turned off. When navigation is turned on in Publish settings, the site name and logo appear in the left sidebar.

This page lists CSS variables used for Obsidian Publish site header, site logo, and site name

CSS variables

-------------

Publish-specific variables should be defined on the `.published-container`.

Variable

Description

`--logo-width`

Logo default width

`--logo-height`

Logo default height

`--logo-max-width`

Logo max width

`--logo-max-height`

Logo max height

`--logo-radius`

Logo corner radius

`--header-height`

Height of the site header

`--site-name-color`

Site name color

`--site-name-color-hover`

Site name hovered color

`--site-name-font`

Site name font family

`--site-name-size`

Site name font size

`--site-name-weight`

Site name font weight

`--site-menu-icon-color`

Mobile menu icon color

`--site-menu-icon-color-hover`

Mobile menu hovered icon color

`--site-menu-icon-size`

Mobile menu icon size

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Publish](https://docs.obsidian.md/Reference/CSS+variables/Publish/Publish)

Site header

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption
----

BasesFolderOption

=================

    aliases: "BasesFolderOption"

    cssclasses: hide-title

[`BasesFolderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption)

BasesFolderOption interface

---------------------------

A text input allowing selection of a folder from in the vault.

1.10.2

**Signature:**

    export interface BasesFolderOption extends BasesOption 

**Extends:** [`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

Properties

----------

Property

Modifiers

Type

Description

[`default?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/default)

`string`

_(Optional)_ 1.10.2

[`displayName`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/displayName)

`string`

1.10.0

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`filter?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/filter)

`(folder:` [`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)`) => boolean`

_(Optional)_ 1.10.2

[`key`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/key)

`string`

1.10.0

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`placeholder?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/placeholder)

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/type)

`'folder'`

1.10.2

Links to this page

[BasesOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

[default](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/default)

[filter](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/filter)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[placeholder](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/placeholder)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/type)

BasesFolderOption

Not found

This page does not exist

Interactive graph

On this page

BasesFolderOption interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent
----

SecretComponent

===============

    aliases: "SecretComponent"

    cssclasses: hide-title

[`SecretComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent)

SecretComponent class

---------------------

1.11.1

**Signature:**

    export class SecretComponent extends BaseComponent 

**Extends:** [`BaseComponent`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(app, containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/\(constructor\))

Constructs a new instance of the `SecretComponent` class

Properties

----------

-------

Method

Modifiers

Description

[`onChange(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/onChange)

1.11.4

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/setDisabled)

1.2.3

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

[`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/setValue)

1.11.4

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/\(constructor\))

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onChange](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/onChange)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/setValue)

[Store secrets](https://docs.obsidian.md/plugins/guides/secret-storage)

SecretComponent

Not found

This page does not exist

Interactive graph

On this page

SecretComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/modifyBinary
----

modifyBinary

============

    aliases: "Vault.modifyBinary"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`modifyBinary`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modifyBinary)

Vault.modifyBinary() method

---------------------------

Modify the contents of a binary file.

**Signature:**

    modifyBinary(file: TFile, data: ArrayBuffer, options?: DataWriteOptions): Promise<void>;

Parameters

----------

The new file content

`options`

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

_(Optional)_ (Optional)

0.9.7

**Returns:**

`Promise<void>`

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

modifyBinary

Not found

This page does not exist

Interactive graph

On this page

Vault.modifyBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RGB/b
----

b

=

    aliases: "RGB.b"

    cssclasses: hide-title

[`RGB`](https://docs.obsidian.md/Reference/TypeScript+API/RGB) › [`b`](https://docs.obsidian.md/Reference/TypeScript+API/RGB/b)

RGB.b property

--------------

Blue integer value between 0 and 255

**Signature:**

    b: number;

Links to this page

[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)

b

Not found

This page does not exist

Interactive graph

On this page

RGB.b property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal
----

SuggestModal

============

    aliases: "SuggestModal"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

SuggestModal class

------------------

0.9.20

**Signature:**

    export abstract class SuggestModal<T> extends Modal implements ISuggestOwner<T> 

**Extends:** [`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

**Implements:** [`ISuggestOwner`](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)`<T>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(app)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/\(constructor\))

Constructs a new instance of the `SuggestModal` class

Properties

----------

[`inputEl`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/inputEl)

`HTMLInputElement`

@0.9.20

[`limit`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/limit)

`number`

0.9.20

[`modalEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/modalEl)

`HTMLElement`

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

[`resultContainerEl`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/resultContainerEl)

`HTMLElement`

0.9.20

-------

Method

Modifiers

Description

[`close()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/close)

Hide the modal.

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

[`getSuggestions(query)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/getSuggestions)

`abstract`

1.5.7

[`onChooseSuggestion(item, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onChooseSuggestion)

`abstract`

1.5.7

[`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onClose)

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

[`onNoSuggestion()`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onNoSuggestion)

0.9.20

[`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onOpen)

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

[`open()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/open)

Show the modal on the active window. On mobile, the modal will animate on screen.

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

[`renderSuggestion(value, el)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/renderSuggestion)

`abstract`

1.5.7

[`selectActiveSuggestion(evt)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectActiveSuggestion)

1.7.2

[`selectSuggestion(value, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectSuggestion)

0.9.20

[`setPlaceholder(placeholder)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setPlaceholder)

0.9.20

[`setTitle(title)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setTitle)

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/\(constructor\))

[emptyStateText](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/emptyStateText)

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[getSuggestions](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/getSuggestions)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[inputEl](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/inputEl)

[limit](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/limit)

[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)

[onChooseSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onChooseSuggestion)

[onNoSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onNoSuggestion)

[renderSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/renderSuggestion)

[resultContainerEl](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/resultContainerEl)

[selectActiveSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectActiveSuggestion)

[selectSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectSuggestion)

[setInstructions](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setInstructions)

[setPlaceholder](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setPlaceholder)

SuggestModal

Not found

This page does not exist

Interactive graph

On this page

SuggestModal class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Prompt
----

Prompt

======

    cssclasses: reference

This page lists CSS variables for prompts, such as the [Quick switcher](https://help.obsidian.md/Plugins/Quick+switcher) and [Command palette](https://help.obsidian.md/Plugins/Command+palette).

CSS variables

-------------

Variable

Description

`--prompt-input-height`

Prompt input height

`--prompt-width`

Prompt width

`--prompt-max-width`

Prompt max width (for narrow windows)

`--prompt-max-height`

Prompt max height

`--prompt-border-width`

Prompt border width

`--prompt-border-color`

Prompt border color

Prompt

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval
----

registerInterval

================

    aliases: "Component.registerInterval"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component) › [`registerInterval`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval)

Component.registerInterval() method

-----------------------------------

Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API

0.13.8

**Signature:**

    registerInterval(id: number): number;

Parameters

----------

Parameter

Type

Description

`id`

`number`

**Returns:**

`number`

[QueryController](https://docs.obsidian.md/Reference/TypeScript+API/QueryController)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

registerInterval

Not found

This page does not exist

Interactive graph

On this page

Component.registerInterval() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileFilter
----

BasesConfigFileFilter

=====================

    aliases: "BasesConfigFileFilter"

    cssclasses: hide-title

[`BasesConfigFileFilter`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileFilter)

BasesConfigFileFilter type

--------------------------

1.10.0

**Signature:**

    export type BasesConfigFileFilter = string | {

        and: BasesConfigFileFilter[];

    } | {

        or: BasesConfigFileFilter[];

    } | {

        not: BasesConfigFileFilter[];

    };

**References:** [`BasesConfigFileFilter`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileFilter)

Links to this page

[BasesConfigFile](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile)

[BasesConfigFileView](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

BasesConfigFileFilter

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFileFilter type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener
----

registerOptionListener

======================

    aliases: "ValueComponent.registerOptionListener"

    cssclasses: hide-title

[`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent) › [`registerOptionListener`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

ValueComponent.registerOptionListener() method

----------------------------------------------

0.9.7

**Signature:**

    registerOptionListener(listeners: Record<string, (value?: T) => T>, key: string): this;

Parameters

----------

Parameter

Type

Description

`listeners`

`Record``<string, (value?: T) => T>`

`key`

`string`

**Returns:**

`this`

Links to this page

[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)

registerOptionListener

Not found

This page does not exist

Interactive graph

On this page

ValueComponent.registerOptionListener() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray
----

parseFrontMatterStringArray

===========================

    aliases: "parseFrontMatterStringArray"

    cssclasses: hide-title

[`parseFrontMatterStringArray`](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)

parseFrontMatterStringArray() function

--------------------------------------

**Signature:**

    export function parseFrontMatterStringArray(frontmatter: any | null, key: string | RegExp): string[] | null;

Parameters

----------

`string[] | null`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

parseFrontMatterStringArray

Not found

This page does not exist

Interactive graph

On this page

parseFrontMatterStringArray() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl
----

containerEl

===========

    aliases: "View.containerEl"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl)

View.containerEl property

-------------------------

0.9.7

**Signature:**

    containerEl: HTMLElement;

containerEl

Not found

This page does not exist

Interactive graph

On this page

View.containerEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/titleEl
----

titleEl

=======

    aliases: "Modal.titleEl"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`titleEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/titleEl)

Modal.titleEl property

----------------------

**Signature:**

    titleEl: HTMLElement;

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

titleEl

Not found

This page does not exist

Interactive graph

On this page

Modal.titleEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListValue/toString
----

toString

========

    aliases: "ListValue.toString"

    cssclasses: hide-title

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue) › [`toString`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/toString)

ListValue.toString() method

---------------------------

1.10.0

**Signature:**

    toString(): string;

**Returns:**

`string`

toString

Not found

This page does not exist

Interactive graph

On this page

ListValue.toString() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/transaction
----

transaction

===========

    aliases: "Editor.transaction"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`transaction`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/transaction)

Editor.transaction() method

---------------------------

0.13.0

**Signature:**

    abstract transaction(tx: EditorTransaction, origin?: string): void;

Parameters

----------

Parameter

Type

Description

`tx`

[`EditorTransaction`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)

`origin`

`string`

_(Optional)_

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

transaction

Not found

This page does not exist

Interactive graph

On this page

Editor.transaction() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition/line
----

line

====

    aliases: "EditorPosition.line"

    cssclasses: hide-title

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition) › [`line`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition/line)

EditorPosition.line property

----------------------------

**Signature:**

    line: number;

Links to this page

[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

line

Not found

This page does not exist

Interactive graph

On this page

EditorPosition.line property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/onChanged
----

onChanged

=========

    aliases: "MomentFormatComponent.onChanged"

    cssclasses: hide-title

[`MomentFormatComponent`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent) › [`onChanged`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/onChanged)

MomentFormatComponent.onChanged() method

----------------------------------------

0.9.7

**Signature:**

    onChanged(): void;

**Returns:**

`void`

Links to this page

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

onChanged

Not found

This page does not exist

Interactive graph

On this page

MomentFormatComponent.onChanged() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/normalizePath
----

normalizePath

=============

    aliases: "normalizePath"

    cssclasses: hide-title

[`normalizePath`](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)

normalizePath() function

------------------------

**Signature:**

    export function normalizePath(path: string): string;

Parameters

----------

Parameter

Type

Description

`path`

`string`

**Returns:**

`string`

Links to this page

[append](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/append)

[appendBinary](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/appendBinary)

[copy](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/copy)

[exists](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/exists)

[getResourcePath](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/getResourcePath)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[list](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/list)

[mkdir](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/mkdir)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[write](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/write)

[writeBinary](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/writeBinary)

normalizePath

Not found

This page does not exist

Interactive graph

On this page

normalizePath() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult
----

BasesQueryResult

================

    aliases: "BasesQueryResult"

    cssclasses: hide-title

[`BasesQueryResult`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult)

BasesQueryResult class

----------------------

The BasesQueryResult contains all of the available information from executing the bases query, applying filters, and evaluating formulas. The `data` or `groupedData` should be displayed by your view.

1.10.0

**Signature:**

    export class BasesQueryResult 

Properties

----------

Property

Modifiers

Type

Description

[`data`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/data)

[`BasesEntry`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry)`[]`

An ungrouped version of the data, with user-configured sort and limit applied. Where appropriate, views should support groupBy by using `groupedData` instead of this value.

1.10.0

[`groupedData`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/groupedData)

`readonly`

[`BasesEntryGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup)`[]`

The data to be rendered, grouped according to the groupBy config. If there is no groupBy configured, returns a single group with an empty key.

1.10.0

[`properties`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/properties)

`readonly`

[`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)`[]`

Visible properties defined by the user.

1.10.0

Methods

-------

Method

Modifiers

Description

[`getSummaryValue(queryController, entries, prop, summaryKey)`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/getSummaryValue)

Applies a summary function to a single property over a set of entries.

1.10.0

Links to this page

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

[data](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/data)

[getSummaryValue](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/getSummaryValue)

[groupedData](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/groupedData)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[properties](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/properties)

BasesQueryResult

Not found

This page does not exist

Interactive graph

On this page

BasesQueryResult class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2
----

registerDomEvent\_2

===================

    aliases: "Component.registerDomEvent_2"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component) › [`registerDomEvent`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2)

Component.registerDomEvent() method

-----------------------------------

Registers a DOM event to be detached when unloading

0.14.8

**Signature:**

    registerDomEvent<K extends keyof HTMLElementEventMap>(el: HTMLElement, type: K, callback: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;

Parameters

----------

Parameter

Type

Description

`el`

`HTMLElement`

`type`

`K`

`callback`

`(this:` `HTMLElement``, ev:` `HTMLElementEventMap``[K]) => any`

registerDomEvent\_2

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setValue
----

setValue

========

    aliases: "MomentFormatComponent.setValue"

    cssclasses: hide-title

[`MomentFormatComponent`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setValue)

MomentFormatComponent.setValue() method

---------------------------------------

0.9.7

**Signature:**

    setValue(value: string): this;

Parameters

----------

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

setValue

Not found

This page does not exist

Interactive graph

On this page

MomentFormatComponent.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue
----

NotNullValue

============

    aliases: "NotNullValue"

    cssclasses: hide-title

[`NotNullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

NotNullValue class

------------------

Base type for all non-null .

1.10.0

**Signature:**

    export abstract class NotNullValue extends Value 

**Extends:** [`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value)

Properties

----------

-------

[`isTruthy()`](https://docs.obsidian.md/Reference/TypeScript+API/Value/isTruthy)

`abstract`

1.10.0

(Inherited from [Value](https://docs.obsidian.md/Reference/TypeScript+API/Value))

[`toString()`](https://docs.obsidian.md/Reference/TypeScript+API/Value/toString)

`abstract`

1.10.0

(Inherited from [Value](https://docs.obsidian.md/Reference/TypeScript+API/Value))

Links to this page

[DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

[FileValue](https://docs.obsidian.md/Reference/TypeScript+API/FileValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

[ObjectValue](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue)

[PrimitiveValue](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue)

[RegExpValue](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue)

NotNullValue

Not found

This page does not exist

Interactive graph

On this page

NotNullValue class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setTooltip
----

setTooltip

==========

    aliases: "ToggleComponent.setTooltip"

    cssclasses: hide-title

[`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent) › [`setTooltip`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setTooltip)

ToggleComponent.setTooltip() method

-----------------------------------

1.1.1

**Signature:**

    setTooltip(tooltip: string, options?: TooltipOptions): this;

Parameters

----------

Parameter

Type

Description

`tooltip`

`string`

`options`

[`TooltipOptions`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)

_(Optional)_

**Returns:**

setTooltip

Not found

This page does not exist

Interactive graph

On this page

ToggleComponent.setTooltip() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateRootLeaves
----

iterateRootLeaves

=================

    aliases: "Workspace.iterateRootLeaves"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`iterateRootLeaves`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateRootLeaves)

Workspace.iterateRootLeaves() method

------------------------------------

Iterate through all leaves in the main area of the workspace.

0.9.7

**Signature:**

    iterateRootLeaves(callback: (leaf: WorkspaceLeaf) => any): void;

Parameters

----------

iterateRootLeaves

Not found

This page does not exist

Interactive graph

On this page

Workspace.iterateRootLeaves() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAllLoadedFiles
----

getAllLoadedFiles

=================

    aliases: "Vault.getAllLoadedFiles"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`getAllLoadedFiles`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAllLoadedFiles)

Vault.getAllLoadedFiles() method

--------------------------------

Get all files and folders in the vault.

0.9.7

**Signature:**

    getAllLoadedFiles(): TAbstractFile[];

**Returns:**

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)`[]`

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

getAllLoadedFiles

Not found

This page does not exist

Interactive graph

On this page

Vault.getAllLoadedFiles() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addRibbonIcon
----

addRibbonIcon

=============

    aliases: "Plugin.addRibbonIcon"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`addRibbonIcon`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addRibbonIcon)

Plugin.addRibbonIcon() method

-----------------------------

Adds a ribbon icon to the left bar.

**Signature:**

    addRibbonIcon(icon: IconName, title: string, callback: (evt: MouseEvent) => any): HTMLElement;

Parameters

----------

Parameter

Type

Description

`icon`

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

The icon name to be used. See [addIcon()](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)

`title`

`string`

The title to be displayed in the tooltip.

`callback`

`(evt:` `MouseEvent``) => any`

The `click` callback.

0.9.7

**Returns:**

`HTMLElement`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)

addRibbonIcon

Not found

This page does not exist

Interactive graph

On this page

Plugin.addRibbonIcon() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState
----

getEphemeralState

=================

    aliases: "View.getEphemeralState"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`getEphemeralState`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState)

View.getEphemeralState() method

-------------------------------

0.9.7

**Signature:**

    getEphemeralState(): Record<string, unknown>;

**Returns:**

`Record<string, unknown>`

getEphemeralState

Not found

This page does not exist

Interactive graph

On this page

View.getEphemeralState() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/Versions
----

Versions

========

Versions

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/getValue
----

getValue

========

    aliases: "ProgressBarComponent.getValue"

    cssclasses: hide-title

[`ProgressBarComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent) › [`getValue`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/getValue)

ProgressBarComponent.getValue() method

--------------------------------------

**Signature:**

    getValue(): number;

**Returns:**

`number`

Links to this page

[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

getValue

Not found

This page does not exist

Interactive graph

On this page

ProgressBarComponent.getValue() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf('split')
----

getLeaf('split')

================

getLeaf('split')

Not found

This page does not exist

Interactive graph

On this page

Workspace.getLeaf('split') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setTooltip
----

setTooltip

==========

    aliases: "ButtonComponent.setTooltip"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`setTooltip`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setTooltip)

ButtonComponent.setTooltip() method

-----------------------------------

1.1.0

**Signature:**

    setTooltip(tooltip: string, options?: TooltipOptions): this;

Parameters

----------

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

setTooltip

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.setTooltip() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroupMember
----

setGroupMember

==============

    aliases: "WorkspaceLeaf.setGroupMember"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`setGroupMember`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroupMember)

WorkspaceLeaf.setGroupMember() method

-------------------------------------

**Signature:**

    setGroupMember(other: WorkspaceLeaf): void;

Parameters

----------

Parameter

Type

Description

`other`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

**Returns:**

`void`

Links to this page

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

setGroupMember

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.setGroupMember() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RGB
----

RGB

===

    aliases: "RGB"

    cssclasses: hide-title

[`RGB`](https://docs.obsidian.md/Reference/TypeScript+API/RGB)

RGB interface

-------------

0.16.0

**Signature:**

    export interface RGB 

Properties

----------

Property

Modifiers

Type

Description

[`b`](https://docs.obsidian.md/Reference/TypeScript+API/RGB/b)

`number`

Blue integer value between 0 and 255

[`g`](https://docs.obsidian.md/Reference/TypeScript+API/RGB/g)

`number`

Green integer value between 0 and 255

[`r`](https://docs.obsidian.md/Reference/TypeScript+API/RGB/r)

`number`

Red integer value between 0 and 255

Links to this page

[b](https://docs.obsidian.md/Reference/TypeScript+API/RGB/b)

[g](https://docs.obsidian.md/Reference/TypeScript+API/RGB/g)

[getValueRgb](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValueRgb)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[r](https://docs.obsidian.md/Reference/TypeScript+API/RGB/r)

[setValueRgb](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValueRgb)

RGB

Not found

This page does not exist

Interactive graph

On this page

RGB interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextFileView
----

TextFileView

============

    aliases: "TextFileView"

    cssclasses: hide-title

[`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

TextFileView class

------------------

This class implements a plaintext-based editable file view, which can be loaded and saved given an editor.

Note that by default, this view only saves when it's closing. To implement auto-save, your editor should call `this.requestSave()` when the content is changed.

0.10.12

**Signature:**

    export abstract class TextFileView extends EditableFileView 

**Extends:** [`EditableFileView`](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/\(constructor\))

Constructs a new instance of the `TextFileView` class

Properties

----------

[`data`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/data)

`string`

In memory data

0.10.12


[`requestSave`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/requestSave)

`() => void`

Debounced save in 2 seconds from now

0.10.12

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) `| null`

Assign an optional scope to your view to register hotkeys for when the view is in focus.

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

Methods

-------

[`clear()`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/clear)

`abstract`

Clear the editor. This is usually called when we're about to open a completely different file, so it's best to clear any editor states like undo-redo history, and any caches/indexes associated with the previous file contents.

0.10.12



[`getViewData()`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/getViewData)

`abstract`

Gets the data from the editor. This will be called to save the editor contents to the file.

0.10.12

[`onLoadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onLoadFile)

0.10.12

[`setEphemeralState(state)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState)

0.9.7

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`setState(state, result)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState)

0.9.7

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

[`setViewData(data, clear)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/setViewData)

`abstract`

Set the data to the editor. This is used to load the file contents.

If clear is set, then it means we're opening a completely different file. In that case, you should call clear(), or implement a slightly more efficient clearing mechanism given the new data to be set.

0.10.12

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/\(constructor\))

[clear](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/clear)

[data](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/data)

[getViewData](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/getViewData)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[onLoadFile](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onLoadFile)

[onUnloadFile](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onUnloadFile)

[requestSave](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/requestSave)

[save](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/save)

[setViewData](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/setViewData)

TextFileView

Not found

This page does not exist

Interactive graph

On this page

TextFileView class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/end
----

end

===

    aliases: "EditorSuggestTriggerInfo.end"

    cssclasses: hide-title

[`EditorSuggestTriggerInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo) › [`end`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/end)

EditorSuggestTriggerInfo.end property

-------------------------------------

The end position of the triggering text. This is used to position the popover.

**Signature:**

    end: EditorPosition;

Links to this page

[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)

end

Not found

This page does not exist

Interactive graph

On this page

EditorSuggestTriggerInfo.end property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/left
----

left

====

    aliases: "EditorScrollInfo.left"

    cssclasses: hide-title

[`EditorScrollInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo) › [`left`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/left)

EditorScrollInfo.left property

------------------------------

**Signature:**

    left: number;

Links to this page

[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)

left

Not found

This page does not exist

Interactive graph

On this page

EditorScrollInfo.left property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtPosition
----

showAtPosition

==============

    aliases: "Menu.showAtPosition"

    cssclasses: hide-title

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu) › [`showAtPosition`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtPosition)

Menu.showAtPosition() method

----------------------------

1.1.0

**Signature:**

    showAtPosition(position: MenuPositionDef, doc?: Document): this;

Parameters

----------

Parameter

Type

Description

`position`

[`MenuPositionDef`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)

`doc`

`Document`

_(Optional)_

**Returns:**

`this`

Links to this page

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

showAtPosition

Not found

This page does not exist

Interactive graph

On this page

Menu.showAtPosition() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption
----

BasesMultitextOption

====================

    aliases: "BasesMultitextOption"

    cssclasses: hide-title

[`BasesMultitextOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption)

BasesMultitextOption interface

------------------------------

1.10.0

**Signature:**

    export interface BasesMultitextOption extends BasesOption 

**Extends:** [`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

Properties

----------

Property

Modifiers

Type

Description

[`default?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption/default)

`string[]`

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption/type)

`'multitext'`

1.10.0

Links to this page

[BasesOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

[default](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption/default)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption/type)

BasesMultitextOption

Not found

This page does not exist

Interactive graph

On this page

BasesMultitextOption interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/selectSuggestion
----

selectSuggestion

================

    aliases: "PopoverSuggest.selectSuggestion"

    cssclasses: hide-title

[`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest) › [`selectSuggestion`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/selectSuggestion)

PopoverSuggest.selectSuggestion() method

----------------------------------------

**Signature:**

    abstract selectSuggestion(value: T, evt: MouseEvent | KeyboardEvent): void;

Parameters

----------

Parameter

Type

Description

`value`

`T`

`evt`

`MouseEvent` `|` `KeyboardEvent`

**Returns:**

`void`

selectSuggestion

Not found

This page does not exist

Interactive graph

On this page

PopoverSuggest.selectSuggestion() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/clear
----

clear

=====

    aliases: "MarkdownPreviewView.clear"

    cssclasses: hide-title

[`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView) › [`clear`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/clear)

MarkdownPreviewView.clear() method

----------------------------------

**Signature:**

    clear(): void;

**Returns:**

`void`

Links to this page

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

clear

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewView.clear() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption/default
----

default

=======

    aliases: "BasesToggleOption.default"

    cssclasses: hide-title

[`BasesToggleOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption) › [`default`](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption/default)

BasesToggleOption.default property

----------------------------------

1.10.0

**Signature:**

    default?: boolean;

Links to this page

[BasesToggleOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption)

default

Not found

This page does not exist

Interactive graph

On this page

BasesToggleOption.default property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/properties
----

properties

==========

    aliases: "BasesQueryResult.properties"

    cssclasses: hide-title

[`BasesQueryResult`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult) › [`properties`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/properties)

BasesQueryResult.properties property

------------------------------------

Visible properties defined by the user.

1.10.0

**Signature:**

    get properties(): BasesPropertyId[];

Links to this page

[BasesQueryResult](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult)

properties

Not found

This page does not exist

Interactive graph

On this page

BasesQueryResult.properties property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/exists
----

exists

======

    aliases: "FileSystemAdapter.exists"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`exists`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/exists)

FileSystemAdapter.exists() method

---------------------------------

**Signature:**

    exists(normalizedPath: string, sensitive?: boolean): Promise<boolean>;

Parameters

----------

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

exists

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.exists() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Stat/type
----

type

====

    aliases: "Stat.type"

    cssclasses: hide-title

[`Stat`](https://docs.obsidian.md/Reference/TypeScript+API/Stat) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/Stat/type)

Stat.type property

------------------

**Signature:**

    type: 'file' | 'folder';

Links to this page

[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)

type

Not found

This page does not exist

Interactive graph

On this page

Stat.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/expand
----

expand

======

    aliases: "WorkspaceSidedock.expand"

    cssclasses: hide-title

[`WorkspaceSidedock`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock) › [`expand`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/expand)

WorkspaceSidedock.expand() method

---------------------------------

0.12.11

**Signature:**

    expand(): void;

**Returns:**

`void`

Links to this page

[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)

expand

Not found

This page does not exist

Interactive graph

On this page

WorkspaceSidedock.expand() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow
----

WorkspaceWindow

===============

    aliases: "WorkspaceWindow"

    cssclasses: hide-title

[`WorkspaceWindow`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

WorkspaceWindow class

---------------------

0.15.4

**Signature:**

    export class WorkspaceWindow extends WorkspaceContainer 

**Extends:** [`WorkspaceContainer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

Properties

----------

Property

Modifiers

Type

Description

[`doc`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow/doc)

`Document`

[`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit/parent)

[`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

(Inherited from [WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit))

[`win`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow/win)

`Window`

Methods

-------

[doc](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow/doc)

[getContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getContainer)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[moveLeafToPopout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/moveLeafToPopout)

[on('window-close')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('window-close'\))

[on('window-open')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('window-open'\))

[win](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow/win)

WorkspaceWindow

Not found

This page does not exist

Interactive graph

On this page

WorkspaceWindow class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/hide
----

hide

====

    aliases: "SettingTab.hide"

    cssclasses: hide-title

[`SettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab) › [`hide`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/hide)

SettingTab.hide() method

------------------------

Hides the contents of the setting tab. Any registered components should be unloaded when the view is hidden. Override this if you need to perform additional cleanup.

**Signature:**

    hide(): void;

**Returns:**

`void`

Links to this page

[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)

hide

Not found

This page does not exist

Interactive graph

On this page

SettingTab.hide() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/UserEvent
----

UserEvent

=========

    aliases: "UserEvent"

    cssclasses: hide-title

[`UserEvent`](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)

UserEvent type

--------------

**Signature:**

    export type UserEvent = MouseEvent | KeyboardEvent | TouchEvent | PointerEvent;

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isModEvent](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModEvent)

UserEvent

Not found

This page does not exist

Interactive graph

On this page

UserEvent type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rootSplit
----

rootSplit

=========

    aliases: "Workspace.rootSplit"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`rootSplit`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rootSplit)

Workspace.rootSplit property

----------------------------

0.9.7

**Signature:**

    rootSplit: WorkspaceRoot;

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

rootSplit

Not found

This page does not exist

Interactive graph

On this page

Workspace.rootSplit property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/getValue
----

getValue

========

    aliases: "Editor.getValue"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`getValue`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getValue)

Editor.getValue() method

------------------------

0.11.11

**Signature:**

    abstract getValue(): string;

**Returns:**

`string`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

getValue

Not found

This page does not exist

Interactive graph

On this page

Editor.getValue() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/About+styling
----

About styling

=============

The Obsidian app uses [Cascading Style Sheets](https://en.wikipedia.org/wiki/CSS) (CSS) to control the design of the user interface. CSS is the same markup language used for websites and web-based apps, which means you can find many resources online to help you learn how to use and edit CSS.

Obsidian includes hundreds of [CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables) that enable consistently beautiful user interfaces.

For plugins

-----------

By using the built-in CSS variables for your own custom elements, you can create native-looking user interfaces in your plugin that look beautiful and are compatible with community themes.

**styles.css**:

    .todo-list {

      background-color: var(--background-secondary);

    }

For themes and snippets

-----------------------

By overriding the default values for the Obsidian CSS variables, you can create beautiful themes without the need for complex CSS selectors.

**theme.css**:

    .theme-dark {

      --background-primary: #18004F;

      --background-secondary: #220070;

    }

    .theme-light {

      --background-primary: #ECE4FF;

      --background-secondary: #D9C9FF;

    }

To learn more about how to build a theme using CSS variables, refer to [Build a theme](https://docs.obsidian.md/Themes/App+themes/Build+a+theme).

About styling

Not found

This page does not exist

Interactive graph

On this page

For plugins

For themes and snippets

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Block
----

Block

=====

    cssclasses: reference

This page lists CSS variables for rendered blocks in Live Preview.

CSS variables

-------------

Variable

Description

`--embed-block-shadow-hover`

Hover shadow for rendered embed blocks in Live Preview

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Block

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/removeCta
----

removeCta

=========

    aliases: "ButtonComponent.removeCta"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`removeCta`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/removeCta)

ButtonComponent.removeCta() method

----------------------------------

0.9.20

**Signature:**

    removeCta(): this;

**Returns:**

`this`

Links to this page

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

removeCta

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.removeCta() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/set
----

set

===

    aliases: "MarkdownEditView.set"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView) › [`set`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/set)

MarkdownEditView.set() method

-----------------------------

**Signature:**

    set(data: string, clear: boolean): void;

Parameters

----------

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

set

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView.set() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent
----

registerEvent

=============

    aliases: "Component.registerEvent"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component) › [`registerEvent`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent)

Component.registerEvent() method

--------------------------------

Registers an event to be detached when unloading

0.9.7

**Signature:**

    registerEvent(eventRef: EventRef): void;

Parameters

----------

Parameter

Type

Description

`eventRef`

[`EventRef`](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)

**Returns:**

`void`

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[QueryController](https://docs.obsidian.md/Reference/TypeScript+API/QueryController)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

registerEvent

Not found

This page does not exist

Interactive graph

On this page

Component.registerEvent() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/secretStorage
----

secretStorage

=============

    aliases: "App.secretStorage"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) › [`secretStorage`](https://docs.obsidian.md/Reference/TypeScript+API/App/secretStorage)

App.secretStorage property

--------------------------

1.11.4

**Signature:**

    secretStorage: SecretStorage;

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

secretStorage

Not found

This page does not exist

Interactive graph

On this page

App.secretStorage property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Themes/Obsidian+Publish+themes/Best+practices+for+Publish+themes
----

Best practices for Publish themes

=================================

    cssclasses: reference

### Obsidian App and Obsidian Publish are different contexts

Obsidian Publish shares common code and UI principles with Obsidian App, but also has some important differences that you should consider when creating themes. A few rules of thumb to keep in mind:

*   Avoid complex selectors, use the available [CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables) instead.

*   Avoid including CSS selectors and rules that are specific to Obsidian App.

*   Keep CSS file size small so it loads fast for visitors.

*   Consider compatibility across browsers and screen sizes.

### App-specific and Publish-specific CSS rules

While Obsidian App and Obsidian Publish share some common code, most App themes are designed to target CSS classes that are not present in the Publish context. For this reason, we recommend building Publish themes from the ground up, to minimize the amount of unnecessary code.

### File size

Obsidian App themes are stored locally on the user's device, whereas Obsidian Publish themes are loaded each time a user vists the site. For this reason, Obsidian Publish themes should be mindful of file size.

Keeping your theme file small will avoid [flashes of unstyled content](https://en.wikipedia.org/wiki/Flash_of_unstyled_content), and load faster on a variety of devices and internet connections. Ideally your `publish.css` file should be as small as possible.

In the App context it is acceptable to embed fonts and images in the CSS file using base64 encoding. In the Publish context, we recommend that you avoid this approach, especially if it leads to larger file sizes (multiple megabytes) that may block rendering when a visitor accesses the site.

### Browser compatibility

Visitors to Publish sites may use older browsers that are not compatible with new CSS features. For this reason we recommend being conservative with advanced CSS features in the Publish context. This is in contrast to Obsidian App themes which target a narrow scope of rendering engines (recent versions of Chromium/Blink) that support newer browser features. Try searching [caniuse.com](https://caniuse.com/) to see which CSS features are broadly available across browsers.

### Small screens and mobile devices

Obsidian Publish has two breakpoints by default:

Breakpoint

Device

Effect

1000px

Tablet

Right sidebar is hidden

750px

Mobile

Left and right sidebars are hidden. If enabled, navigation is accessible via hamburger menu in the top left corner

You can target these devices using CSS. Any rules defined outside of the `@media` query will apply to all devices.

    @media screen and (min-width: 1000px) {

      /* ... rules and variables for screens larger than tablet */

    }

    @media screen and (max-width: 1000px) {

      /* ... rules and variables for tablet devices and smaller */

    }

    @media screen and (max-width: 750px) {

      /* ... rules and variables for mobile devices and smaller */

    }

Best practices for Publish themes

Not found

This page does not exist

Interactive graph

On this page

Obsidian App and Obsidian Publish are different contexts

App-specific and Publish-specific CSS rules

File size

Browser compatibility

Small screens and mobile devices

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/saveData
----

saveData

========

    aliases: "Plugin.saveData"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`saveData`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/saveData)

Plugin.saveData() method

------------------------

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

**Signature:**

    saveData(data: any): Promise<void>;

Parameters

----------

Parameter

Type

Description

`data`

`any`

**Returns:**

`Promise<void>`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)

saveData

Not found

This page does not exist

Interactive graph

On this page

Plugin.saveData() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/getRoot
----

getRoot

=======

    aliases: "Vault.getRoot"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`getRoot`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getRoot)

Vault.getRoot() method

----------------------

Get the root folder of the current vault.

0.9.7

**Signature:**

    getRoot(): TFolder;

**Returns:**

[`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

getRoot

Not found

This page does not exist

Interactive graph

On this page

Vault.getRoot() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/(constructor)
----

(constructor)

=============

    aliases: "SuggestModal.(constructor)"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/\(constructor\))

SuggestModal.(constructor)

--------------------------

Constructs a new instance of the `SuggestModal` class

**Signature:**

    constructor(app: App);

Parameters

----------

Parameter

Type

Description

`app`

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption/options
----

options

=======

    aliases: "BasesDropdownOption.options"

    cssclasses: hide-title

[`BasesDropdownOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption) › [`options`](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption/options)

BasesDropdownOption.options property

------------------------------------

1.10.0

**Signature:**

    options: Record<string, string>;

Links to this page

[BasesDropdownOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption)

options

Not found

This page does not exist

Interactive graph

On this page

BasesDropdownOption.options property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/oo/plugin
----

Obsidian October plugin self-critique checklist

===============================================

    description: A checklist for plugin developers to self-critique their plugins.

    permalink: oo/plugin

    aliases:

      - oo24/plugin

Releasing and naming

--------------------

*   Remove placeholder names such as `MyPlugin` and `SampleSettingTab`.

*   Don't include the word "Obsidian" in your name unless it absolutely makes sense. Most of the time it's redundant.

*   Don't include your plugin name in command names. Obsidian adds this for you.

*   Don't prefix commands with your plugin ID. Obsidian adds this for you.

*   Don't include `main.js` in your repo. Only include it in your releases.

*   If you haven't, consider add a `fundingUrl` so that users of your plugin can show some support. [Learn more](https://docs.obsidian.md/Reference/Manifest#fundingUrl).

Compatibility

-------------

*   Don't provide default hotkeys for commands. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Avoid+setting+a+default+hotkey+for+commands).

*   Don't override core styling. If needed, add your own class and make the styling only apply to your class.

*   Do scan your code for deprecated methods (they usually show up as strikeout text in IDEs).

*   Don't assign styles via JavaScript or in HTML. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#No+hardcoded+styling).

*   Don't access the hardcoded `.obsidian` folder if you need to access the configuration directory. The location could be customized, so please use `Vault.configDir` instead.

Mobile support

--------------

Complete this section if you have `isDesktopOnly` set to false in your manifest.

*   Don’t use Node.js modules such as `fs`, `path`, or `electron` at the top level. If needed, gate the functionality behind `Platform.isDesktopApp` and `require()` them dynamically at runtime.

*   Don't use regex lookbehinds if you want to support iOS versions lower than 16.4 (ignore this if you don't use regex in your plugin). [Learn more](https://docs.obsidian.md/Plugins/Getting+started/Mobile+development#Lookbehind+in+regular+expressions).

*   Don't cast `Vault.adapter` to `FileSystemAdapter`. All usages of `FileSystemAdapter` should be gated behind an `instanceof` check. On mobile, `Vault.adapter` will be an instance of `CapacitorAdapter`.

*   Don't use `process.platform`, use Obsidian's `Platform` instead. [Link to API](https://docs.obsidian.md/Reference/TypeScript+API/Platform).

*   Don't use `fetch` or `axios.get`, use Obsidian's `requestUrl` instead. [Link to API](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl).

Coding style

------------

*   Don't use `var`. Use `let` or `const` instead. [Learn more](https://javascript.plainenglish.io/4-reasons-why-var-is-considered-obsolete-in-modern-javascript-a30296b5f08f).

*   Don't use the global `app` instance. Use `this.app` provided to your plugin instance instead. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Avoid%20using%20global%20app%20instance).

*   Do break up your `main.ts` into smaller files or even folders if it gets big to make code easier to find.

*   Do use `async` and `await` when you can for readability, instead of using `Promise`. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Prefer+async%2Fawait+over+Promise).

*   Don't use global variables. Try to keep variables either in the scope of classes or functions. [Learn more](http://wiki.c2.com/?GlobalVariablesAreBad).

*   Do test with `instanceof` before casting into other types such as `TFile`, `TFolder`, or `FileSystemAdapter`.

*   Don't use use `as any` and use proper typing instead.

Security

--------

*   Do [disclose relevant information](https://docs.obsidian.md/Developer+policies#Disclosures) in your README file (payments, account requirements, network use, external file access, ads, telemetry with privacy policy, closed source code).

*   Do be mindful of all dependencies you add to your plugin. Remember that [less is safer](https://obsidian.md/blog/less-is-safer/).

*   Do not include any client-side telemetry. Libraries that offer usage tracking and metrics will often collect information that users could consider sensitive.

*   Do commit and use a lock file (package-lock.json, pnpm-lock.yaml, or yarn.lock) when using a package manager (npm, pnpm, or yarn).

API usage

---------

*   Don't use `Vault.modify`. If you want to edit the active file, prefer using the `Editor` interface. If you want to edit it in the background, use `Vault.process`.

*   Don't manually read and write frontmatter. Instead, use `FileManager.processFrontMatter`. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Prefer+%60FileManager.processFrontMatter%60+to+modify+frontmatter+of+a+note).

*   Don't use `vault.delete` to delete files. Use `trashFile` instead to make sure the file is deleted according to the users preferences. [Learn more](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/trashFile).

*   Don't use the `Adapter` API whenever possible. Use `Vault` API instead. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Prefer+the+Vault+API+over+the+Adapter+API).

*   Don't manage reading and write plugin data yourself. Use `Plugin.loadData()` and `Plugin.saveData()` instead.

*   Do use `normalizePath()` if you take user defined paths. [Learn more](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath).

Performance

-----------

*   Do optimize your plugin's load time. [See guide](https://docs.obsidian.md/plugins/guides/load-time).

*   Don't iterate all files to find a file or folder by its path. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Avoid+iterating+all+files+to+find+a+file+by+its+path).

*   If you want your plugins to be compatible with Obsidian 1.7.2+, update your plugin to work with `DeferredViews`. [See guide](https://docs.obsidian.md/plugins/guides/defer-views).

*   If you're using `moment`, make sure you're doing `import { moment} from 'obsidian'` so that you don't import another copy.

*   Do minimize your `main.js` for releasing.

*   Do your initial UI setup on `workspace.onLayoutReady()` instead of in the constructor or `onload()` function. [Learn more](https://docs.obsidian.md/Plugins/Guides/Optimizing+plugin+load+time#If+you+have+code+that+you+want+to+run+at+startup%2C+where+should+it+go%3F).

User interface

--------------

*   Don't use setting headings unless you have more than one section. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Only+use+headings+under+settings+if+you+have+more+than+one+section).

*   Don't include the word "setting" or "option" in setting headings. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Avoid+%22settings%22+in+settings+headings).

*   Do use sentence case in all text in UI elements to be consistent with rest of Obsidian UI. [Learn more](https://en.wiktionary.org/wiki/sentence_case).

*   Don't use `<h1>` or `<h2>` for setting header. Use Obsidian API instead. [Learn more](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines#Use+%60setHeading%60+instead+of+a+%60%3Ch1%3E%60%2C+%60%3Ch2%3E%60).

*   Don't do `console.log` unless they are absolutely necessarily. Remove testing console logs that are not needed for production.

Obsidian October plugin self-critique checklist

Not found

This page does not exist

Interactive graph

On this page

Releasing and naming

Compatibility

Mobile support

Coding style

Security

API usage

Performance

User interface

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/footnotes
----

footnotes

=========

    aliases: "CachedMetadata.footnotes"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`footnotes`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/footnotes)

CachedMetadata.footnotes property

---------------------------------

1.6.6

**Signature:**

    footnotes?: FootnoteCache[];

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

footnotes

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.footnotes property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/hide
----

hide

====

    aliases: "Menu.hide"

    cssclasses: hide-title

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu) › [`hide`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/hide)

Menu.hide() method

------------------

**Signature:**

    hide(): this;

**Returns:**

`this`

Links to this page

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

hide

Not found

This page does not exist

Interactive graph

On this page

Menu.hide() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult
----

SubpathResult

=============

    aliases: "SubpathResult"

    cssclasses: hide-title

[`SubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)

SubpathResult interface

-----------------------

**Signature:**

    export interface SubpathResult 

Properties

----------

Property

Modifiers

Type

Description

[`end`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/end)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc) `| null`

[`start`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/start)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

Links to this page

[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)

[end](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/end)

[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)

[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[start](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/start)

SubpathResult

Not found

This page does not exist

Interactive graph

On this page

SubpathResult interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/summaries
----

summaries

=========

    aliases: "BasesConfigFile.summaries"

    cssclasses: hide-title

[`BasesConfigFile`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile) › [`summaries`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/summaries)

BasesConfigFile.summaries property

----------------------------------

Configuration for summary formulas used in this Base.

Key: Summary formula name. Value: Formula string.

1.10.0

**Signature:**

    summaries?: Record<string, string>;

Links to this page

[BasesConfigFile](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile)

summaries

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFile.summaries property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Events/off
----

off

===

    aliases: "Events.off"

    cssclasses: hide-title

[`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events) › [`off`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off)

Events.off() method

-------------------

0.9.7

**Signature:**

    off(name: string, callback: (...data: unknown[]) => unknown): void;

Parameters

----------

off

Not found

This page does not exist

Interactive graph

On this page

Events.off() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/offsetToPos
----

offsetToPos

===========

    aliases: "Editor.offsetToPos"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`offsetToPos`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/offsetToPos)

Editor.offsetToPos() method

---------------------------

0.11.11

**Signature:**

    abstract offsetToPos(offset: number): EditorPosition;

Parameters

----------

Parameter

Type

Description

`offset`

`number`

**Returns:**

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

offsetToPos

Not found

This page does not exist

Interactive graph

On this page

Editor.offsetToPos() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache/id
----

FootnoteRefCache

[id](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache/id)

    aliases: "FootnoteRefCache.id"

    cssclasses: hide-title

[`FootnoteRefCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache) › [`id`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache/id)

FootnoteRefCache.id property

----------------------------

**Signature:**

    id: string;

Links to this page

[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)

id

Not found

This page does not exist

Interactive graph

On this page

FootnoteRefCache.id property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView
----

MarkdownView

============

    aliases: "MarkdownView"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

MarkdownView class

------------------

**Signature:**

    export class MarkdownView extends TextFileView implements MarkdownFileInfo 

**Extends:** [`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

**Implements:** [`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/\(constructor\))

Constructs a new instance of the `MarkdownView` class

Properties

----------

[`currentMode`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/currentMode)

[`MarkdownSubView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)

[`data`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/data)

`string`

In memory data

0.10.12

(Inherited from [TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView))

[`editor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/editor)

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

[`file`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/file)

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) `| null`

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

[`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/hoverPopover)

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) `| null`

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

[`previewMode`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/previewMode)

[`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[`requestSave`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/requestSave)

`() => void`

Debounced save in 2 seconds from now

0.10.12

(Inherited from [TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView))

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) `| null`

Assign an optional scope to your view to register hotkeys for when the view is in focus.

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

Methods

-------

[`clear()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/clear)

[`getDisplayText()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getDisplayText)

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

[`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState)

0.9.7

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon)

1.1.0

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`getMode()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getMode)

[`getState()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getState)

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

[`getViewData()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewData)

[`getViewType()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewType)

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onload)

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

[`onLoadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onLoadFile)

0.10.12

(Inherited from [TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView))


(Inherited from [TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView))

(Inherited from [TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView))

[`setEphemeralState(state)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState)

0.9.7

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`setState(state, result)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState)

0.9.7

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

[`setViewData(data, clear)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/setViewData)

[`showSearch(replace)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/showSearch)

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/\(constructor\))

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/\(constructor\))

[clear](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/clear)

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)

[currentMode](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/currentMode)

[editor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/editor)

[getMode](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getMode)

[getViewData](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewData)

[getViewType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewType)

[hoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/hoverPopover)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[on('editor-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-change'\))

[on('editor-drop')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-drop'\))

[on('editor-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-menu'\))

[on('editor-paste')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-paste'\))

[previewMode](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/previewMode)

[setViewData](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/setViewData)

[showSearch](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/showSearch)

MarkdownView

Not found

This page does not exist

Interactive graph

On this page

MarkdownView class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/(constructor)
----

(constructor)

=============

    aliases: "AbstractInputSuggest.(constructor)"

    cssclasses: hide-title

[`AbstractInputSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/\(constructor\))

AbstractInputSuggest.(constructor)

----------------------------------

Accepts an `<input>` text box or a contenteditable div.

**Signature:**

    constructor(app: App, textInputEl: HTMLInputElement | HTMLDivElement);

Parameters

----------

Parameter

Type

Description

`app`

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

`textInputEl`

`HTMLInputElement` `|` `HTMLDivElement`

Links to this page

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

AbstractInputSuggest.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceSelection
----

replaceSelection

================

    aliases: "Editor.replaceSelection"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`replaceSelection`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceSelection)

Editor.replaceSelection() method

--------------------------------

0.11.11

**Signature:**

    abstract replaceSelection(replacement: string, origin?: string): void;

Parameters

----------

Parameter

Type

Description

`replacement`

`string`

replaceSelection

Not found

This page does not exist

Interactive graph

On this page

Editor.replaceSelection() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/canAcceptExtension
----

canAcceptExtension

Not found

This page does not exist

Interactive graph

On this page

FileView.canAcceptExtension() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult
----

HeadingSubpathResult

====================

    aliases: "HeadingSubpathResult"

    cssclasses: hide-title

[`HeadingSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)

HeadingSubpathResult interface

------------------------------

0.9.16

**Signature:**

    export interface HeadingSubpathResult extends SubpathResult 

**Extends:** [`SubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)

Properties

----------

Property

Modifiers

Type

Description

[`current`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult/current)

[`HeadingCache`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)

0.9.16

[`end`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/end)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc) `| null`

(Inherited from [SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult))

[`next`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult/next)

[`HeadingCache`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)

0.9.16

[`start`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/start)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

(Inherited from [SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult))

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult/type)

`'heading'`

0.9.16

HeadingSubpathResult

Not found

This page does not exist

Interactive graph

On this page

HeadingSubpathResult interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/write
----

write

=====

    aliases: "FileSystemAdapter.write"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`write`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/write)

FileSystemAdapter.write() method

--------------------------------

**Signature:**

    write(normalizedPath: string, data: string, options?: DataWriteOptions): Promise<void>;

Parameters

----------

write

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.write() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/(constructor)
----

(constructor)

=============

    aliases: "View.(constructor)"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/View/\(constructor\))

View.(constructor)

------------------

0.9.7

**Signature:**

    constructor(leaf: WorkspaceLeaf);

Parameters

----------

Parameter

Type

Description

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

Links to this page

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

View.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf_1
----

getLeaf\_1

==========

    aliases: "Workspace.getLeaf_1"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`getLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf_1)

Workspace.getLeaf() method

--------------------------

If newLeaf is false (or not set) then an existing leaf which can be navigated is returned, or a new leaf will be created if there was no leaf available.

If newLeaf is `'tab'` or `true` then a new leaf will be created in the preferred location within the root split and returned.

If newLeaf is `'split'` then a new leaf will be created adjacent to the currently active leaf.

If newLeaf is `'window'` then a popout window will be created with a new leaf inside.

0.16.0

**Signature:**

    getLeaf(newLeaf?: PaneType | boolean): WorkspaceLeaf;

Parameters

----------

Parameter

Type

Description

`newLeaf`

[`PaneType`](https://docs.obsidian.md/Reference/TypeScript+API/PaneType) `| boolean`

_(Optional)_

**Returns:**

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

getLeaf\_1

Not found

This page does not exist

Interactive graph

On this page

Workspace.getLeaf() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Events/tryTrigger
----

tryTrigger

==========

    aliases: "Events.tryTrigger"

    cssclasses: hide-title

[`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events) › [`tryTrigger`](https://docs.obsidian.md/Reference/TypeScript+API/Events/tryTrigger)

Events.tryTrigger() method

--------------------------

0.9.7

**Signature:**

    tryTrigger(evt: EventRef, args: unknown[]): void;

Parameters

----------

Parameter

Type

Description

`evt`

[`EventRef`](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)

`args`

tryTrigger

Not found

This page does not exist

Interactive graph

On this page

Events.tryTrigger() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/resultContainerEl
----

resultContainerEl

=================

    aliases: "SuggestModal.resultContainerEl"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) › [`resultContainerEl`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/resultContainerEl)

SuggestModal.resultContainerEl property

---------------------------------------

0.9.20

**Signature:**

    resultContainerEl: HTMLElement;

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

resultContainerEl

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.resultContainerEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TagValue/(constructor)
----

SubpathResult

SuggestModal

TAbstractFile

TagCache

TagValue

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/TagValue/\(constructor\))

(constructor)

Not found

This page does not exist

Interactive graph

On this page

TagValue.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/isEmpty
----

isEmpty

=======

    aliases: "ObjectValue.isEmpty"

    cssclasses: hide-title

[`ObjectValue`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue) › [`isEmpty`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/isEmpty)

ObjectValue.isEmpty() method

----------------------------

1.10.0

**Signature:**

    isEmpty(): boolean;

**Returns:**

`boolean`

Links to this page

[ObjectValue](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue)

isEmpty

Not found

This page does not exist

Interactive graph

On this page

ObjectValue.isEmpty() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getRightLeaf
----

getRightLeaf

============

getRightLeaf

Not found

This page does not exist

Interactive graph

On this page

Workspace.getRightLeaf() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/getIconIds
----

getIconIds

==========

    aliases: "getIconIds"

    cssclasses: hide-title

[`getIconIds`](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)

getIconIds() function

---------------------

Get the list of registered icons.

**Signature:**

    export function getIconIds(): IconName[];

**Returns:**

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)`[]`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

getIconIds

Not found

This page does not exist

Interactive graph

On this page

getIconIds() function

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/renderContext
----

renderContext

=============

    aliases: "App.renderContext"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) › [`renderContext`](https://docs.obsidian.md/Reference/TypeScript+API/App/renderContext)

App.renderContext property

--------------------------

1.10.0

**Signature:**

    renderContext: RenderContext;

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

renderContext

Not found

This page does not exist

Interactive graph

On this page

App.renderContext property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/block
----

block

=====

    aliases: "BlockSubpathResult.block"

    cssclasses: hide-title

[`BlockSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult) › [`block`](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/block)

BlockSubpathResult.block property

---------------------------------

**Signature:**

    block: BlockCache;

Links to this page

[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)

block

Not found

This page does not exist

Interactive graph

On this page

BlockSubpathResult.block property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValue
----

setValue

========

    aliases: "ColorComponent.setValue"

    cssclasses: hide-title

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValue)

ColorComponent.setValue() method

--------------------------------

1.0.0

**Signature:**

    setValue(value: HexString): this;

Parameters

----------

Parameter

Type

Description

`value`

[`HexString`](https://docs.obsidian.md/Reference/TypeScript+API/HexString)

**Returns:**

`this`

Links to this page

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

setValue

Not found

This page does not exist

Interactive graph

On this page

ColorComponent.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TFolder/children
----

children

========

children

Not found

This page does not exist

Interactive graph

On this page

TFolder.children property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection
----

EditorSelection

===============

    aliases: "EditorSelection"

    cssclasses: hide-title

[`EditorSelection`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)

EditorSelection interface

-------------------------

0.12.11

**Signature:**

    export interface EditorSelection 

Properties

----------

Property

Modifiers

Type

Description

[`anchor`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection/anchor)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

[`head`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection/head)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

EditorSelection

Not found

This page does not exist

Interactive graph

On this page

EditorSelection interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler
----

KeymapEventHandler

==================

    aliases: "KeymapEventHandler"

    cssclasses: hide-title

[`KeymapEventHandler`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)

KeymapEventHandler interface

----------------------------

**Signature:**

    export interface KeymapEventHandler extends KeymapInfo 

**Extends:** [`KeymapInfo`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)

Properties

----------

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope)

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[register](https://docs.obsidian.md/Reference/TypeScript+API/Scope/register)

[scope](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler/scope)

[unregister](https://docs.obsidian.md/Reference/TypeScript+API/Scope/unregister)

KeymapEventHandler

Not found

This page does not exist

Interactive graph

On this page

KeymapEventHandler interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('rename')
----

on('rename')

============

    aliases: "Vault.on('rename')"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [on('rename')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on\('rename'\))

Vault.on('rename') method

-------------------------

Called when a file is renamed.

0.9.7

**Signature:**

    on(name: 'rename', callback: (file: TAbstractFile, oldPath: string) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'rename'`

`callback`

`(file:` [`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)`, oldPath: string) => any`

`ctx`

`any`

_(Optional)_

**Returns:**

[`EventRef`](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

on('rename')

Not found

This page does not exist

Interactive graph

On this page

Vault.on('rename') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+footer
----

Site footer

===========

    cssclasses: reference

The site footer contains the text "Powered by Obsidian Publish". To hide the site footer you can set `--footer-display` to `none`.

CSS variables

-------------

Publish-specific variables should be defined on the `.published-container`.

Variable

Description

`--footer-display`

Footer display

Site footer

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource/display
----

display

=======

    aliases: "HoverLinkSource.display"

    cssclasses: hide-title

[`HoverLinkSource`](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource) › [`display`](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource/display)

HoverLinkSource.display property

--------------------------------

Text displayed in the 'Page preview' plugin settings. It should match the plugin's display name.

**Signature:**

    display: string;

Links to this page

[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)

display

Not found

This page does not exist

Interactive graph

On this page

HoverLinkSource.display property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatterLinks
----

frontmatterLinks

================

    aliases: "CachedMetadata.frontmatterLinks"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`frontmatterLinks`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatterLinks)

CachedMetadata.frontmatterLinks property

----------------------------------------

1.4.0

**Signature:**

    frontmatterLinks?: FrontmatterLinkCache[];

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

frontmatterLinks

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.frontmatterLinks property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/blocks
----

blocks

======

    aliases: "CachedMetadata.blocks"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`blocks`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/blocks)

CachedMetadata.blocks property

------------------------------

**Signature:**

    blocks?: Record<string, BlockCache>;

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

blocks

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.blocks property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+components
----

Site components

===============

    cssclasses: reference

This page lists CSS variables used for Obsidian Publish site components.

CSS variables

-------------

Publish-specific variables should be defined on the `.published-container`.

### Component titles

Styles for the title above components such as **Backlinks**, **Graph**, **Table of contents**, when these components are turned on in the site settings.

Variable

Description

`--component-title-color`

Font color

`--component-title-font`

Font family

`--component-title-size`

Font size

`--component-title-style`

Font style, e.g. normal or italic

`--component-title-transform`

Text transform, e.g. uppercase

`--component-title-variant`

Font variant

`--component-title-weight`

Font weight

### Outline

When activated in Publish settings, a table of contents is displayed in the right sidebar showing a navigable list of headings on the page.

Variable

Description

`--outline-heading-color`

Font color for inactive headings

`--outline-heading-color-hover`

Font color for hovered heading

`--outline-heading-color-active`

Font color for active heading

`--outline-heading-weight-active`

Font weight for active heading

### Graph

The graph component can be turned on in Publish settings. More graph CSS variables for node and line colors are present in the inherited CSS.

Variable

Description

`--graph-height`

Height of the graph component

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Publish](https://docs.obsidian.md/Reference/CSS+variables/Publish/Publish)

[Site sidebars](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+sidebars)

Site components

Not found

This page does not exist

Interactive graph

On this page

CSS variables

Component titles

Outline

Graph

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/onSelect
----

onSelect

========

    aliases: "AbstractInputSuggest.onSelect"

    cssclasses: hide-title

[`AbstractInputSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest) › [`onSelect`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/onSelect)

AbstractInputSuggest.onSelect() method

--------------------------------------

Registers a callback to handle when a suggestion is selected by the user.

1.4.10

**Signature:**

    onSelect(callback: (value: T, evt: MouseEvent | KeyboardEvent) => any): this;

Parameters

----------

Parameter

Type

Description

`callback`

`(value: T, evt:` `MouseEvent` `|` `KeyboardEvent``) => any`

**Returns:**

`this`

Links to this page

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

onSelect

Not found

This page does not exist

Interactive graph

On this page

AbstractInputSuggest.onSelect() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent
----

BaseComponent

=============

    aliases: "BaseComponent"

    cssclasses: hide-title

[`BaseComponent`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)

BaseComponent class

-------------------

0.10.3

**Signature:**

    export abstract class BaseComponent 

Properties

----------

Property

Modifiers

Type

Description

[`disabled`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/disabled)

`boolean`

0.10.3

Methods

-------

Method

Modifiers

Description

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/setDisabled)

1.2.3

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

Links to this page

[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

[disabled](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/disabled)

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

[SecretComponent](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent)

[setDisabled](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/setDisabled)

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

[then](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)

BaseComponent

Not found

This page does not exist

Interactive graph

On this page

BaseComponent class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Events/offref
----

offref

======

    aliases: "Events.offref"

    cssclasses: hide-title

[`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events) › [`offref`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref)

Events.offref() method

----------------------

0.9.7

**Signature:**

    offref(ref: EventRef): void;

Parameters

----------

Parameter

Type

Description

`ref`

[`EventRef`](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)

offref

Not found

This page does not exist

Interactive graph

On this page

Events.offref() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/debounce
----

debounce

========

    aliases: "debounce"

    cssclasses: hide-title

[`debounce`](https://docs.obsidian.md/Reference/TypeScript+API/debounce)

debounce() function

-------------------

A standard debounce function. Use this to have a time-delayed function only be called once in a given timeframe.

**Signature:**

    export function debounce<T extends unknown[], V>(cb: (...args: [...T]) => V, timeout?: number, resetTimer?: boolean): Debouncer<T, V>;

Parameters

----------

Parameter

Type

Description

`cb`

`(...args: [...T]) => V`

The function to call.

`timeout`

`number`

_(Optional)_ The timeout to wait, in milliseconds

`resetTimer`

`boolean`

_(Optional)_ Whether to reset the timeout when the debounce function is called again.

**Returns:**

[`Debouncer`](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)`<T, V>`

a debounced function that takes the same parameter as the original function.

Example

-------

    const debounced = debounce((text: string) => {

        console.log(text);

    }, 1000, true);

    debounced('Hello world'); // this will not be printed

    await sleep(500);

    debounced('World, hello'); // this will be printed to the console.

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

debounce

Not found

This page does not exist

Interactive graph

On this page

debounce() function

Parameters

Example

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor/sortOrder
----

[sortOrder](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor/sortOrder)


sortOrder

=========

    aliases: "MarkdownPostProcessor.sortOrder"

    cssclasses: hide-title

[`MarkdownPostProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor) › [`sortOrder`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor/sortOrder)

MarkdownPostProcessor.sortOrder property

----------------------------------------

An optional integer sort order. Defaults to 0. Lower number runs before higher numbers.

**Signature:**

    sortOrder?: number;

Links to this page

[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)

sortOrder

Not found

This page does not exist

Interactive graph

On this page

MarkdownPostProcessor.sortOrder property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/parseYaml
----

parseYaml

=========

    aliases: "parseYaml"

    cssclasses: hide-title

[`parseYaml`](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)

parseYaml() function

--------------------

**Signature:**

    export function parseYaml(yaml: string): any;

Parameters

----------

Parameter

Type

Description

`yaml`

`string`

**Returns:**

`any`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

parseYaml

Not found

This page does not exist

Interactive graph

On this page

parseYaml() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/file
----

file

====

    aliases: "FileView.file"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`file`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/file)

FileView.file property

----------------------

**Signature:**

    file: TFile | null;

Links to this page

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

file

Not found

This page does not exist

Interactive graph

On this page

FileView.file property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/addToDate
----

addToDate

=========

    aliases: "DurationValue.addToDate"

    cssclasses: hide-title

[`DurationValue`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue) › [`addToDate`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/addToDate)

DurationValue.addToDate() method

--------------------------------

Modifies the provided by this duration.

1.10.0

**Signature:**

    addToDate(value: DateValue, subtract?: boolean): DateValue;

Parameters

----------

Parameter

Type

Description

`value`

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

`subtract`

`boolean`

_(Optional)_

**Returns:**

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

Links to this page

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

addToDate

Not found

This page does not exist

Interactive graph

On this page

DurationValue.addToDate() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/renderMatches
----

renderMatches

=============

    aliases: "renderMatches"

    cssclasses: hide-title

[`renderMatches`](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)

renderMatches() function

------------------------

**Signature:**

    export function renderMatches(el: HTMLElement | DocumentFragment, text: string, matches: SearchMatches | null, offset?: number): void;

Parameters

----------

Parameter

Type

Description

`el`

`HTMLElement` `|` `DocumentFragment`

`text`

`string`

`matches`

[`SearchMatches`](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches) `| null`

`offset`

`number`

_(Optional)_

**Returns:**

`void`

renderMatches

Not found

This page does not exist

Interactive graph

On this page

renderMatches() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/remove
----

remove

======

    aliases: "CapacitorAdapter.remove"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`remove`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/remove)

CapacitorAdapter.remove() method

--------------------------------

1.7.2

**Signature:**

    remove(normalizedPath: string): Promise<void>;

Parameters

----------

remove

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.remove() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache/id
----

[id](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache/id)

FootnoteRefCache

    aliases: "FootnoteCache.id"

    cssclasses: hide-title

[`FootnoteCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache) › [`id`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache/id)

FootnoteCache.id property

-------------------------

**Signature:**

    id: string;

Links to this page

[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)

id

Not found

This page does not exist

Interactive graph

On this page

FootnoteCache.id property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/scope
----

scope

Not found

This page does not exist

Interactive graph

On this page

Modal.scope property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/renderSuggestion
----

renderSuggestion

================

    aliases: "FuzzySuggestModal.renderSuggestion"

    cssclasses: hide-title

[`FuzzySuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal) › [`renderSuggestion`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/renderSuggestion)

FuzzySuggestModal.renderSuggestion() method

-------------------------------------------

0.9.20

**Signature:**

    renderSuggestion(item: FuzzyMatch<T>, el: HTMLElement): void;

Parameters

----------

Parameter

Type

Description

`item`

[`FuzzyMatch`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)`<T>`

`el`

`HTMLElement`

**Returns:**

`void`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)

renderSuggestion

Not found

This page does not exist

Interactive graph

On this page

FuzzySuggestModal.renderSuggestion() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/currentMode
----

currentMode

===========

    aliases: "MarkdownView.currentMode"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) › [`currentMode`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/currentMode)

MarkdownView.currentMode property

---------------------------------

**Signature:**

    currentMode: MarkdownSubView;

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

currentMode

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.currentMode property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Notice/messageEl
----

messageEl

=========

    aliases: "Notice.messageEl"

    cssclasses: hide-title

[`Notice`](https://docs.obsidian.md/Reference/TypeScript+API/Notice) › [`messageEl`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/messageEl)

Notice.messageEl property

-------------------------

1.8.7

**Signature:**

    messageEl: HTMLElement;

Links to this page

[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)

messageEl

Not found

This page does not exist

Interactive graph

On this page

Notice.messageEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext
----

parseLinktext

=============

    aliases: "parseLinktext"

    cssclasses: hide-title

[`parseLinktext`](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)

parseLinktext() function

------------------------

Parses the linktext of a wikilink into its component parts.

**Signature:**

    export function parseLinktext(linktext: string): {

        path: string;

        subpath: string;

    };

Parameters

----------

`{ path: string; subpath: string; }`

filepath and subpath (subpath can refer either to a block id, or a heading)

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

parseLinktext

Not found

This page does not exist

Interactive graph

On this page

parseLinktext() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafInParent
----

createLeafInParent

Not found

This page does not exist

Interactive graph

On this page

Workspace.createLeafInParent() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListValue/includes
----

includes

========

    aliases: "ListValue.includes"

    cssclasses: hide-title

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue) › [`includes`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/includes)

ListValue.includes() method

---------------------------

**Signature:**

    includes(value: Value): boolean;

Parameters

----------

Parameter

Type

Description

`value`

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value)

**Returns:**

`boolean`

true if any elements in this list loosely equal the provided value.

1.10.0

Links to this page

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

includes

Not found

This page does not exist

Interactive graph

On this page

ListValue.includes() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchResult/matches
----

matches

=======

    aliases: "SearchResult.matches"

    cssclasses: hide-title

[`SearchResult`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult) › [`matches`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult/matches)

SearchResult.matches property

-----------------------------

**Signature:**

    matches: SearchMatches;

Links to this page

[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)

matches

Not found

This page does not exist

Interactive graph

On this page

SearchResult.matches property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/text
----

text

====

    aliases: "RequestUrlResponse.text"

    cssclasses: hide-title

[`RequestUrlResponse`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse) › [`text`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/text)

RequestUrlResponse.text property

--------------------------------

**Signature:**

    text: string;

Links to this page

[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)

text

Not found

This page does not exist

Interactive graph

On this page

RequestUrlResponse.text property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu
----

onPaneMenu

==========

    aliases: "View.onPaneMenu"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`onPaneMenu`](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu)

View.onPaneMenu() method

------------------------

Populates the pane menu.

(Replaces the previously removed `onHeaderMenu` and `onMoreOptionsMenu`)

0.15.3

**Signature:**

    onPaneMenu(menu: Menu, source: 'more-options' | 'tab-header' | string): void;

Parameters

----------

Parameter

Type

Description

`menu`

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

`source`

`'more-options' | 'tab-header' | string`

onPaneMenu

Not found

This page does not exist

Interactive graph

On this page

View.onPaneMenu() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection/head
----

head

====

    aliases: "EditorSelection.head"

    cssclasses: hide-title

[`EditorSelection`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection) › [`head`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection/head)

EditorSelection.head property

-----------------------------

**Signature:**

    head: EditorPosition;

Links to this page

[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)

head

Not found

This page does not exist

Interactive graph

On this page

EditorSelection.head property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/inputEl
----

inputEl

=======

    aliases: "SuggestModal.inputEl"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) › [`inputEl`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/inputEl)

SuggestModal.inputEl property

-----------------------------

@0.9.20

**Signature:**

    inputEl: HTMLInputElement;

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

inputEl

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.inputEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles/folders
----

folders

=======

    aliases: "ListedFiles.folders"

    cssclasses: hide-title

[`ListedFiles`](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles) › [`folders`](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles/folders)

ListedFiles.folders property

----------------------------

**Signature:**

    folders: string[];

folders

Not found

This page does not exist

Interactive graph

On this page

ListedFiles.folders property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent
----

ValueComponent

==============

    aliases: "ValueComponent"

    cssclasses: hide-title

[`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)

ValueComponent class

--------------------

0.9.7

**Signature:**

    export abstract class ValueComponent<T> extends BaseComponent 

**Extends:** [`BaseComponent`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)

Properties

----------

-------

Method

Modifiers

Description

[`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/getValue)

`abstract`

0.9.7

[`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

0.9.7

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/setDisabled)

1.2.3

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

[`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/setValue)

`abstract`

0.9.7

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/getValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

[registerOptionListener](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/setValue)

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

ValueComponent

Not found

This page does not exist

Interactive graph

On this page

ValueComponent class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openPopoutLeaf
----

openPopoutLeaf

==============

    aliases: "Workspace.openPopoutLeaf"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`openPopoutLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openPopoutLeaf)

Workspace.openPopoutLeaf() method

---------------------------------

Open a new popout window with a single new leaf and return that leaf. Only works on the desktop app.

0.15.4

**Signature:**

    openPopoutLeaf(data?: WorkspaceWindowInitData): WorkspaceLeaf;

Parameters

----------

Parameter

Type

Description

`data`

[`WorkspaceWindowInitData`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)

_(Optional)_

**Returns:**

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

openPopoutLeaf

Not found

This page does not exist

Interactive graph

On this page

Workspace.openPopoutLeaf() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/app
----

app

===

    aliases: "Modal.app"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`app`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/app)

Modal.app property

------------------

**Signature:**

    app: App;

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/Modal/\(constructor\))

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

app

Not found

This page does not exist

Interactive graph

On this page

Modal.app property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/loadPrism
----

loadPrism

=========

    aliases: "loadPrism"

    cssclasses: hide-title

[`loadPrism`](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)

loadPrism() function

--------------------

Load Prism.js and return a promise to the global Prism object. Can also use `Prism` after this promise resolves to get the same reference.

**Signature:**

    export function loadPrism(): Promise<any>;

**Returns:**

`Promise<any>`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

loadPrism

Not found

This page does not exist

Interactive graph

On this page

loadPrism() function

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/links
----

links

=====

    aliases: "CachedMetadata.links"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`links`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/links)

CachedMetadata.links property

-----------------------------

**Signature:**

    links?: LinkCache[];

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

links

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.links property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/rmdir
----

rmdir

=====

    aliases: "FileSystemAdapter.rmdir"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`rmdir`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/rmdir)

FileSystemAdapter.rmdir() method

--------------------------------

**Signature:**

    rmdir(normalizedPath: string, recursive: boolean): Promise<void>;

Parameters

----------

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

rmdir

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.rmdir() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/hoverPopover
----

hoverPopover

============

    aliases: "WorkspaceLeaf.hoverPopover"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/hoverPopover)

WorkspaceLeaf.hoverPopover property

-----------------------------------

**Signature:**

    hoverPopover: HoverPopover | null;

Links to this page

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

hoverPopover

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.hoverPopover property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/LinkValue
----

LinkValue

=========

    aliases: "LinkValue"

    cssclasses: hide-title

[`LinkValue`](https://docs.obsidian.md/Reference/TypeScript+API/LinkValue)

LinkValue class

---------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping an internal wikilink.

1.10.0

**Signature:**

    export class LinkValue extends StringValue 

**Extends:** [`StringValue`](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

Constructors

------------

LinkValue

Not found

This page does not exist

Interactive graph

On this page

LinkValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/copy
----

copy

====

    aliases: "DataAdapter.copy"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`copy`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/copy)

DataAdapter.copy() method

-------------------------

Create a copy of a file. This will fail if there is already a file at `normalizedNewPath`.

**Signature:**

    copy(normalizedPath: string, normalizedNewPath: string): Promise<void>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

path to file, use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) to normalize beforehand.

`normalizedNewPath`

`string`

path to file, use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) to normalize beforehand.

**Returns:**

`Promise<void>`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

copy

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.copy() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/height
----

height

======

    aliases: "EditorScrollInfo.height"

    cssclasses: hide-title

[`EditorScrollInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo) › [`height`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/height)

EditorScrollInfo.height property

--------------------------------

**Signature:**

    height: number;

Links to this page

[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)

height

Not found

This page does not exist

Interactive graph

On this page

EditorScrollInfo.height property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ViewState/state
----

state

=====

    aliases: "ViewState.state"

    cssclasses: hide-title

[`ViewState`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState) › [`state`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/state)

ViewState.state property

------------------------

**Signature:**

    state?: Record<string, unknown>;

Links to this page

[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)

state

Not found

This page does not exist

Interactive graph

On this page

ViewState.state property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Themes/App+themes/Release+your+theme+with+GitHub+Actions
----

Release your theme with GitHub Actions

======================================

Manually releasing your theme can be time-consuming and error-prone. In this guide, you'll configure your theme to use [GitHub Actions](https://github.com/features/actions) to automatically create a release when you create a new tag.

1.  In the root directory of your theme, create a file called `release.yml` under `.github/workflows` with the following content:

        name: Release Obsidian theme

        on:

          push:

            tags:

              - "*"

        jobs:

          build:

            runs-on: ubuntu-latest

            steps:

              - uses: actions/checkout@v3

              - name: Create release

                env:

                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

                run: |

                  tag="${GITHUB_REF#refs/tags/}"

                  gh release create "$tag" \

                    --title="$tag" \

                    --generate-notes \

                    --draft \

                    manifest.json theme.css

2.  In your terminal, commit the workflow.

        git add .github/workflows/release.yml

        git commit -m "Add release workflow"

        git push origin main

3.  Create a tag that matches the version in the `manifest.json` file.

        git tag -a 1.0.1 -m "1.0.1"

        git push origin 1.0.1

    *   `-a` creates an [annotated tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging#_creating_tags).

    *   `-m` specifies the name of your release. For Obsidian plugins, this must be the same as the version.

4.  Browse to your repository on GitHub and select the **Actions** tab. Your workflow might still be running, or it might have finished already.

5.  When the workflow finishes, go back to the main page for your repository and select **Releases** in the sidebar on the right side. The workflow has created a draft GitHub release and uploaded the required assets as binary attachments.

6.  Select **Edit** (pencil icon) on the right side of the release name.

7.  Add release notes to let users know what happened in this release, and then select **Publish release**.

You've successfully set up your theme to automatically create a GitHub release whenever you create a new tag.

*   If this is the first release for this theme, you're now ready to [Submit your theme](https://docs.obsidian.md/Themes/App+themes/Submit+your+theme).

*   If this is an update to an already published theme, your users can now update to the latest version.

Release your theme with GitHub Actions

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/saveLocalStorage
----

saveLocalStorage

================

saveLocalStorage

Not found

This page does not exist

Interactive graph

On this page

App.saveLocalStorage() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/parseFromString
----

parseFromString

===============

    aliases: "DurationValue.parseFromString"

    cssclasses: hide-title

[`DurationValue`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue) › [`parseFromString`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/parseFromString)

DurationValue.parseFromString() method

--------------------------------------

Create a new DurationValue using an ISO 8601 duration. See [https://en.wikipedia.org/wiki/ISO\_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) for duration format details.

1.10.0

**Signature:**

    static parseFromString(input: string): DurationValue | null;

Parameters

----------

Parameter

Type

Description

`input`

`string`

**Returns:**

[`DurationValue`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue) `| null`

parseFromString

Not found

This page does not exist

Interactive graph

On this page

DurationValue.parseFromString() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/width
----

width

=====

    aliases: "MenuPositionDef.width"

    cssclasses: hide-title

[`MenuPositionDef`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef) › [`width`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/width)

MenuPositionDef.width property

------------------------------

**Signature:**

    width?: number;

Links to this page

[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)

width

Not found

This page does not exist

Interactive graph

On this page

MenuPositionDef.width property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('resolve')
----

on('resolve')

=============

    aliases: "MetadataCache.on('resolve')"

    cssclasses: hide-title

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache) › [on('resolve')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('resolve'\))

MetadataCache.on('resolve') method

----------------------------------

Called when a file has been resolved for `resolvedLinks` and `unresolvedLinks`. This happens sometimes after a file has been indexed.

**Signature:**

    on(name: 'resolve', callback: (file: TFile) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'resolve'`

`callback`

`(file:` [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)`) => any`

on('resolve')

Not found

This page does not exist

Interactive graph

On this page

MetadataCache.on('resolve') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ViewState/pinned
----

pinned

======

    aliases: "ViewState.pinned"

    cssclasses: hide-title

[`ViewState`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState) › [`pinned`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/pinned)

ViewState.pinned property

-------------------------

**Signature:**

    pinned?: boolean;

Links to this page

[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)

pinned

Not found

This page does not exist

Interactive graph

On this page

ViewState.pinned property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/appendBinary
----

appendBinary

============

    aliases: "Vault.appendBinary"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`appendBinary`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/appendBinary)

Vault.appendBinary() method

---------------------------

Add data to the end of a binary file inside the vault.

**Signature:**

    appendBinary(file: TFile, data: ArrayBuffer, options?: DataWriteOptions): Promise<void>;

Parameters

----------

the data to add

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

appendBinary

Not found

This page does not exist

Interactive graph

On this page

Vault.appendBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorRange
----

EditorRange

===========

    aliases: "EditorRange"

    cssclasses: hide-title

[`EditorRange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)

EditorRange interface

---------------------

0.12.11

**Signature:**

    export interface EditorRange 

Properties

----------

Property

Modifiers

Type

Description

[`from`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange/from)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

[`to`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange/to)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

Links to this page

[from](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange/from)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[scrollIntoView](https://docs.obsidian.md/Reference/TypeScript+API/Editor/scrollIntoView)

[to](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange/to)

[wordAt](https://docs.obsidian.md/Reference/TypeScript+API/Editor/wordAt)

EditorRange

Not found

This page does not exist

Interactive graph

On this page

EditorRange interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setWarning
----

setWarning

==========

    aliases: "ButtonComponent.setWarning"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`setWarning`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setWarning)

ButtonComponent.setWarning() method

-----------------------------------

0.11.0

**Signature:**

    setWarning(): this;

**Returns:**

`this`

Links to this page

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

setWarning

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.setWarning() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItems
----

getItems

========

    aliases: "FuzzySuggestModal.getItems"

    cssclasses: hide-title

[`FuzzySuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal) › [`getItems`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItems)

FuzzySuggestModal.getItems() method

-----------------------------------

0.9.20

**Signature:**

    abstract getItems(): T[];

**Returns:**

`T[]`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

getItems

Not found

This page does not exist

Interactive graph

On this page

FuzzySuggestModal.getItems() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch
----

FuzzyMatch

==========

    aliases: "FuzzyMatch"

    cssclasses: hide-title

[`FuzzyMatch`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)

FuzzyMatch interface

--------------------

0.9.20

**Signature:**

    export interface FuzzyMatch<T> 

Properties

----------

Property

Modifiers

Type

Description

[`item`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch/item)

`T`

0.9.20

[`match`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch/match)

[`SearchResult`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)

0.9.20

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[getSuggestions](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getSuggestions)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[item](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch/item)

[match](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch/match)

[onChooseSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseSuggestion)

[renderSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/renderSuggestion)

FuzzyMatch

Not found

This page does not exist

Interactive graph

On this page

FuzzyMatch interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/applyScroll
----

applyScroll

===========

applyScroll

Not found

This page does not exist

Interactive graph

On this page

MarkdownSubView.applyScroll() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/rename
----

rename

======

    aliases: "DataAdapter.rename"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`rename`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/rename)

DataAdapter.rename() method

---------------------------

Rename a file or folder.

**Signature:**

    rename(normalizedPath: string, normalizedNewPath: string): Promise<void>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

current path to file/folder, use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) to normalize beforehand.

`normalizedNewPath`

`string`

new path to file/folder, use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) to normalize beforehand.

**Returns:**

`Promise<void>`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

rename

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.rename() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/properties
----

properties

==========

    aliases: "BasesConfigFile.properties"

    cssclasses: hide-title

[`BasesConfigFile`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile) › [`properties`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/properties)

BasesConfigFile.properties property

-----------------------------------

Configuration for properties in this Base.

Valid keys for this object currently include:

*   displayName: string

    1.10.0

**Signature:**

    properties?: Record<string, Record<string, any>>;

Links to this page

[BasesConfigFile](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile)

properties

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFile.properties property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter
----

FileSystemAdapter

=================

    aliases: "FileSystemAdapter"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

FileSystemAdapter class

-----------------------

Implementation of the vault adapter for desktop.

**Signature:**

    export class FileSystemAdapter implements DataAdapter 

**Implements:** [`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

Methods

-------

Method

Modifiers

Description

[`append(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/append)

[`appendBinary(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/appendBinary)

1.12.3

[`copy(normalizedPath, normalizedNewPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/copy)

[`exists(normalizedPath, sensitive)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/exists)

[`getBasePath()`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getBasePath)

[`getFilePath(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getFilePath)

Returns the file:// path of this file

0.14.3

[`getFullPath(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getFullPath)

[`getName()`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getName)

[`getResourcePath(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getResourcePath)

[`list(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/list)

[`mkdir(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/mkdir)

[`mkdir(path)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/mkdir)

`static`

[`process(normalizedPath, fn, options)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/process)

[`read(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/read)

[`readBinary(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/readBinary)

[`readLocalFile(path)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/readLocalFile)

`static`

[`remove(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/remove)

[`rename(normalizedPath, normalizedNewPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/rename)

[`rmdir(normalizedPath, recursive)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/rmdir)

[`stat(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/stat)

0.12.2

[`trashLocal(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/trashLocal)

[`trashSystem(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/trashSystem)

[`write(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/write)

[`writeBinary(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/writeBinary)

Links to this page

[append](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/append)

[appendBinary](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/appendBinary)

[copy](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/copy)

[exists](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/exists)

[getBasePath](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getBasePath)

[getFilePath](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getFilePath)

[getFullPath](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getFullPath)

[getName](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getName)

[getResourcePath](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getResourcePath)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[list](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/list)

[mkdir](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/mkdir)

[process](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/process)

[read](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/read)

[readBinary](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/readBinary)

[readLocalFile](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/readLocalFile)

[remove](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/remove)

[rename](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/rename)

[rmdir](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/rmdir)

[stat](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/stat)

[trashLocal](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/trashLocal)

[trashSystem](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/trashSystem)

[write](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/write)

[writeBinary](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/writeBinary)

FileSystemAdapter

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult
----

FootnoteSubpathResult

=====================

    aliases: "FootnoteSubpathResult"

    cssclasses: hide-title

[`FootnoteSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)

FootnoteSubpathResult interface

-------------------------------

1.7.2

**Signature:**

    export interface FootnoteSubpathResult extends SubpathResult 

**Extends:** [`SubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)

Properties

----------

Property

Modifiers

Type

Description

[`end`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/end)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc) `| null`

(Inherited from [SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult))

[`footnote`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult/footnote)

[`FootnoteCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)

[`start`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/start)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

(Inherited from [SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult))

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult/type)

`'footnote'`

Links to this page

[footnote](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult/footnote)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)

[type](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult/type)

FootnoteSubpathResult

Not found

This page does not exist

Interactive graph

On this page

FootnoteSubpathResult interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Scope
----

Scope

=====

Scope

Not found

This page does not exist

Interactive graph

On this page

Scope class

Constructors

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/isTruthy
----

isTruthy

========

    aliases: "PrimitiveValue.isTruthy"

    cssclasses: hide-title

[`PrimitiveValue`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue) › [`isTruthy`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/isTruthy)

PrimitiveValue.isTruthy() method

--------------------------------

1.10.0

**Signature:**

    isTruthy(): boolean;

**Returns:**

`boolean`

[TagValue](https://docs.obsidian.md/Reference/TypeScript+API/TagValue)

[UrlValue](https://docs.obsidian.md/Reference/TypeScript+API/UrlValue)

isTruthy

Not found

This page does not exist

Interactive graph

On this page

PrimitiveValue.isTruthy() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItemText
----

getItemText

===========

    aliases: "FuzzySuggestModal.getItemText"

    cssclasses: hide-title

[`FuzzySuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal) › [`getItemText`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItemText)

FuzzySuggestModal.getItemText() method

--------------------------------------

0.9.20

**Signature:**

    abstract getItemText(item: T): string;

Parameters

----------

Parameter

Type

Description

`item`

`T`

**Returns:**

`string`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

getItemText

Not found

This page does not exist

Interactive graph

On this page

FuzzySuggestModal.getItemText() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/(constructor)
----

(constructor)

=============

    aliases: "PopoverSuggest.(constructor)"

    cssclasses: hide-title

[`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/\(constructor\))

PopoverSuggest.(constructor)

----------------------------

Constructs a new instance of the `PopoverSuggest` class

**Signature:**

    constructor(app: App, scope?: Scope);

Parameters

----------

Parameter

Type

Description

`app`

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/app)

`scope`

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/scope)

_(Optional)_

Links to this page

[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

PopoverSuggest.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/type
----

type

====

    aliases: "ObjectValue.type"

    cssclasses: hide-title

[`ObjectValue`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/type)

ObjectValue.type property

-------------------------

1.10.0

**Signature:**

    static type: string;

Links to this page

[ObjectValue](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue)

type

Not found

This page does not exist

Interactive graph

On this page

ObjectValue.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Link
----

Link

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Plugins/Sync
----

Sync

====

    cssclasses: reference

This page lists CSS variables used by the [Sync](https://help.obsidian.md/Obsidian+Sync) plugin.

CSS variables

-------------

Variable

Description

`--sync-avatar-color-current-user`

Avatar color for current user

`--sync-avatar-color-1`

`--sync-avatar-color-2`

`--sync-avatar-color-3`

`--sync-avatar-color-4`

`--sync-avatar-color-5`

`--sync-avatar-color-6`

`--sync-avatar-color-7`

`--sync-avatar-color-8`

Sync

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Tasks/isEmpty
----

isEmpty

=======

    aliases: "Tasks.isEmpty"

    cssclasses: hide-title

[`Tasks`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks) › [`isEmpty`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/isEmpty)

Tasks.isEmpty() method

----------------------

0.10.2

**Signature:**

    isEmpty(): boolean;

**Returns:**

`boolean`

Links to this page

[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)

isEmpty

Not found

This page does not exist

Interactive graph

On this page

Tasks.isEmpty() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/setLine
----

setLine

=======

    aliases: "Editor.setLine"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`setLine`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setLine)

Editor.setLine() method

-----------------------

0.11.11

**Signature:**

    setLine(n: number, text: string): void;

Parameters

----------

Parameter

Type

Description

`n`

`number`

`text`

`string`

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

setLine

Not found

This page does not exist

Interactive graph

On this page

Editor.setLine() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Window/Divider
----

Divider

=======

    cssclasses: reference

This page lists CSS variables for dividers and resize handles between sidebars, tabs, and split panes.

CSS variables

-------------

Variable

Description

`--divider-color`

Divider border color

`--divider-color-hover`

Divider border color (hover)

`--divider-width`

Divider border width

`--divider-width-hover`

Divider border width (hover)

`--divider-vertical-height`

Divider vertical height

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Divider

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/onLayoutReady
----

onLayoutReady

=============

    aliases: "Workspace.onLayoutReady"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`onLayoutReady`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/onLayoutReady)

Workspace.onLayoutReady() method

--------------------------------

Runs the callback function right away if layout is already ready, or push it to a queue to be called later when layout is ready.

0.11.0

**Signature:**

    onLayoutReady(callback: () => any): void;

Parameters

----------

[layoutReady](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/layoutReady)

[on('create')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on\('create'\))

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

onLayoutReady

Not found

This page does not exist

Interactive graph

On this page

Workspace.onLayoutReady() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow/doc
----

doc

===

    aliases: "WorkspaceWindow.doc"

    cssclasses: hide-title

[`WorkspaceWindow`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow) › [`doc`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow/doc)

WorkspaceWindow.doc property

----------------------------

**Signature:**

    doc: Document;

Links to this page

[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

doc

Not found

This page does not exist

Interactive graph

On this page

WorkspaceWindow.doc property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch/item
----

item

====

    aliases: "FuzzyMatch.item"

    cssclasses: hide-title

[`FuzzyMatch`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch) › [`item`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch/item)

FuzzyMatch.item property

------------------------

0.9.20

**Signature:**

    item: T;

Links to this page

[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)

item

Not found

This page does not exist

Interactive graph

On this page

FuzzyMatch.item property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/placeholder
----

placeholder

===========

    aliases: "BasesFormulaOption.placeholder"

    cssclasses: hide-title

[`BasesFormulaOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption) › [`placeholder`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/placeholder)

BasesFormulaOption.placeholder property

---------------------------------------

1.10.2

**Signature:**

    placeholder?: string;

Links to this page

[BasesFormulaOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption)

placeholder

Not found

This page does not exist

Interactive graph

On this page

BasesFormulaOption.placeholder property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/state
----

state

=====

    aliases: "OpenViewState.state"

    cssclasses: hide-title

[`OpenViewState`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState) › [`state`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/state)

OpenViewState.state property

----------------------------

**Signature:**

    state?: Record<string, unknown>;

state

Not found

This page does not exist

Interactive graph

On this page

OpenViewState.state property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/scope
----

scope

Not found

This page does not exist

Interactive graph

On this page

App.scope property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('quit')
----

on('quit')

==========

    aliases: "Workspace.on('quit')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('quit')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('quit'\))

Workspace.on('quit') method

---------------------------

Triggered when the app is about to quit. Not guaranteed to actually run. Perform some best effort cleanup here.

0.10.2

**Signature:**

    on(name: 'quit', callback: (tasks: Tasks) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'quit'`

`callback`

`(tasks:` [`Tasks`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)`) => any`

on('quit')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('quit') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Keymap/pushScope
----

pushScope

Not found

This page does not exist

Interactive graph

On this page

Keymap.pushScope() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer
----

hexToArrayBuffer

================

hexToArrayBuffer

Not found

This page does not exist

Interactive graph

On this page

hexToArrayBuffer() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer
----

WorkspaceContainer

==================

    aliases: "WorkspaceContainer"

    cssclasses: hide-title

[`WorkspaceContainer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

WorkspaceContainer class

------------------------

0.15.4

**Signature:**

    export abstract class WorkspaceContainer extends WorkspaceSplit 

**Extends:** [`WorkspaceSplit`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)

Properties

----------

Property

Modifiers

Type

Description

[`doc`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer/doc)

`abstract`

`Document`

0.15.4

[`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit/parent)

[`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

(Inherited from [WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit))

[`win`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer/win)

`abstract`

`Window`

0.15.4

Methods

-------

[doc](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer/doc)

[getContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getContainer)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[win](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer/win)

[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)

[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

WorkspaceContainer

Not found

This page does not exist

Interactive graph

On this page

WorkspaceContainer class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/Manifest
----

Manifest

========

    cssclasses: reference

This page describes the schema for the manifest, `manifest.json`.

Properties

----------

The following properties are available for both plugins and themes.

Property

Type

Required

Description

`author`

`string`

**Yes**

The author's name.

`minAppVersion`

`string`

**Yes**

The minimum required Obsidian version.

`name`

`string`

**Yes**

The display name.

`version`

`string`

**Yes**

The version, using [Semantic Versioning](https://semver.org/) in the format `x.y.z`.

`authorUrl`

`string`

No

A URL to the author's website.

`fundingUrl`

`string` or [`object`](https://docs.obsidian.md/Reference/Manifest#fundingurl)

No

A URL or multiple URLs to where the users can support your project financially.

Plugin-specific properties

--------------------------

The following properties are only available to plugins.

Property

Type

Required

Description

`description`

`string`

**Yes**

A description of your plugin.

`id`

`string`

**Yes**

The ID of your plugin. The ID can't contain `obsidian`.

`isDesktopOnly`

`boolean`

**Yes**

Whether your plugin uses NodeJS or Electron APIs.

Note

For local development, the `id` should match the plugin's folder name; otherwise some methods, such as `onExternalSettingsChange`, won't be called.

fundingUrl

----------

`fundingUrl` can either be a string with a single URL, or an object with multiple URLs.

**Single URL**:

    {

      "fundingUrl": "https://buymeacoffee.com"

    }

**Multiple URLs**:

    {

      "fundingUrl": {

        "Buy Me a Coffee": "https://buymeacoffee.com",

        "GitHub Sponsor": "https://github.com/sponsors",

        "Patreon": "https://www.patreon.com/"

      }

    }

Links to this page

[Mobile development](https://docs.obsidian.md/Plugins/Getting+started/Mobile+development)

[Submission requirements for plugins](https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins)

[Submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin)

[Submit your theme](https://docs.obsidian.md/Themes/App+themes/Submit+your+theme)

[Versions](https://docs.obsidian.md/Reference/Versions)

Manifest

Not found

This page does not exist

Interactive graph

On this page

Properties

Plugin-specific properties

fundingUrl

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName
----

EditorCommandName

=================

    aliases: "EditorCommandName"

    cssclasses: hide-title

[`EditorCommandName`](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)

EditorCommandName type

----------------------

**Signature:**

    export type EditorCommandName = 'goUp' | 'goDown' | 'goLeft' | 'goRight' | 'goStart' | 'goEnd' | 'goWordLeft' | 'goWordRight' | 'indentMore' | 'indentLess' | 'newlineAndIndent' | 'swapLineUp' | 'swapLineDown' | 'deleteLine' | 'toggleFold' | 'foldAll' | 'unfoldAll';

Links to this page

[exec](https://docs.obsidian.md/Reference/TypeScript+API/Editor/exec)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

EditorCommandName

Not found

This page does not exist

Interactive graph

On this page

EditorCommandName type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal
----

Modal

=====

    aliases: "Modal"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

Modal class

-----------

**Signature:**

    export class Modal implements CloseableComponent 

**Implements:** [`CloseableComponent`](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(app)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/\(constructor\))

Constructs a new instance of the `Modal` class

Properties

----------

Property

Modifiers

Type

Description

[`app`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/app)

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

[`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/containerEl)

`HTMLElement`

[`contentEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/contentEl)

`HTMLElement`

[`modalEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/modalEl)

`HTMLElement`

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope)

[`shouldRestoreSelection`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/shouldRestoreSelection)

`boolean`

0.9.16

[`titleEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/titleEl)

`HTMLElement`

Methods

-------

Method

Modifiers

Description

[`close()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/close)

Hide the modal.

[`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onClose)

[`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onOpen)

[`open()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/open)

Show the modal on the active window. On mobile, the modal will animate on screen.

[`setCloseCallback(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setCloseCallback)

1.10.0

[`setContent(content)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setContent)

[`setTitle(title)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setTitle)

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/Modal/\(constructor\))

[app](https://docs.obsidian.md/Reference/TypeScript+API/Modal/app)

[close](https://docs.obsidian.md/Reference/TypeScript+API/Modal/close)

[containerEl](https://docs.obsidian.md/Reference/TypeScript+API/Modal/containerEl)

[contentEl](https://docs.obsidian.md/Reference/TypeScript+API/Modal/contentEl)

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[modalEl](https://docs.obsidian.md/Reference/TypeScript+API/Modal/modalEl)

[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)

[onClose](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onClose)

[onOpen](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onOpen)

[open](https://docs.obsidian.md/Reference/TypeScript+API/Modal/open)

[scope](https://docs.obsidian.md/Reference/TypeScript+API/Modal/scope)

[setCloseCallback](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setCloseCallback)

[setContent](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setContent)

[setTitle](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setTitle)

[shouldRestoreSelection](https://docs.obsidian.md/Reference/TypeScript+API/Modal/shouldRestoreSelection)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

[titleEl](https://docs.obsidian.md/Reference/TypeScript+API/Modal/titleEl)

Modal

Not found

This page does not exist

Interactive graph

On this page

Modal class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent/close
----

[close](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent/close)


close

=====

    aliases: "CloseableComponent.close"

    cssclasses: hide-title

[`CloseableComponent`](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent) › [`close`](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent/close)

CloseableComponent.close() method

---------------------------------

**Signature:**

    close(): void;

**Returns:**

`void`

Links to this page

[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)

close

Not found

This page does not exist

Interactive graph

On this page

CloseableComponent.close() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/selections
----

selections

==========

    aliases: "EditorTransaction.selections"

    cssclasses: hide-title

[`EditorTransaction`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction) › [`selections`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/selections)

EditorTransaction.selections property

-------------------------------------

Multiple selections, overrides `selection`.

**Signature:**

    selections?: EditorRangeOrCaret[];

Links to this page

[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)

selections

Not found

This page does not exist

Interactive graph

On this page

EditorTransaction.selections property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/setContent
----

setContent

==========

    aliases: "Modal.setContent"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`setContent`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setContent)

Modal.setContent() method

-------------------------

**Signature:**

    setContent(content: string | DocumentFragment): this;

Parameters

----------

Parameter

Type

Description

`content`

`string |` `DocumentFragment`

**Returns:**

`this`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

setContent

Not found

This page does not exist

Interactive graph

On this page

Modal.setContent() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor
----

Editor

Not found

This page does not exist

Interactive graph

On this page

Editor class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption
----

BasesSliderOption

=================

    aliases: "BasesSliderOption"

    cssclasses: hide-title

[`BasesSliderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption)

BasesSliderOption interface

---------------------------

1.10.0

**Signature:**

    export interface BasesSliderOption extends BasesOption 

**Extends:** [`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

Properties

----------

Property

Modifiers

Type

Description

[`default?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/default)

`number`

_(Optional)_ 1.10.0

[`displayName`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/displayName)

`string`

1.10.0

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`instant?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/instant)

`boolean`

_(Optional)_ 1.10.0

[`key`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/key)

`string`

1.10.0

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`max?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/max)

`number`

_(Optional)_ 1.10.0

[`min?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/min)

`number`

_(Optional)_ 1.10.0

[`shouldHide?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/shouldHide)

`() => boolean`

_(Optional)_ If provided, the option will be hidden if the function returns true.

1.10.2

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`step?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/step)

`number`

_(Optional)_ 1.10.0

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/type)

`'slider'`

1.10.0

Links to this page

[BasesOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

[default](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/default)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[instant](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/instant)

[max](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/max)

[min](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/min)

[step](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/step)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/type)

BasesSliderOption

Not found

This page does not exist

Interactive graph

On this page

BasesSliderOption interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/editorViewField
----

editorViewField

===============

    aliases: "editorViewField"

    cssclasses: hide-title

[`editorViewField`](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)

editorViewField variable

------------------------

> Warning: This API is now obsolete.

> 

> use [editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField) instead.

This is now deprecated - it is now mapped directly to `editorInfoField`, which return a MarkdownFileInfo, which may be a MarkdownView but not necessarily.

**Signature:**

    editorViewField: StateField<MarkdownFileInfo>

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

editorViewField

Not found

This page does not exist

Interactive graph

On this page

editorViewField variable

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Editor/Decorations
----

Decorations

===========

Decorations let you control how to draw or style content in [editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions). If you intend to change the look and feel by adding, replacing, or styling elements in the editor, you most likely need to use decorations.

By the end of this page, you'll be able to:

*   Understand how to use decorations to change the editor appearance.

*   Understand the difference between providing decoration using state fields and view plugins.

Note

This page aims to distill the official CodeMirror 6 documentation for Obsidian plugin developers. For more detailed information on state fields, refer to [Decorating the Document](https://codemirror.net/docs/guide/#decorating-the-document).

Prerequisites

-------------

*   Basic understanding of [State fields](https://docs.obsidian.md/Plugins/Editor/State+fields).

*   Basic understanding of [View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins).

Overview

--------

Without decorations, the document would render as plain text. Not very interesting at all. Using decorations, you can change how to display the document, for example by highlighting text or adding custom HTML elements.

You can use the following types of decorations:

*   [Mark decorations](https://codemirror.net/docs/ref/#view.Decoration%5Emark) style existing elements.

*   [Widget decorations](https://codemirror.net/docs/ref/#view.Decoration%5Ewidget) insert elements in the document.

*   [Replace decorations](https://codemirror.net/docs/ref/#view.Decoration%5Ereplace) hide or replace part of the document with another element.

*   [Line decorations](https://codemirror.net/docs/ref/#view.Decoration%5Eline) add styling to the lines, rather than the document itself.

To use decorations, you need to create them inside an editor extension and have the extension _provide_ them to the editor. You can provide decorations to the editor in two ways, either _directly_ using [state fields](https://docs.obsidian.md/Plugins/Editor/State+fields) or _indirectly_ using [view plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins).

Should I use a view plugin or a state field?

--------------------------------------------

Both view plugins and state fields can provide decorations to the editor, but they have some differences.

*   Use a view plugin if you can determine the decoration based on what's inside the [Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport).

*   Use a state field if you need to manage decorations outside of the viewport.

*   Use a state field if you want to make changes that could change the content of the viewport, for example by adding line breaks.

If you can implement your extension using either approach, then the view plugin generally results in better performance. For example, imagine that you want to implement an editor extension that checks the spelling of a document.

One way would be to pass the entire document to an external spell checker which then returns a list of spelling errors. In this case, you'd need to map each error to a decoration and use a state field to manage decorations regardless of what's in the viewport at the moment.

Another way would be to only spellcheck what's visible in the viewport. The extension would need to continuously run a spell check as the user scrolls through the document, but you'd be able to spell check documents with millions of lines of text.

Providing decorations

---------------------

Imagine that you want to build an editor extension that replaces the bullet list item with an emoji. You can accomplish this with either a view plugin or a state field, with some differences. In this section, you'll see how to implement it with both types of extensions.

Both implementations share the same core logic:

1.  Use [syntaxTree](https://codemirror.net/docs/ref/#language.syntaxTree) to find list items.

2.  For every list item, replace leading hyphens, `-`, with a _widget_.

### Widgets

Widgets are custom HTML elements that you can add to the editor. You can either insert a widget at a specific position in the document, or replace a piece of content with a widget.

The following example defines a widget that returns an HTML element, `<span>👉</span>`. You'll use this widget later on.

    import { EditorView, WidgetType } from '@codemirror/view';

    export class EmojiWidget extends WidgetType {

      toDOM(view: EditorView): HTMLElement {

        const div = document.createElement('span');

        div.innerText = '👉';

        return div;

      }

    }

To replace a range of content in your document with the emoji widget, use the [replace decoration](https://codemirror.net/docs/ref/#view.Decoration%5Ereplace).

    const decoration = Decoration.replace({

      widget: new EmojiWidget()

    });

### State fields

To provide decorations from a state field:

1.  [Define a state field](https://docs.obsidian.md/Plugins/Editor/State+fields#Defining a state field) with a `DecorationSet` type.

2.  Add the `provide` property to the state field.

        provide(field: StateField<DecorationSet>): Extension {

          return EditorView.decorations.from(field);

        },

    import { syntaxTree } from '@codemirror/language';

    import {

      Extension,

      RangeSetBuilder,

      StateField,

      Transaction,

    } from '@codemirror/state';

    import {

      Decoration,

      DecorationSet,

      EditorView,

      WidgetType,

    } from '@codemirror/view';

    import { EmojiWidget } from 'emoji';

    export const emojiListField = StateField.define<DecorationSet>({

      create(state): DecorationSet {

        return Decoration.none;

      },

      update(oldState: DecorationSet, transaction: Transaction): DecorationSet {

        const builder = new RangeSetBuilder<Decoration>();

        syntaxTree(transaction.state).iterate({

          enter(node) {

            if (node.type.name.startsWith('list')) {

              // Position of the '-' or the '*'.

              const listCharFrom = node.from - 2;

              builder.add(

                listCharFrom,

                listCharFrom + 1,

                Decoration.replace({

                  widget: new EmojiWidget(),

                })

              );

            }

          },

        });

        return builder.finish();

      },

      provide(field: StateField<DecorationSet>): Extension {

        return EditorView.decorations.from(field);

      },

    });

### View plugins

To manage your decorations using a view plugin:

1.  [Create a view plugin](https://docs.obsidian.md/Plugins/Editor/View+plugins#Creating a view plugin).

2.  Add a `DecorationSet` member property to your plugin.

3.  Initialize the decorations in the `constructor()`.

4.  Rebuild decorations in `update()`.

Not all updates are reasons to rebuild your decorations. The following example only rebuilds decorations whenever the underlying document or the viewport changes.

    import { syntaxTree } from '@codemirror/language';

    import { RangeSetBuilder } from '@codemirror/state';

    import {

      Decoration,

      DecorationSet,

      EditorView,

      PluginSpec,

      PluginValue,

      ViewPlugin,

      ViewUpdate,

      WidgetType,

    } from '@codemirror/view';

    import { EmojiWidget } from 'emoji';

    class EmojiListPlugin implements PluginValue {

      decorations: DecorationSet;

      constructor(view: EditorView) {

        this.decorations = this.buildDecorations(view);

      }

      update(update: ViewUpdate) {

        if (update.docChanged || update.viewportChanged) {

          this.decorations = this.buildDecorations(update.view);

        }

      }

      destroy() {}

      buildDecorations(view: EditorView): DecorationSet {

        const builder = new RangeSetBuilder<Decoration>();

        for (let { from, to } of view.visibleRanges) {

          syntaxTree(view.state).iterate({

            from,

            to,

            enter(node) {

              if (node.type.name.startsWith('list')) {

                // Position of the '-' or the '*'.

                const listCharFrom = node.from - 2;

                builder.add(

                  listCharFrom,

                  listCharFrom + 1,

                  Decoration.replace({

                    widget: new EmojiWidget(),

                  })

                );

              }

            },

          });

        }

        return builder.finish();

      }

    }

    const pluginSpec: PluginSpec<EmojiListPlugin> = {

      decorations: (value: EmojiListPlugin) => value.decorations,

    };

    export const emojiListPlugin = ViewPlugin.fromClass(

      EmojiListPlugin,

      pluginSpec

    );

`buildDecorations()` is a helper method that builds a complete set of decorations based on the editor view.

Notice the second argument to the `ViewPlugin.fromClass()` function. The `decorations` property in the `PluginSpec` specifies how the view plugin provides the decorations to the editor.

Since the view plugin knows what's visible to the user, you can use `view.visibleRanges` to limit what parts of the syntax tree to visit.

Links to this page

[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)

[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)

Decorations

Not found

This page does not exist

Interactive graph

On this page

Prerequisites

Overview

Should I use a view plugin or a state field?

Providing decorations

Widgets

State fields

View plugins

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/navigation
----

navigation

==========

    aliases: "FileView.navigation"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`navigation`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/navigation)

FileView.navigation property

----------------------------

File views can be navigated by default.

**Signature:**

    navigation: boolean;

Links to this page

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

navigation

Not found

This page does not exist

Interactive graph

On this page

FileView.navigation property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md
----

Home

====

    cssclasses: hide-title

Obsidian Developer Docs

=======================

Welcome to the official Obsidian Developer Documentation, where you can learn how to build plugins and themes for [Obsidian](https://obsidian.md/). For tips on how to use Obsidian, visit [the official Help site](https://help.obsidian.md/).

Plugins

-------

Build plugins to extend the existing functionality in Obsidian using TypeScript.

*   [Build your first plugin](https://docs.obsidian.md/Plugins/Getting+started/Build+a+plugin)

*   [Submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin)

Themes

------

Design beautiful themes and snippets for Obsidian using CSS.

*   [Build your first theme](https://docs.obsidian.md/Themes/App+themes/Build+a+theme)

*   [Submit your theme](https://docs.obsidian.md/Themes/App+themes/Submit+your+theme)

*   [CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Join the developer community

----------------------------

If you get stuck, or if you're looking for feedback, [join the community](https://obsidian.md/community).

*   `#plugin-dev` and `#theme-dev` channels on Discord.

*   [Developers & API](https://forum.obsidian.md/c/developers-api/14) and [Share & showcase](https://forum.obsidian.md/c/share-showcase/9) on the forum.

Contributing

------------

If you see any errors or room for improvement on this site, or want to submit a PR, feel free to open an issue on [our GitHub repository](https://github.com/obsidianmd/obsidian-developer-docs).  

Additional details are available on our [readme](https://github.com/obsidianmd/obsidian-developer-docs#readme).

Thank you in advance for contributing!

Links to this page

[Optimize plugin load time](https://docs.obsidian.md/plugins/guides/load-time)

Home

Not found

This page does not exist

Interactive graph

On this page

Obsidian Developer Docs

Plugins

Themes

Join the developer community

Contributing

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Footnote
----

Footnote

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/embeds
----

embeds

======

    aliases: "CachedMetadata.embeds"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`embeds`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/embeds)

CachedMetadata.embeds property

------------------------------

**Signature:**

    embeds?: EmbedCache[];

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

embeds

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.embeds property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/toString
----

toString

========

    aliases: "DurationValue.toString"

    cssclasses: hide-title

[`DurationValue`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue) › [`toString`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/toString)

DurationValue.toString() method

-------------------------------

1.10.0

**Signature:**

    toString(): string;

**Returns:**

`string`

Links to this page

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

toString

Not found

This page does not exist

Interactive graph

On this page

DurationValue.toString() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HSL/h
----

h

=

    aliases: "HSL.h"

    cssclasses: hide-title

[`HSL`](https://docs.obsidian.md/Reference/TypeScript+API/HSL) › [`h`](https://docs.obsidian.md/Reference/TypeScript+API/HSL/h)

HSL.h property

--------------

Hue integer value between 0 and 360

0.16.0

**Signature:**

    h: number;

Links to this page

[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)

h

Not found

This page does not exist

Interactive graph

On this page

HSL.h property

[Powered by Obsidian Publish](https://publish.obsidian.md)

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

Settings

========

If you want users to be able to configure parts of your plugin themselves, you can expose them as _settings_.

In this guide, you'll learn how you can create a settings page like this 👇

The main reason to add settings to a plugin is to store configuration that persists even after the user quits Obsidian. The following example demonstrates how to save and load settings from disk:

    import { Plugin } from 'obsidian';

    import { ExampleSettingTab } from './settings';

    interface ExamplePluginSettings {

      sampleValue: string;

    }

    const DEFAULT_SETTINGS: Partial<ExamplePluginSettings> = {

      sampleValue: 'Lorem ipsum',

    };

    export default class ExamplePlugin extends Plugin {

      settings: ExamplePluginSettings;

      async onload() {

        await this.loadSettings();

        this.addSettingTab(new ExampleSettingTab(this.app, this));

      }

      async loadSettings() {

        this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());

      }

      async saveSettings() {

        await this.saveData(this.settings);

      }

    }

Nested properties in settings

`Object.assign()` copies the references to any nested property (shallow copy). If your settings object contains nested properties, you need to copy each nested property recursively (deep copy). Otherwise, any changes to a nested property will apply to all objects that were copied using `Object.assign()`.

There's a lot going on here 🤯, so let's look closer at each part.

Create a settings definition

----------------------------

First, you need to define, which settings you want the user to be able to configure. Therefore, you create an interface, `ExamplePluginSettings`. While the plugin is enabled, you can access its settings from the `settings` member variable, which in our example is of type `ExamplePluginSettings`.

    interface ExamplePluginSettings {

      sampleValue: string;

    }

    export default class ExamplePlugin extends Plugin {

      settings: ExamplePluginSettings;

      // ...

    }

Save and load the settings object

---------------------------------

[loadData()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/loadData) and [saveData()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/saveData) provide an easy way to store and retrieve data from disk. The example also introduces two helper methods that make it easier to use `loadData()` and `saveData()` from other parts of the plugin.

    export default class ExamplePlugin extends Plugin {

      // ...

      async loadSettings() {

        this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());

      }

      async saveSettings() {

        await this.saveData(this.settings);

      }

    }

Finally, make sure to load the settings when the plugin loads:

    async onload() {

      await this.loadSettings();

      // ...

    }

Provide default values

----------------------

When the user enables the plugin for the first time, none of the settings have been configured yet. The preceding example provides default values for any missing settings.

To understand how this works, have a look at the following code:

    Object.assign({}, DEFAULT_SETTINGS, await this.loadData())

`Object.assign()` is a JavaScript function that copies all properties from one object to another. Any properties that are returned by `loadData()` override the properties in `DEFAULT_SETTINGS`.

    const DEFAULT_SETTINGS: Partial<ExamplePluginSettings> = {

      sampleValue: 'Lorem ipsum',

    };

Tip

`Partial<Type>` is a TypeScript utility that returns a type with all properties of `Type` set to optional. It enables type checking while letting you only define the properties you want to provide defaults for.

Register a settings tab

-----------------------

The plugin can now save and load plugin configuration, but the user doesn't yet have any way of changing any of the settings. By adding a settings tab you can provide an easy-to-use interface for the user to update their plugin settings:

    this.addSettingTab(new ExampleSettingTab(this.app, this));

Here, the `ExampleSettingTab` is a class that extends [PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab):

    import ExamplePlugin from './main';

    import { App, PluginSettingTab, Setting } from 'obsidian';

    export class ExampleSettingTab extends PluginSettingTab {

      plugin: ExamplePlugin;

      constructor(app: App, plugin: ExamplePlugin) {

        super(app, plugin);

        this.plugin = plugin;

      }

      display(): void {

        let { containerEl } = this;

        containerEl.empty();

        new Setting(containerEl)

          .setName('Default value')

          .addText((text) =>

            text

              .setPlaceholder('Lorem ipsum')

              .setValue(this.plugin.settings.sampleValue)

              .onChange(async (value) => {

                this.plugin.settings.sampleValue = value;

                await this.plugin.saveSettings();

              })

          );

      }

    }

`display()` is where you build the content for the settings tab. For more information, refer to [HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements).

`new Setting(containerEl)` appends a setting to the container element. This example only provides a text field using `addText()`, but there are several other setting types available.  

The [Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting) class also provides some functions like `setName` and `setDesc` to provide a name and a description to your setting.

Update the settings object whenever the value of the text field changes, and then save it to disk:

    .onChange(async (value) => {

      this.plugin.settings.sampleValue = value;

      await this.plugin.saveSettings();

    })

Nice work! 💪 Your users will thank you for giving them a way to customize how they interact with your plugin. Before heading to the next guide, experiment with what you've learned maybe by adding another setting.

Available settings types

------------------------

### Headings

If you have a lot of settings in your plugin it can be useful to separate settings into different sections.

    new Setting(containerEl).setName("Defaults").setHeading();

Since everything in under the settings tab is settings, repeating the word "settings" or a synonym for every heading becomes redundant.  

General settings should be at the top of the settings tab and should not have a heading.

### Text

    new Setting(containerEl)  

        .setName('Text input')  

        .setDesc('Sample description')  

        .addText((text) =>  

           text  

              .setPlaceholder('Lorem ipsum')  

              .setValue(this.plugin.settings.sampleValue)  

              .onChange(async (value) => {  

                ...

              })

        );

### Textarea

Settings

Not found

This page does not exist

Interactive graph

On this page

Create a settings definition

Save and load the settings object

Provide default values

Register a settings tab

Available settings types

Headings

Text

Textarea

Search

Moment format

Buttons

Extra button

Toggle

Dropdown

Slider

Progress bar

Color picker

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/file
----

file

====

    aliases: "MarkdownPreviewView.file"

    cssclasses: hide-title

[`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView) › [`file`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/file)

MarkdownPreviewView.file property

---------------------------------

**Signature:**

    get file(): TFile;

Links to this page

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

file

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewView.file property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Tasks/addPromise
----

addPromise

==========

    aliases: "Tasks.addPromise"

    cssclasses: hide-title

[`Tasks`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks) › [`addPromise`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/addPromise)

Tasks.addPromise() method

-------------------------

0.10.2

**Signature:**

    addPromise(promise: Promise<any>): void;

Parameters

----------

Parameter

Type

Description

`promise`

`Promise``<any>`

**Returns:**

`void`

Links to this page

[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)

addPromise

Not found

This page does not exist

Interactive graph

On this page

Tasks.addPromise() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView
----

EditableFileView

================

    aliases: "EditableFileView"

    cssclasses: hide-title

[`EditableFileView`](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

EditableFileView class

----------------------

0.9.7

**Signature:**

    export abstract class EditableFileView extends FileView 

**Extends:** [`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/\(constructor\))

Constructs a new instance of the `FileView` class

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

Properties

----------

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) `| null`

Assign an optional scope to your view to register hotkeys for when the view is in focus.

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

Methods

-------

[`onLoadFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onLoadFile)

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))



(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

(Inherited from [FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView))

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

EditableFileView

Not found

This page does not exist

Interactive graph

On this page

EditableFileView class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setIcon
----

setIcon

=======

    aliases: "ExtraButtonComponent.setIcon"

    cssclasses: hide-title

[`ExtraButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent) › [`setIcon`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setIcon)

ExtraButtonComponent.setIcon() method

-------------------------------------

**Signature:**

    setIcon(icon: IconName): this;

Parameters

----------

Parameter

Type

Description

`icon`

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

ID of the icon, can use any icon loaded with [addIcon()](https://docs.obsidian.md/Reference/TypeScript+API/addIcon) or from the inbuilt library.

**Returns:**

`this`

Links to this page

[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)

setIcon

Not found

This page does not exist

Interactive graph

On this page

ExtraButtonComponent.setIcon() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer/match
----


[match](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer/match)

match

=====

    aliases: "SearchResultContainer.match"

    cssclasses: hide-title

[`SearchResultContainer`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer) › [`match`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer/match)

SearchResultContainer.match property

------------------------------------

**Signature:**

    match: SearchResult;

Links to this page

[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)

match

Not found

This page does not exist

Interactive graph

On this page

SearchResultContainer.match property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/appendBinary
----

appendBinary

============

    aliases: "DataAdapter.appendBinary"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`appendBinary`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/appendBinary)

DataAdapter.appendBinary() method

---------------------------------

Add data to the end of a binary file.

**Signature:**

    appendBinary(normalizedPath: string, data: ArrayBuffer, options?: DataWriteOptions): Promise<void>;

Parameters

----------

the data to append.

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

appendBinary

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.appendBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover
----

HoverPopover

============

HoverPopover

Not found

This page does not exist

Interactive graph

On this page

HoverPopover class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/append
----

append

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.append() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/setCursor
----

setCursor

=========

    aliases: "Editor.setCursor"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`setCursor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setCursor)

Editor.setCursor() method

-------------------------

0.11.11

**Signature:**

    setCursor(pos: EditorPosition | number, ch?: number): void;

Parameters

----------

Parameter

Type

Description

`pos`

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition) `| number`

`ch`

`number`

_(Optional)_

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

setCursor

Not found

This page does not exist

Interactive graph

On this page

Editor.setCursor() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo
----

FrontMatterInfo

===============

    aliases: "FrontMatterInfo"

    cssclasses: hide-title

[`FrontMatterInfo`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)

FrontMatterInfo interface

-------------------------

**Signature:**

    export interface FrontMatterInfo 

Properties

----------

Property

Modifiers

Type

Description

[`contentStart`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/contentStart)

`number`

Offset where the frontmatter block ends (including the ---)

[`exists`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/exists)

`boolean`

Whether this file has a frontmatter block

[`from`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/from)

`number`

Start of the frontmatter contents (excluding the ---)

[`frontmatter`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/frontmatter)

`string`

String representation of the frontmatter

[`to`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/to)

`number`

End of the frontmatter contents (excluding the ---)

Links to this page

[contentStart](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/contentStart)

[exists](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/exists)

[from](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/from)

[frontmatter](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/frontmatter)

[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[to](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/to)

FrontMatterInfo

Not found

This page does not exist

Interactive graph

On this page

FrontMatterInfo interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent
----

registerDomEvent

================

    aliases: "Component.registerDomEvent"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component) › [`registerDomEvent`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent)

Component.registerDomEvent() method

-----------------------------------

Registers a DOM event to be detached when unloading

0.14.8

**Signature:**

    registerDomEvent<K extends keyof WindowEventMap>(el: Window, type: K, callback: (this: HTMLElement, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;

Parameters

----------

Parameter

Type

Description

`el`

`Window`

`type`

`K`

`callback`

`(this:` `HTMLElement``, ev:` `WindowEventMap``[K]) => any`

registerDomEvent

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceRange
----

replaceRange

============

    aliases: "Editor.replaceRange"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`replaceRange`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceRange)

Editor.replaceRange() method

----------------------------

0.11.11

**Signature:**

    abstract replaceRange(replacement: string, from: EditorPosition, to?: EditorPosition, origin?: string): void;

Parameters

----------

Parameter

Type

Description

`replacement`

`string`

`from`

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

`to`

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

_(Optional)_

replaceRange

Not found

This page does not exist

Interactive graph

On this page

Editor.replaceRange() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Window/Ribbon
----

Ribbon

======

    cssclasses: reference

This page lists CSS variables for the [Ribbon](https://help.obsidian.md/User+interface/Workspace/Ribbon).

CSS variables

-------------

Variable

Description

`--ribbon-background`

Ribbon background color

`--ribbon-background-collapsed`

Ribbon background color (collapsed sidebar)

`--ribbon-width`

Ribbon width

`--ribbon-padding`

Ribbon padding

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Ribbon

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/handleLinkContextMenu
----

handleLinkContextMenu

=====================

    aliases: "Workspace.handleLinkContextMenu"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`handleLinkContextMenu`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/handleLinkContextMenu)

Workspace.handleLinkContextMenu() method

----------------------------------------

Add a context menu to internal file links.

0.12.10

**Signature:**

    handleLinkContextMenu(menu: Menu, linktext: string, sourcePath: string, leaf?: WorkspaceLeaf): boolean;

Parameters

----------

Parameter

Type

Description

`menu`

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

`linktext`

`string`

`sourcePath`

`string`

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

_(Optional)_

**Returns:**

`boolean`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

handleLinkContextMenu

Not found

This page does not exist

Interactive graph

On this page

Workspace.handleLinkContextMenu() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/referenceLinks
----

referenceLinks

==============

    aliases: "CachedMetadata.referenceLinks"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`referenceLinks`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/referenceLinks)

CachedMetadata.referenceLinks property

--------------------------------------

1.8.7

**Signature:**

    referenceLinks?: ReferenceLinkCache[];

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

referenceLinks

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.referenceLinks property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/data
----

data

Not found

This page does not exist

Interactive graph

On this page

TextFileView.data property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setDynamicTooltip
----

setDynamicTooltip

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.setDynamicTooltip() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/sections
----

sections

========

    aliases: "CachedMetadata.sections"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`sections`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/sections)

CachedMetadata.sections property

--------------------------------

Sections are root level markdown blocks, which can be used to divide the document up.

**Signature:**

    sections?: SectionCache[];

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

sections

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.sections property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/Icons
----

Icons

=====

Icons

Not found

This page does not exist

Interactive graph

On this page

Browse available icons

Use icons

Add your own icon

Icon design guidelines

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache/task
----

task

====

    aliases: "ListItemCache.task"

    cssclasses: hide-title

[`ListItemCache`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache) › [`task`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache/task)

ListItemCache.task property

---------------------------

A single character indicating the checked status of a task. The space character `' '` is interpreted as an incomplete task. Any other character is interpreted as completed task. `undefined` if this item isn't a task.

**Signature:**

    task?: string | undefined;

Links to this page

[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)

task

Not found

This page does not exist

Interactive graph

On this page

ListItemCache.task property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/size
----

size

Not found

This page does not exist

Interactive graph

On this page

WorkspaceWindowInitData.size property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/getName
----

getName

=======

    aliases: "Vault.getName"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`getName`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getName)

Vault.getName() method

----------------------

Gets the name of the vault.

0.9.7

**Signature:**

    getName(): string;

**Returns:**

`string`

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

getName

Not found

This page does not exist

Interactive graph

On this page

Vault.getName() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Themes/Obsidian+Publish+themes/About+Obsidian+Publish+themes
----

About Obsidian Publish themes

=============================

Obsidian Publish gives you several options for customizing how your Publish site looks.

Obsidian Publish allows you to customize the look of your site using CSS.

The following elements can be turned on or off in the Publish site settings and influence the layout of the site.

#### Reading experience

*   **Readable line length** sets a maximum width for notes and centers the content on wide screens.

*   **Theme toggle** displays a switch for light and dark mode.

*   **Stacked notes** enables notes to stack and scroll horizontally when links are clicked, similar to [Tab stacks](https://help.obsidian.md/User+interface/Use+tabs+in+Obsidian#Stack+tab+groups) in the Obsidian app.

#### Components

*   **Navigation** adds a left sidebar similar with a list of folders and files.

*   **Search** displays a search input field, it may be positioned in the left sidebar, right sidebar or top navigation depending on which UI elements are active.

*   **Backlinks** displays a list of backlinks at the bottom of the page.

*   **Graph** displays the local graph in the right sidebar.

*   **Table of contents** displays an outline of headings in the current page in the right sidebar.

CSS variables

-------------

Theming for Obsidian Publish is made simple with CSS variables. [Learn more about CSS variables and how to use them.](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties)

The list of [CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables) available for customization fall into two groups:

*   **App variables** are inherited from the Obsidian app theme. These primarily control the colors and styling of the content.

*   **Publish-specific variables** control the elements specific to Obsidian Publish.

About Obsidian Publish themes

Not found

This page does not exist

Interactive graph

On this page

Reading experience

Components

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata
----

CachedMetadata

==============

    aliases: "CachedMetadata"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

CachedMetadata interface

------------------------

**Signature:**

    export interface CachedMetadata 

Properties

----------

Property

Modifiers

Type

Description

[`blocks?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/blocks)

`Record``<string,` [`BlockCache`](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)`>`

_(Optional)_

[`embeds?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/embeds)

[`EmbedCache`](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)`[]`

_(Optional)_

[`footnoteRefs?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/footnoteRefs)

[`FootnoteRefCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)`[]`

_(Optional)_ 1.8.7

[`footnotes?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/footnotes)

[`FootnoteCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)`[]`

_(Optional)_ 1.6.6

[`frontmatter?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatter)

[`FrontMatterCache`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)

_(Optional)_

[`frontmatterLinks?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatterLinks)

[`FrontmatterLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)`[]`

_(Optional)_ 1.4.0

[`frontmatterPosition?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatterPosition)

[`Pos`](https://docs.obsidian.md/Reference/TypeScript+API/Pos)

_(Optional)_ Position of the frontmatter in the file.

1.4.0

[`headings?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/headings)

[`HeadingCache`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)`[]`

_(Optional)_

[`links?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/links)

[`LinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)`[]`

_(Optional)_

[`listItems?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/listItems)

[`ListItemCache`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)`[]`

_(Optional)_

[`referenceLinks?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/referenceLinks)

[`ReferenceLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)`[]`

_(Optional)_ 1.8.7

[`sections?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/sections)

[`SectionCache`](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)`[]`

_(Optional)_ Sections are root level markdown blocks, which can be used to divide the document up.

[`tags?`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/tags)

[`TagCache`](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)`[]`

_(Optional)_

Links to this page


[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)

[getCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getCache)

[getFileCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFileCache)

[headings](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/headings)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)

[links](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/links)

[listItems](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/listItems)

[on('changed')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('changed'\))

[on('deleted')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('deleted'\))

[referenceLinks](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/referenceLinks)

[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)

[sections](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/sections)

[tags](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/tags)

CachedMetadata

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesView/config
----

config

======

    aliases: "BasesView.config"

    cssclasses: hide-title

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView) › [`config`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/config)

BasesView.config property

-------------------------

The config object for this view.

1.10.0

**Signature:**

    config: BasesViewConfig;

config

Not found

This page does not exist

Interactive graph

On this page

BasesView.config property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/setState
----

setState

========

    aliases: "View.setState"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`setState`](https://docs.obsidian.md/Reference/TypeScript+API/View/setState)

View.setState() method

----------------------

0.9.7

**Signature:**

    setState(state: unknown, result: ViewStateResult): Promise<void>;

Parameters

----------

Parameter

Type

Description

`state`

`unknown`

`result`

[`ViewStateResult`](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)

**Returns:**

`Promise<void>`

Links to this page

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

setState

Not found

This page does not exist

Interactive graph

On this page

View.setState() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/getResourcePath
----

getResourcePath

===============

    aliases: "DataAdapter.getResourcePath"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`getResourcePath`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/getResourcePath)

DataAdapter.getResourcePath() method

------------------------------------

Returns a URI for the browser engine to use, for example to embed an image.

**Signature:**

    getResourcePath(normalizedPath: string): string;

Parameters

----------

`string`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

getResourcePath

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.getResourcePath() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/to
----

to

==

    aliases: "FrontMatterInfo.to"

    cssclasses: hide-title

[`FrontMatterInfo`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo) › [`to`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/to)

FrontMatterInfo.to property

---------------------------

End of the frontmatter contents (excluding the ---)

**Signature:**

    to: number;

Links to this page

[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)

to

Not found

This page does not exist

Interactive graph

On this page

FrontMatterInfo.to property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onLoadFile
----

onLoadFile

==========

    aliases: "TextFileView.onLoadFile"

    cssclasses: hide-title

[`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView) › [`onLoadFile`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onLoadFile)

TextFileView.onLoadFile() method

--------------------------------

0.10.12

**Signature:**

    onLoadFile(file: TFile): Promise<void>;

Parameters

----------

Parameter

Type

Description

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

**Returns:**

`Promise<void>`

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

onLoadFile

Not found

This page does not exist

Interactive graph

On this page

TextFileView.onLoadFile() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/plugins/guides/defer-views
----

Defer views

===========

    aliases:

      - Plugins/Guides/Understanding+deferred+views

    permalink: plugins/guides/defer-views

As of Obsidian v1.7.2, When Obsidian loads, all views are created as instances of **DeferredView**. Once a view is visible on screen (i.e. the tab is selected within its containing tab group), the `leaf` will rerender and the view will be switched out to the correct `View` instance.

This change might break some assumptions that your plugin is currently making.

### Accessing `leaf.view`

If your plugin is iterating the workspace (using either `iterateAllLeaves` or `getLeavesOfType`), it's now very important that you perform an `instanceof` check before making any assumptions about `leaf.view`.

    // Bad

    workspace.iterateAllLeaves(leaf => {

        if (leaf.view.getViewType() === 'my-view') {

            let view = leaf.view as MyCustomView;

            ...

        }

    });

    // Good

    workspace.iterateAllLeaves(leaf => {

        if (leaf.view instanceof MyCustomView) {

            ...

        }

    });

    // Bad

    let leaf = workspace.getLeavesOfType('my-view').first();

    if (leaf) {

    	let view = leaf.view as MyCustomView;

    }

    ...

    // Good

    let leaf = workspace.getLeavesOfType('my-view').first();

    if (leaf && leaf.view instanceof MyCustomView) {

        ...

    }

This will avoid your plugin breaking by making a bad assumption about the workspace and causing your plugin to error out.

### Accessing your `CustomView` anywhere in the workspace

> A general rule to follow: if your plugin is attempting to communicate with a view, that view should be visible.

Defer views

Not found

This page does not exist

Interactive graph

On this page

Accessing leaf.view

Accessing your CustomView anywhere in the workspace

Accessing your CustomView without reveal (Advanced)

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Foundations/Borders
----

Borders

=======

    cssclasses: reference

Border thicknesses applied to UI elements.

Variable

Default value

`--border-width`

`1px`

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Borders

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/process
----

process

=======

process

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.process() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CliHandler
----

CliHandler

Not found

This page does not exist

Interactive graph

On this page

CliHandler type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/name
----

name

====

    aliases: "PluginManifest.name"

    cssclasses: hide-title

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest) › [`name`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/name)

PluginManifest.name property

----------------------------

The display name.

**Signature:**

    name: string;

Links to this page

[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

name

Not found

This page does not exist

Interactive graph

On this page

PluginManifest.name property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating
----

WorkspaceFloating

=================

    aliases: "WorkspaceFloating"

    cssclasses: hide-title

[`WorkspaceFloating`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)

WorkspaceFloating class

-----------------------

0.15.2

**Signature:**

    export class WorkspaceFloating extends WorkspaceParent 

**Extends:** [`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

Properties

----------

Property

Modifiers

Type

Description

[`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating/parent)

[`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

0.15.2

Methods

-------

[parent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating/parent)

WorkspaceFloating

Not found

This page does not exist

Interactive graph

On this page

WorkspaceFloating class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/vault
----

vault

=====

    aliases: "App.vault"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) › [`vault`](https://docs.obsidian.md/Reference/TypeScript+API/App/vault)

App.vault property

------------------

0.9.7

**Signature:**

    vault: Vault;

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

vault

Not found

This page does not exist

Interactive graph

On this page

App.vault property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/setValue
----

setValue

========

    aliases: "ProgressBarComponent.setValue"

    cssclasses: hide-title

[`ProgressBarComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/setValue)

ProgressBarComponent.setValue() method

--------------------------------------

**Signature:**

    setValue(value: number): this;

Parameters

----------

Parameter

Type

Description

`value`

`number`

The progress amount, a value between 0-100.

**Returns:**

`this`

Links to this page

[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

setValue

Not found

This page does not exist

Interactive graph

On this page

ProgressBarComponent.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+fonts
----

Site fonts

==========

    cssclasses: reference

To load remote fonts we recommend using CSS with `@import` or defining your fonts with `@font-face` and an absolute URL. [Learn more.](https://css-tricks.com/snippets/css/using-font-face-in-css/)

For example you can use [Google Fonts](https://fonts.google.com/) in your `publish.css` file. Here's how you would use the font Poppins:

    /* @import must always be at the top of your publish.css file */

    @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

    body {

      --font-text-theme: 'Poppins';

    }

CSS variables

-------------

Obsidian Publish shares many [CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables) with the Obsidian app. You can change these variables on the `body` element.

Variable

Description

`--font-text-size`

Font size for page text

`--font-text-theme`

Font family for page text

`--font-monospace-theme`

Font family for code

`--font-interface-theme`

Font family for interface elements such as navigation

Publish-specific CSS variables should be defined on the `.published-container`. See [Build a Publish theme](https://docs.obsidian.md/Themes/Obsidian+Publish+themes/Build+a+Publish+theme).

Variable

Description

`--page-title-font`

Font family for [page titles](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+pages)

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Publish](https://docs.obsidian.md/Reference/CSS+variables/Publish/Publish)

[Site pages](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+pages)

Site fonts

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/onChange
----

onChange

========

    aliases: "DropdownComponent.onChange"

    cssclasses: hide-title

[`DropdownComponent`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent) › [`onChange`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/onChange)

DropdownComponent.onChange() method

-----------------------------------

0.9.7

**Signature:**

    onChange(callback: (value: string) => any): this;

Parameters

----------

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

onChange

Not found

This page does not exist

Interactive graph

On this page

DropdownComponent.onChange() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/set
----

set

===

    aliases: "MarkdownSubView.set"

    cssclasses: hide-title

[`MarkdownSubView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView) › [`set`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/set)

MarkdownSubView.set() method

----------------------------

**Signature:**

    set(data: string, clear: boolean): void;

Parameters

----------

[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)

set

Not found

This page does not exist

Interactive graph

On this page

MarkdownSubView.set() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/openFile
----

openFile

========

    aliases: "WorkspaceLeaf.openFile"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`openFile`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/openFile)

WorkspaceLeaf.openFile() method

-------------------------------

Open a file in this leaf.

**Signature:**

    openFile(file: TFile, openState?: OpenViewState): Promise<void>;

Parameters

----------

Parameter

Type

Description

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

`openState`

[`OpenViewState`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)

_(Optional)_

**Returns:**

`Promise<void>`

Links to this page

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

openFile

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.openFile() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile
----

TAbstractFile

=============

    aliases: "TAbstractFile"

    cssclasses: hide-title

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

TAbstractFile class

-------------------

This can be either a `TFile` or a `TFolder`.

0.9.7

**Signature:**

    export abstract class TAbstractFile 

Properties

----------

Property

Modifiers

Type

Description

[`name`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/name)

`string`

0.9.7

[`parent`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/parent)

[`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder) `| null`

0.9.7

[`path`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/path)

`string`

0.9.7

[`vault`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/vault)

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

0.9.7

Links to this page

[delete](https://docs.obsidian.md/Reference/TypeScript+API/Vault/delete)

[getAbstractFileByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAbstractFileByPath)

[getAllLoadedFiles](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAllLoadedFiles)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[name](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/name)

[on('create')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on\('create'\))

[on('delete')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on\('delete'\))

[on('file-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('file-menu'\))

[on('files-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('files-menu'\))

[on('modify')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on\('modify'\))

[on('rename')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on\('rename'\))

[parent](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/parent)

[path](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/path)

[promptForDeletion](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/promptForDeletion)

[recurseChildren](https://docs.obsidian.md/Reference/TypeScript+API/Vault/recurseChildren)

[rename](https://docs.obsidian.md/Reference/TypeScript+API/Vault/rename)

[renameFile](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/renameFile)

[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)

[trash](https://docs.obsidian.md/Reference/TypeScript+API/Vault/trash)

[trashFile](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/trashFile)

[Vault](https://docs.obsidian.md/Plugins/Vault)

[vault](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/vault)

TAbstractFile

Not found

This page does not exist

Interactive graph

On this page

TAbstractFile class

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret/head
----

head

====

    aliases: "EditorSelectionOrCaret.head"

    cssclasses: hide-title

[`EditorSelectionOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret) › [`head`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret/head)

EditorSelectionOrCaret.head property

------------------------------------

**Signature:**

    head?: EditorPosition;

Links to this page

[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)

head

Not found

This page does not exist

Interactive graph

On this page

EditorSelectionOrCaret.head property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart
----

SearchMatchPart

===============

    aliases: "SearchMatchPart"

    cssclasses: hide-title

[`SearchMatchPart`](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)

SearchMatchPart type

--------------------

Text position offsets within text file. Represents a text range \[from offset, to offset\].

**Signature:**

    export type SearchMatchPart = [number, number];

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)

SearchMatchPart

Not found

This page does not exist

Interactive graph

On this page

SearchMatchPart type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption/type
----

type

====

    aliases: "BasesToggleOption.type"

    cssclasses: hide-title

[`BasesToggleOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption/type)

BasesToggleOption.type property

-------------------------------

1.10.0

**Signature:**

    type: 'toggle';

Links to this page

[BasesToggleOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption)

type

Not found

This page does not exist

Interactive graph

On this page

BasesToggleOption.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/headings
----

headings

========

    aliases: "CachedMetadata.headings"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`headings`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/headings)

CachedMetadata.headings property

--------------------------------

**Signature:**

    headings?: HeadingCache[];

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

headings

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.headings property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/max
----

max

Not found

This page does not exist

Interactive graph

On this page

BasesSliderOption.max property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions/mtime
----

mtime

=====

    aliases: "DataWriteOptions.mtime"

    cssclasses: hide-title

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions) › [`mtime`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions/mtime)

DataWriteOptions.mtime property

-------------------------------

Time of last modification, represented as a unix timestamp, in milliseconds. Omit this if you want to keep the default behaviour.

**Signature:**

    mtime?: number;

Links to this page

[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

mtime

Not found

This page does not exist

Interactive graph

On this page

DataWriteOptions.mtime property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/requestSave
----

requestSave

===========

    aliases: "TextFileView.requestSave"

    cssclasses: hide-title

[`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView) › [`requestSave`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/requestSave)

TextFileView.requestSave property

---------------------------------

Debounced save in 2 seconds from now

0.10.12

**Signature:**

    requestSave: () => void;

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

requestSave

Not found

This page does not exist

Interactive graph

On this page

TextFileView.requestSave property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent
----

WorkspaceParent

===============

    aliases: "WorkspaceParent"

    cssclasses: hide-title

[`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

WorkspaceParent class

---------------------

0.9.7

**Signature:**

    export abstract class WorkspaceParent extends WorkspaceItem 

**Extends:** [`WorkspaceItem`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)

Properties

----------

(Inherited from [WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem))

Methods

-------

[getMostRecentLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getMostRecentLeaf)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)

[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)

[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)

[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)

[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)

[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)

[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

WorkspaceParent

Not found

This page does not exist

Interactive graph

On this page

WorkspaceParent class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Loc/offset
----

offset

======

    aliases: "Loc.offset"

    cssclasses: hide-title

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc) › [`offset`](https://docs.obsidian.md/Reference/TypeScript+API/Loc/offset)

Loc.offset property

-------------------

Number of characters from the beginning of the file.

**Signature:**

    offset: number;

Links to this page

[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

offset

Not found

This page does not exist

Interactive graph

On this page

Loc.offset property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/filter
----

filter

======

    aliases: "BasesPropertyOption.filter"

    cssclasses: hide-title

[`BasesPropertyOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption) › [`filter`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/filter)

BasesPropertyOption.filter property

-----------------------------------

If provided, only properties which pass the filter will be included for selection in the property dropdown.

1.10.0

**Signature:**

    filter?: (prop: BasesPropertyId) => boolean;

Links to this page

[BasesPropertyOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption)

filter

Not found

This page does not exist

Interactive graph

On this page

BasesPropertyOption.filter property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/applyScroll
----

applyScroll

===========

    aliases: "MarkdownPreviewView.applyScroll"

    cssclasses: hide-title

[`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView) › [`applyScroll`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/applyScroll)

MarkdownPreviewView.applyScroll() method

----------------------------------------

**Signature:**

    applyScroll(scroll: number): void;

Parameters

----------

applyScroll

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewView.applyScroll() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/settingEl
----

settingEl

=========

    aliases: "Setting.settingEl"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`settingEl`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/settingEl)

Setting.settingEl property

--------------------------

0.9.7

**Signature:**

    settingEl: HTMLElement;

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

settingEl

Not found

This page does not exist

Interactive graph

On this page

Setting.settingEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Instruction/command
----

command

=======

    aliases: "Instruction.command"

    cssclasses: hide-title

[`Instruction`](https://docs.obsidian.md/Reference/TypeScript+API/Instruction) › [`command`](https://docs.obsidian.md/Reference/TypeScript+API/Instruction/command)

Instruction.command property

----------------------------

0.9.20

**Signature:**

    command: string;

Links to this page

[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)

command

Not found

This page does not exist

Interactive graph

On this page

Instruction.command property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/hoverPopover
----

hoverPopover

============

    aliases: "MarkdownView.hoverPopover"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) › [`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/hoverPopover)

MarkdownView.hoverPopover property

----------------------------------

**Signature:**

    hoverPopover: HoverPopover | null;

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

hoverPopover

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.hoverPopover property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent
----

TextAreaComponent

=================

    aliases: "TextAreaComponent"

    cssclasses: hide-title

[`TextAreaComponent`](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

TextAreaComponent class

-----------------------

0.9.7

**Signature:**

    export class TextAreaComponent extends AbstractTextComponent<HTMLTextAreaElement> 

**Extends:** [`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)`<``HTMLTextAreaElement``>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent/\(constructor\))

Constructs a new instance of the `TextAreaComponent` class

Properties

----------

-------

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent/\(constructor\))

[addTextArea](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addTextArea)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

TextAreaComponent

Not found

This page does not exist

Interactive graph

On this page

TextAreaComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/formulas
----

formulas

========

    aliases: "BasesConfigFile.formulas"

    cssclasses: hide-title

[`BasesConfigFile`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile) › [`formulas`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/formulas)

BasesConfigFile.formulas property

---------------------------------

Configuration for formulas used in this Base.

Key: Formula property name. Value: Formula string.

1.10.0

**Signature:**

    formulas?: Record<string, string>;

Links to this page

[BasesConfigFile](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile)

formulas

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFile.formulas property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesView/createFileForView
----

createFileForView

=================

    aliases: "BasesView.createFileForView"

    cssclasses: hide-title

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView) › [`createFileForView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/createFileForView)

BasesView.createFileForView() method

------------------------------------

Display the new note menu for a file with the provided filename and optionally a function to modify the frontmatter.

1.10.2

**Signature:**

    createFileForView(baseFileName?: string, frontmatterProcessor?: (frontmatter: any) => void): Promise<void>;

Parameters

----------

Parameter

Type

Description

`baseFileName`

`string`

_(Optional)_

`frontmatterProcessor`

`(frontmatter: any) => void`

_(Optional)_

**Returns:**

`Promise<void>`

Links to this page

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

createFileForView

Not found

This page does not exist

Interactive graph

On this page

BasesView.createFileForView() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit/parent
----

[parent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit/parent)

parent

Not found

This page does not exist

Interactive graph

On this page

WorkspaceSplit.parent property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesView/(constructor)
----

(constructor)

=============

    aliases: "BasesView.(constructor)"

    cssclasses: hide-title

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/\(constructor\))

BasesView.(constructor)

-----------------------

1.10.0

**Signature:**

    protected constructor(controller: QueryController);

Parameters

----------

Parameter

Type

Description

`controller`

[`QueryController`](https://docs.obsidian.md/Reference/TypeScript+API/QueryController)

Links to this page

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

BasesView.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache/parent
----

parent

======

    aliases: "ListItemCache.parent"

    cssclasses: hide-title

[`ListItemCache`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache) › [`parent`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache/parent)

ListItemCache.parent property

-----------------------------

Line number of the parent list item (position.start.line). If this item has no parent (e.g. it's a root level list), then this value is the negative of the line number of the first list item (start of the list).

Can be used to deduce which list items belongs to the same group (item1.parent \= item2.parent). Can be used to reconstruct hierarchy information (parentItem.position.start.line = childItem.parent).

**Signature:**

    parent: number;

Links to this page

[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)

parent

Not found

This page does not exist

Interactive graph

On this page

ListItemCache.parent property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/description
----

description

===========

description

Not found

This page does not exist

Interactive graph

On this page

PluginManifest.description property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/isDeferred
----

isDeferred

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.isDeferred property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/setName
----

setName

=======

    aliases: "Setting.setName"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`setName`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setName)

Setting.setName() method

------------------------

0.12.16

**Signature:**

    setName(name: string | DocumentFragment): this;

Parameters

----------

Parameter

Type

Description

`name`

`string |` `DocumentFragment`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

setName

Not found

This page does not exist

Interactive graph

On this page

Setting.setName() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TFile/stat
----

stat

====

    aliases: "TFile.stat"

    cssclasses: hide-title

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) › [`stat`](https://docs.obsidian.md/Reference/TypeScript+API/TFile/stat)

TFile.stat property

-------------------

0.9.7

**Signature:**

    stat: FileStats;

Links to this page

[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

stat

Not found

This page does not exist

Interactive graph

On this page

TFile.stat property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onChooseSuggestion
----

onChooseSuggestion

==================

    aliases: "SuggestModal.onChooseSuggestion"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) › [`onChooseSuggestion`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onChooseSuggestion)

SuggestModal.onChooseSuggestion() method

----------------------------------------

1.5.7

**Signature:**

    abstract onChooseSuggestion(item: T, evt: MouseEvent | KeyboardEvent): void;

Parameters

----------

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

onChooseSuggestion

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.onChooseSuggestion() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo
----

EditorSuggestTriggerInfo

========================

    aliases: "EditorSuggestTriggerInfo"

    cssclasses: hide-title

[`EditorSuggestTriggerInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)

EditorSuggestTriggerInfo interface

----------------------------------

0.12.17

**Signature:**

    export interface EditorSuggestTriggerInfo 

Properties

----------

Property

Modifiers

Type

Description

[`end`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/end)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

The end position of the triggering text. This is used to position the popover.

[`query`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/query)

`string`

They query string (usually the text between start and end) that will be used to generate the suggestion content.

[`start`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/start)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

The start position of the triggering text. This is used to position the popover.

Links to this page

[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

[end](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/end)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onTrigger](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/onTrigger)

[query](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/query)

[start](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/start)

EditorSuggestTriggerInfo

Not found

This page does not exist

Interactive graph

On this page

EditorSuggestTriggerInfo interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/listSelections
----

listSelections

==============

    aliases: "Editor.listSelections"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`listSelections`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/listSelections)

Editor.listSelections() method

------------------------------

0.11.11

**Signature:**

    abstract listSelections(): EditorSelection[];

**Returns:**

[`EditorSelection`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)`[]`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

listSelections

Not found

This page does not exist

Interactive graph

On this page

Editor.listSelections() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/stat
----

stat

====

    aliases: "DataAdapter.stat"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`stat`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/stat)

DataAdapter.stat() method

-------------------------

Retrieve metadata about the given file/folder.

**Signature:**

    stat(normalizedPath: string): Promise<Stat | null>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

path to file/folder, use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) to normalize beforehand.

0.12.2

**Returns:**

`Promise<`[`Stat`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/stat) `| null>`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

stat

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.stat() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/addExtraButton
----

addExtraButton

==============

    aliases: "SettingGroup.addExtraButton"

    cssclasses: hide-title

[`SettingGroup`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup) › [`addExtraButton`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/addExtraButton)

SettingGroup.addExtraButton() method

------------------------------------

1.11.0

**Signature:**

    addExtraButton(cb: (component: ExtraButtonComponent) => any): this;

Parameters

----------

[SettingGroup](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup)

addExtraButton

Not found

This page does not exist

Interactive graph

On this page

SettingGroup.addExtraButton() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/docId
----

docId

=====

    aliases: "MarkdownPostProcessorContext.docId"

    cssclasses: hide-title

[`MarkdownPostProcessorContext`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext) › [`docId`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/docId)

MarkdownPostProcessorContext.docId property

-------------------------------------------

**Signature:**

    docId: string;

Links to this page

[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)

docId

Not found

This page does not exist

Interactive graph

On this page

MarkdownPostProcessorContext.docId property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/getValue
----

getValue

========

    aliases: "DropdownComponent.getValue"

    cssclasses: hide-title

[`DropdownComponent`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent) › [`getValue`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/getValue)

DropdownComponent.getValue() method

-----------------------------------

0.9.7

**Signature:**

    getValue(): string;

**Returns:**

`string`

Links to this page

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

getValue

Not found

This page does not exist

Interactive graph

On this page

DropdownComponent.getValue() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/sampleEl
----

sampleEl

========

    aliases: "MomentFormatComponent.sampleEl"

    cssclasses: hide-title

[`MomentFormatComponent`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent) › [`sampleEl`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/sampleEl)

MomentFormatComponent.sampleEl property

---------------------------------------

0.9.7

**Signature:**

    sampleEl: HTMLElement;

Links to this page

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

sampleEl

Not found

This page does not exist

Interactive graph

On this page

MomentFormatComponent.sampleEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/adapter
----

adapter

=======

    aliases: "Vault.adapter"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`adapter`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/adapter)

Vault.adapter property

----------------------

0.9.7

**Signature:**

    adapter: DataAdapter;

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

adapter

Not found

This page does not exist

Interactive graph

On this page

Vault.adapter property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getAsPropertyId
----

getAsPropertyId

===============

    aliases: "BasesViewConfig.getAsPropertyId"

    cssclasses: hide-title

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig) › [`getAsPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getAsPropertyId)

BasesViewConfig.getAsPropertyId() method

----------------------------------------

Retrieve a user-configured value from the config, converting it to a BasesPropertyId. Returns null if the requested key is not present in the config, or if the value is invalid.

1.10.0

**Signature:**

    getAsPropertyId(key: string): BasesPropertyId | null;

Parameters

----------

Parameter

Type

Description

`key`

`string`

**Returns:**

[`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId) `| null`

Links to this page

[BasesViewConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

getAsPropertyId

Not found

This page does not exist

Interactive graph

On this page

BasesViewConfig.getAsPropertyId() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch/match
----

match

Not found

This page does not exist

Interactive graph

On this page

FuzzyMatch.match property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/clearButtonEl
----

clearButtonEl

=============

    aliases: "SearchComponent.clearButtonEl"

    cssclasses: hide-title

[`SearchComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent) › [`clearButtonEl`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/clearButtonEl)

SearchComponent.clearButtonEl property

--------------------------------------

0.9.21

**Signature:**

    clearButtonEl: HTMLElement;

Links to this page

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

clearButtonEl

Not found

This page does not exist

Interactive graph

On this page

SearchComponent.clearButtonEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/collapse
----

collapse

========

    aliases: "WorkspaceMobileDrawer.collapse"

    cssclasses: hide-title

[`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer) › [`collapse`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/collapse)

WorkspaceMobileDrawer.collapse() method

---------------------------------------

**Signature:**

    collapse(): void;

**Returns:**

`void`

Links to this page

[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

collapse

Not found

This page does not exist

Interactive graph

On this page

WorkspaceMobileDrawer.collapse() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Embed
----

Embed

=====

    cssclasses: reference

This page lists CSS variables for [embedded files](https://help.obsidian.md/Linking+notes+and+files/Embedding+files).

CSS variables

-------------

Variable

Description

`--embed-max-height`

Embed max height

`--embed-canvas-max-height`

Embedded Canvas element max height

`--embed-background`

Embed background color

`--embed-border-end`

Embed `end` border, shorthand property

`--embed-border-start`

Embed `start` border, shorthand property

`--embed-border-top`

Embed top border, shorthand property

`--embed-border-bottom`

Embed bottom border, shorthand property

`--embed-padding`

Embedd padding

`--embed-font-style`

Embed `font-style`

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Embed

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Text+input
----

Text input

==========

    cssclasses: reference

This page lists CSS variables for text inputs.

CSS variables

-------------

Variable

Description

`--input-height`

Input height

`--input-radius`

Input radius

`--input-font-weight`

Input font weight

`--input-border-width`

Input border width

Links to this page

[Bases](https://docs.obsidian.md/Reference/CSS+variables/Editor/Bases)

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Properties](https://docs.obsidian.md/Reference/CSS+variables/Editor/Properties)

Text input

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Constructor
----

Constructor

===========

    aliases: "Constructor"

    cssclasses: hide-title

[`Constructor`](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)

Constructor type

----------------

**Signature:**

    export type Constructor<T> = abstract new (...args: any[]) => T;

Links to this page

[getActiveViewOfType](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveViewOfType)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

Constructor

Not found

This page does not exist

Interactive graph

On this page

Constructor type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/onChange
----

onChange

========

    aliases: "ColorComponent.onChange"

    cssclasses: hide-title

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent) › [`onChange`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/onChange)

ColorComponent.onChange() method

--------------------------------

1.0.0

**Signature:**

    onChange(callback: (value: string) => any): this;

Parameters

----------

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

onChange

Not found

This page does not exist

Interactive graph

On this page

ColorComponent.onChange() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/(constructor)
----

(constructor)

=============

    aliases: "Menu.(constructor)"

    cssclasses: hide-title

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/\(constructor\))

Menu.(constructor)

------------------

Constructs a new instance of the `Menu` class

**Signature:**

    constructor();

Links to this page

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

Menu.(constructor)

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuItem
----

MenuItem

========

    aliases: "MenuItem"

    cssclasses: hide-title

[`MenuItem`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)

MenuItem class

--------------

**Signature:**

    export class MenuItem 

Methods

-------

Method

Modifiers

Description

[`onClick(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/onClick)

[`setChecked(checked)`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setChecked)

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setDisabled)

[`setIcon(icon)`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setIcon)

[`setIsLabel(isLabel)`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setIsLabel)

0.15.0

[`setSection(section)`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setSection)

Sets the section this menu item should belong in. To find the section IDs of an existing menu, inspect the DOM elements to see their `data-section` attribute.

[`setTitle(title)`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setTitle)

[`setWarning(isWarning)`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setWarning)

Links to this page

[addItem](https://docs.obsidian.md/Reference/TypeScript+API/Menu/addItem)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onClick](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/onClick)

[setChecked](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setChecked)

[setDisabled](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setDisabled)

[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setIcon)

[setIsLabel](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setIsLabel)

[setSection](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setSection)

[setTitle](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setTitle)

[setWarning](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setWarning)

MenuItem

Not found

This page does not exist

Interactive graph

On this page

MenuItem class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/factory
----

factory

Not found

This page does not exist

Interactive graph

On this page

BasesViewRegistration.factory property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/allowNoFile
----

allowNoFile

===========

    aliases: "FileView.allowNoFile"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`allowNoFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/allowNoFile)

FileView.allowNoFile property

-----------------------------

**Signature:**

    allowNoFile: boolean;

Links to this page

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

allowNoFile

Not found

This page does not exist

Interactive graph

On this page

FileView.allowNoFile property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo/key
----

key

===

    aliases: "KeymapInfo.key"

    cssclasses: hide-title

[`KeymapInfo`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo) › [`key`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo/key)

KeymapInfo.key property

-----------------------

0.10.4

**Signature:**

    key: string | null;

Links to this page

[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)

[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)

[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)

key

Not found

This page does not exist

Interactive graph

On this page

KeymapInfo.key property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/hasKey
----

hasKey

======

    aliases: "BasesEntryGroup.hasKey"

    cssclasses: hide-title

[`BasesEntryGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup) › [`hasKey`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/hasKey)

BasesEntryGroup.hasKey() method

-------------------------------

**Signature:**

    hasKey(): boolean;

**Returns:**

`boolean`

true iff this entry group has a non-null key.

1.10.0

Links to this page

[BasesEntryGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup)

hasKey

Not found

This page does not exist

Interactive graph

On this page

BasesEntryGroup.hasKey() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/plugins/guides/load-time
----

Optimize plugin load time

=========================

    aliases:

      - Plugins/Guides/Optimizing+plugin+load+time

    permalink: plugins/guides/load-time

Plugins play an important role in app load time. To ensure that Obsidian behaves correctly, Obsidian loads all plugins before the user can interact with the app.

You can test the startup time of Obsidian by going to **Settings** → **General** → **Advanced**. and select the stopwatch icon to debug startup time. This view indicates how long it takes for the app to launch.

### How do I improve my plugin's load time?

*   Simplify your plugin `onload`.

*   Check your plugin View constructor.

*   Avoid the [common pitfalls](https://docs.obsidian.md/plugins/guides/load-time#Pitfalls).

First, the easy stuff. Make sure that you are using a production build of your plugin. If you are using a bundler like esbuild, rollup, or webpack, you can likely create a "development" build or a "production" build. A production build will usually be smaller, load faster, and remove code that's only used for testing. When you create a release, ensure that the `main.js` file is a production build.

In your build configuration, you should consider minifying your plugin code. This will make the overall plugin file size smaller and therefore faster for plugin to read from disk and load.

Next, make sure you aren't doing anything expensive inside your plugin's `onload` function. The `onload` function should only include code necessary for the plugin to initialize. This includes app registrations, like registering commands, view types, and Markdown post-processors. It should not include anything computationally expensive or data fetching.

If your plugin creates any custom views, be mindful of your custom view constructor. When Obsidian opens, it will reopen all the views saved to the user's workspace. If your view is loaded (and not [deferred](https://docs.obsidian.md/plugins/guides/defer-views)), this will directly impact the app load time.

### If you have code that you want to run at startup, where should it go?

For most cases, you will want to wrap your code inside a `onLayoutReady` callback. These callbacks are deferred and are only called after Obsidian finishes loading.

Pitfalls

--------

### Listening to `vault.on('create')`

As a part of Obsidian's vault initialization process, it will call `create` for every file. If your plugin needs to react to new files getting created, you need to wait for the workspace to be ready first. Your vault event registration should be inside an `onLayoutReady` callback; this will ensure you don't start reacting to events until the workspace is fully initialized.

#### Option A. Check if the layout is ready

    class MyPlugin extends Plugin {

        onload(app: App) {

    	    super(app);

            this.registerEvent(this.app.vault.on('create', this.onCreate, this));

        }

    	onCreate() {

    	    if (!this.app.workspace.layoutReady) {

    	      // Workspace is still loading, do nothing

    	      return;

    	    }

    		// ...

    	}

    }

#### Option B. Register the handler once the layout is ready

    class MyPlugin extends Plugin {

        onload(app: App) {

    	    super(app);

    	    this.app.workspace.onLayoutReady(() => {

    	        this.registerEvent(this.app.vault.on('create', this.onCreate, this));

    	    });

        }

    	onCreate() {

    		// ...

    	}

    }

For additional help with optimizing your plugin, reach out for [help from the developer community](https://docs.obsidian.md/Home#Join the developer community)!

Links to this page

[Obsidian October plugin self-critique checklist](https://docs.obsidian.md/oo/plugin)

Optimize plugin load time

Not found

This page does not exist

Interactive graph

On this page

How do I improve my plugin's load time?

If you have code that you want to run at startup, where should it go?

Pitfalls

Listening to vault.on('create')

Option A. Check if the layout is ready

Option B. Register the handler once the layout is ready

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ItemView
----

ItemView

========

    aliases: "ItemView"

    cssclasses: hide-title

[`ItemView`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

ItemView class

--------------

0.9.7

**Signature:**

    export abstract class ItemView extends View 

**Extends:** [`View`](https://docs.obsidian.md/Reference/TypeScript+API/View)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/\(constructor\))

Constructs a new instance of the `ItemView` class

Properties

----------

Property

Modifiers

Type

Description

[`icon`](https://docs.obsidian.md/Reference/TypeScript+API/View/icon)

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

1.1.0

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`leaf`](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf)

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

0.9.7

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`navigation`](https://docs.obsidian.md/Reference/TypeScript+API/View/navigation)

`boolean`

Whether or not the view is intended for navigation. If your view is a static view that is not intended to be navigated away, set this to false. (For example: File explorer, calendar, etc.) If your view opens a file or can be otherwise navigated, set this to true. (For example: Markdown editor view, Kanban view, PDF view, etc.)

0.15.1

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) `| null`

Assign an optional scope to your view to register hotkeys for when the view is in focus.

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

Methods

-------

Method

Modifiers

Description

[`addAction(icon, title, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction)

1.1.0

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState)

0.9.7

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon)

1.1.0

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`getState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getState)

0.9.7

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`onPaneMenu(menu, source)`](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu)

Populates the pane menu.

(Replaces the previously removed `onHeaderMenu` and `onMoreOptionsMenu`)

0.15.3

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`onResize()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize)

Called when the size of this view is changed.

0.9.7

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`setState(state, result)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setState)

0.9.7

(Inherited from [View](https://docs.obsidian.md/Reference/TypeScript+API/View))

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/\(constructor\))

[addAction](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/addAction)

[contentEl](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/contentEl)

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

[Use Svelte in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+Svelte+in+your+plugin)

[Views](https://docs.obsidian.md/Plugins/User+interface/Views)

ItemView

Not found

This page does not exist

Interactive graph

On this page

ItemView class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewType
----

getViewType

===========

    aliases: "MarkdownView.getViewType"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) › [`getViewType`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewType)

MarkdownView.getViewType() method

---------------------------------

**Signature:**

    getViewType(): string;

**Returns:**

`string`

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

getViewType

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.getViewType() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/filters
----

filters

=======

    aliases: "BasesConfigFile.filters"

    cssclasses: hide-title

[`BasesConfigFile`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile) › [`filters`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/filters)

BasesConfigFile.filters property

--------------------------------

1.10.0

**Signature:**

    filters?: BasesConfigFileFilter;

Links to this page

[BasesConfigFile](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile)

filters

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFile.filters property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/emptyStateText
----

emptyStateText

==============

    aliases: "SuggestModal.emptyStateText"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) › [`emptyStateText`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/emptyStateText)

SuggestModal.emptyStateText property

------------------------------------

0.9.20

**Signature:**

    emptyStateText: string;

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

emptyStateText

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.emptyStateText property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setButtonText
----

setButtonText

=============

    aliases: "ButtonComponent.setButtonText"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`setButtonText`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setButtonText)

ButtonComponent.setButtonText() method

--------------------------------------

0.9.7

**Signature:**

    setButtonText(name: string): this;

Parameters

----------

Parameter

Type

Description

`name`

`string`

**Returns:**

`this`

Links to this page

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

setButtonText

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.setButtonText() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs
----

iterateCacheRefs

================

    aliases: "iterateCacheRefs"

    cssclasses: hide-title

[`iterateCacheRefs`](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)

iterateCacheRefs() function

---------------------------

> Warning: This API is now obsolete.

Iterate links and embeds. If callback returns true, the iteration process will be interrupted.

**Signature:**

    export function iterateCacheRefs(cache: CachedMetadata, cb: (ref: ReferenceCache) => boolean | void): boolean;

Parameters

----------

Parameter

Type

Description

`cache`

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

`cb`

`(ref:` [`ReferenceCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)`) => boolean | void`

**Returns:**

`boolean`

true if callback ever returns true, false otherwise.

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

iterateCacheRefs

Not found

This page does not exist

Interactive graph

On this page

iterateCacheRefs() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/authorUrl
----

authorUrl

=========

    aliases: "PluginManifest.authorUrl"

    cssclasses: hide-title

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest) › [`authorUrl`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/authorUrl)

PluginManifest.authorUrl property

---------------------------------

A URL to the author's website.

**Signature:**

    authorUrl?: string;

authorUrl

Not found

This page does not exist

Interactive graph

On this page

PluginManifest.authorUrl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting
----

Setting

=======

    aliases: "Setting"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

Setting class

-------------

0.9.7

**Signature:**

    export class Setting 

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/\(constructor\))

Constructs a new instance of the `Setting` class

Properties

----------

Property

Modifiers

Type

Description

[`components`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/components)

[`BaseComponent`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)`[]`

0.9.7

[`controlEl`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/controlEl)

`HTMLElement`

0.9.7

[`descEl`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/descEl)

`HTMLElement`

0.9.7

[`infoEl`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/infoEl)

`HTMLElement`

0.9.7

[`nameEl`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/nameEl)

`HTMLElement`

0.9.7

[`settingEl`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/settingEl)

`HTMLElement`

0.9.7

Methods

-------

Method

Modifiers

Description

[`addButton(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addButton)

0.9.7

[`addColorPicker(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addColorPicker)

0.16.0

[`addComponent(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addComponent)

1.11.0

[`addDropdown(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addDropdown)

0.9.7

[`addExtraButton(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addExtraButton)

0.9.16

[`addMomentFormat(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addMomentFormat)

0.9.7

[`addProgressBar(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addProgressBar)

1.4.4

[`addSearch(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSearch)

0.9.21

[`addSlider(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSlider)

0.9.7

[`addText(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addText)

0.9.7

[`addTextArea(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addTextArea)

0.9.7

[`addToggle(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addToggle)

0.9.7

[`clear()`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/clear)

0.13.8

[`setClass(cls)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setClass)

0.9.7

[`setDesc(desc)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setDesc)

0.9.7

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setDisabled)

1.2.3

[`setHeading()`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setHeading)

0.9.16

[`setName(name)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setName)

0.12.16

[`setTooltip(tooltip, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setTooltip)

1.1.0

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/then)

Facilitates chaining

0.9.20

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/Setting/\(constructor\))

[addButton](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addButton)

[addColorPicker](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addColorPicker)

[addComponent](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addComponent)

[addDropdown](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addDropdown)

[addExtraButton](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addExtraButton)

[addMomentFormat](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addMomentFormat)

[addProgressBar](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addProgressBar)

[addSearch](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSearch)

[addSetting](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/addSetting)

[addSlider](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSlider)

[addText](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addText)

[addTextArea](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addTextArea)

[addToggle](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addToggle)

[clear](https://docs.obsidian.md/Reference/TypeScript+API/Setting/clear)

[components](https://docs.obsidian.md/Reference/TypeScript+API/Setting/components)

[controlEl](https://docs.obsidian.md/Reference/TypeScript+API/Setting/controlEl)

[descEl](https://docs.obsidian.md/Reference/TypeScript+API/Setting/descEl)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[infoEl](https://docs.obsidian.md/Reference/TypeScript+API/Setting/infoEl)

[nameEl](https://docs.obsidian.md/Reference/TypeScript+API/Setting/nameEl)

[setClass](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setClass)

[setDesc](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setDesc)

[setDisabled](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setDisabled)

[setHeading](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setHeading)

[setName](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setName)

[settingEl](https://docs.obsidian.md/Reference/TypeScript+API/Setting/settingEl)

[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)

[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setTooltip)

[then](https://docs.obsidian.md/Reference/TypeScript+API/Setting/then)

Setting

Not found

This page does not exist

Interactive graph

On this page

Setting class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/(constructor)
----

(constructor)

=============

    aliases: "EditorSuggest.(constructor)"

    cssclasses: hide-title

[`EditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/\(constructor\))

EditorSuggest.(constructor)

---------------------------

Constructs a new instance of the `EditorSuggest` class

**Signature:**

    constructor(app: App);

Parameters

----------

Parameter

Type

Description

`app`

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

Links to this page

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

EditorSuggest.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition/ch
----

ch

==

    aliases: "EditorPosition.ch"

    cssclasses: hide-title

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition) › [`ch`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition/ch)

EditorPosition.ch property

--------------------------

**Signature:**

    ch: number;

Links to this page

[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

ch

Not found

This page does not exist

Interactive graph

On this page

EditorPosition.ch property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating/parent
----

Workspace

WorkspaceContainer

WorkspaceFloating

[parent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating/parent)

WorkspaceItem

WorkspaceLeaf

WorkspaceMobileDrawer

WorkspaceRoot

WorkspaceSidedock

WorkspaceSplit

    aliases: "WorkspaceFloating.parent"

    cssclasses: hide-title

[`WorkspaceFloating`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating) › [`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating/parent)

WorkspaceFloating.parent property

---------------------------------

0.15.2

**Signature:**

    parent: WorkspaceParent;

Links to this page

[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)

parent

Not found

This page does not exist

Interactive graph

On this page

WorkspaceFloating.parent property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent/(constructor)
----

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent/\(constructor\))

    aliases: "TextAreaComponent.(constructor)"

    cssclasses: hide-title

[`TextAreaComponent`](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent/\(constructor\))

TextAreaComponent.(constructor)

-------------------------------

Constructs a new instance of the `TextAreaComponent` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

TextAreaComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command/checkCallback
----

checkCallback

=============

    aliases: "Command.checkCallback"

    cssclasses: hide-title

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command) › [`checkCallback`](https://docs.obsidian.md/Reference/TypeScript+API/Command/checkCallback)

Command.checkCallback property

------------------------------

Complex callback, overrides the simple callback. Used to 'check' whether your command can be performed in the current circumstances. For example, if your command requires the active focused pane to be a MarkdownView, then you should only return true if the condition is satisfied. Returning false or undefined causes the command to be hidden from the command palette.

**Signature:**

    checkCallback?: (checking: boolean) => boolean | void;

Example

-------

    this.addCommand({

      id: 'example-command',

      name: 'Example command',

      checkCallback: (checking: boolean) => {

        const value = getRequiredValue();

        if (value) {

          if (!checking) {

            doCommand(value);

          }

          return true;

        }

        return false;

      }

    });

Links to this page

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

[Commands](https://docs.obsidian.md/Plugins/User+interface/Commands)

checkCallback

Not found

This page does not exist

Interactive graph

On this page

Command.checkCallback property

Example

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/trashSystem
----

trashSystem

===========

    aliases: "FileSystemAdapter.trashSystem"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`trashSystem`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/trashSystem)

FileSystemAdapter.trashSystem() method

--------------------------------------

**Signature:**

    trashSystem(normalizedPath: string): Promise<boolean>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

**Returns:**

`Promise<boolean>`

Links to this page

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

trashSystem

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.trashSystem() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Themes/App+themes/Build+a+theme
----

Build a theme

=============

In this tutorial, you'll learn how to start developing a theme for Obsidian. Themes let you customize how Obsidian looks and feels, using CSS.

What you'll learn

-----------------

After you've completed this tutorial, you'll be able to:

*   Configure an environment for developing Obsidian themes.

*   Use CSS variables to change how Obsidian looks.

*   Create a theme that supports both light and dark color schemes.

Prerequisites

-------------

To complete this tutorial, you'll need:

*   [Git](https://git-scm.com/) installed on your local machine.

*   A code editor, such as [Visual Studio Code](https://code.visualstudio.com/).

Step 1: Download the sample theme

---------------------------------

In this step, you'll download a sample theme to the `themes` directory in your vault's [`.obsidian` directory](https://help.obsidian.md/Advanced+topics/How+Obsidian+stores+data#Per+vault+data) so that Obsidian can find it.

The sample theme you'll use in this tutorial is available in a [GitHub repository](https://github.com/obsidianmd/obsidian-sample-theme).

1.  Open a terminal window and change the project directory to the `themes` directory.

        cd path/to/vault/.obsidian/themes

2.  Clone the sample theme using Git.

        git clone https://github.com/obsidianmd/obsidian-sample-theme.git "Sample Theme"

GitHub template repository

The repository for the sample theme is a GitHub template repository, which means you can create your own repository from the sample theme. To learn how, refer to [Creating a repository from a template](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template#creating-a-repository-from-a-template).

Remember to use the URL to your own repository when cloning the sample theme.

Step 2: Enable the theme

------------------------

1.  In Obsidian, open **Settings**.

2.  In the side menu, select **Appearance**.

3.  Next to **Themes**, select **Sample Theme** from the dropdown list.

You've enabled the sample theme. Next, we'll make some changes to it.

Step 3: Update the manifest

---------------------------

In this step, you'll rename the theme by updating the manifest, `manifest.json`. The manifest contains information about your theme, such as its name and description.

1.  Open `manifest.json` in your code editor.

2.  Change `name` to a human-friendly name, such as `"Disco Lights"`.

3.  Rename the theme directory under `themes` to the same name. The name of the theme directory must exactly match the `name` property in `manifest.json`.

        mv "Sample Theme" "Disco Lights"

4.  Restart Obsidian to load the new changes to the manifest.

Go back to **Settings → Appearance → Themes** and notice that the name of the theme has been changed.

Remember to restart Obsidian whenever you make changes to `manifest.json`.

Step 4: Change the font

-----------------------

Obsidian uses [CSS variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties) to style the user interface. In this step, you'll use a CSS variable to change the font in the editor.

1.  Create a new note, for example "Theme Development".

2.  Enter the following text into the note:

        Themes let you make [Obsidian](https://obsidian.md) look the way **you** want it.

3.  In `theme.css`, add the following:

        body {

          --font-text-theme: Georgia, serif;

        }

The editor displays the note using the font you defined.

Step 5: Change the background color

-----------------------------------

Themes can support both light and dark color schemes. Define your CSS variables under `.theme-dark` or `.theme-light`.

1.  In `theme.css`, add the following:

        .theme-dark {

          --background-primary: #18004F;

          --background-secondary: #220070;

        }

        .theme-light {

          --background-primary: #ECE4FF;

          --background-secondary: #D9C9FF;

        }

2.  In Obsidian, open **Settings**.

3.  Under **Appearance**, toggle **Base color scheme** between "Light" and "Dark".

You'll see that Obsidian picks the colors based on the color scheme you've selected. Try changing the colors to `red`, `green`, or `blue` for a more dramatic change.

Step 6: Change the input hover border color

-------------------------------------------

The `:root` selector is commonly used when you want a variable to be accessible by every child element within the theme. This selector is often filled with Plugin variables.

Here's an example to illustrate its usage:

Example

Let's consider an input field that can be found in various places within Obsidian, such as settings and note content. To define the variables specific to this input field, we can use the `:root` selector.

    :root {

       --input-focus-border-color: Highlight;

       --input-focus-outline: 1px solid Canvas;

       --input-unfocused-border-color: transparent;

       --input-disabled-border-color: transparent;

       --input-hover-border-color: black;

       /* Default Input Variables for Root */

    }

Now, let's modify the hover border color in our CSS:

    :root {

       --input-hover-border-color: red;

    /* Change from Black to Red */

    }

With this update, when you hover over any input field, the border color will change to a bright red.

Tip

When defining styles that should remain the same for both light and dark themes, it is recommended to use the `body` selector.

Only use `.theme-dark` or `.theme-light` selectors if you want the styles to change when switching between light and dark themes.

It's also important to use `:root` with caution and consideration. If your variable can be placed within `body`, `.theme-dark`, or `.theme-light` selectors instead, it is recommended to do so.

Step 7: Discover CSS variables in use

-------------------------------------

Obsidian exposes more than 400 different CSS variables for customizing different parts of the user interface.  

You can find a list of many of these variables under available under [CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Alternatively, you can inspect the app to find the variable that is used to style a certain element.  

In this step, you'll find the CSS variable for changing the ribbon background.

1.  In Obsidian, open the **Developer Tools** by pressing `Ctrl`+`Shift`+`I` (or `Cmd`+`Option`+`I` on macOS).

2.  Open the **Sources** tab.

3.  Under **Page → top → obsidian.md**, select **app.css**.

4.  Scroll to the top of `app.css` to find all available CSS variables.

5.  Search for variables related to the ribbon by pressing `Ctrl`+`F` (or `Cmd`+`F` on macOS) and typing " --ribbon-". Notice the two blank spaces, which return the definitions rather than their uses.

One of the results is `--ribbon-background`, which sounds promising. To be sure, you can also inspect the HTML to find the CSS variable used by a specific element.

1.  In the upper-left corner of the **Developer Tool**, select the icon that looks like a cursor on top of a rectangle.

2.  Select the middle of the ribbon on the left side of the Obsidian window.

In the **Styles** tab, on the right side of the **Developer Tools**, you can now see the CSS that is applied to the element you selected, such as `background-color: var(--ribbon-background)`.

Now that you know `--ribbon-background` controls the ribbon background color, add the following to `theme.css`:

    body {

      --ribbon-background: magenta;

    }

Conclusion

----------

In this tutorial, you've built your first Obsidian theme. You've modified the theme and reloaded it to reflect the changes inside Obsidian. You've also seen how you can find the CSS variables to style specific parts of the user interface.

Links to this page

[About styling](https://docs.obsidian.md/Reference/CSS+variables/About+styling)

[Build a Publish theme](https://docs.obsidian.md/Themes/Obsidian+Publish+themes/Build+a+Publish+theme)

[Home](https://docs.obsidian.md/Home)

Build a theme

Not found

This page does not exist

Interactive graph

On this page

What you'll learn

Prerequisites

Step 1: Download the sample theme

Step 2: Enable the theme

Step 3: Update the manifest

Step 4: Change the font

Step 5: Change the background color

Step 6: Change the input hover border color

Step 7: Discover CSS variables in use

Conclusion

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink
----

stripHeadingForLink

===================

    aliases: "stripHeadingForLink"

    cssclasses: hide-title

[`stripHeadingForLink`](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)

stripHeadingForLink() function

------------------------------

Prepares headings for linking by stripping out some bad combinations of special characters that could break links.

**Signature:**

    export function stripHeadingForLink(heading: string): string;

Parameters

----------

Parameter

Type

Description

`heading`

`string`

**Returns:**

`string`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

stripHeadingForLink

Not found

This page does not exist

Interactive graph

On this page

stripHeadingForLink() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HTMLValue
----

HTMLValue

Not found

This page does not exist

Interactive graph

On this page

HTMLValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/About+user+interface
----

About user interface

====================

This page gives you an overview of how to add or change the Obsidian user interface.

You can see some of the user interface components when you first open Obsidian.

*   [Ribbon actions](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions)

*   [Views](https://docs.obsidian.md/Plugins/User+interface/Views)

*   [Status bar](https://docs.obsidian.md/Plugins/User+interface/Status+bar)

To modify the editor, refer to [Editor](https://docs.obsidian.md/Plugins/Editor/Editor) and [Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions).

About user interface

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue
----

RelativeDateValue

=================

    aliases: "RelativeDateValue"

    cssclasses: hide-title

[`RelativeDateValue`](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue)

RelativeDateValue class

-----------------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a Date. RelativeDateValue behaves the same as a [DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue) however it renders as a time relative to now.

1.10.0

**Signature:**

    export class RelativeDateValue extends DateValue 

**Extends:** [`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

Properties

----------

RelativeDateValue

Not found

This page does not exist

Interactive graph

On this page

RelativeDateValue class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/vault
----

vault

=====

vault

Not found

This page does not exist

Interactive graph

On this page

TAbstractFile.vault property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorSuggest
----

registerEditorSuggest

=====================

    aliases: "Plugin.registerEditorSuggest"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`registerEditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorSuggest)

Plugin.registerEditorSuggest() method

-------------------------------------

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

0.12.7

**Signature:**

    registerEditorSuggest(editorSuggest: EditorSuggest<any>): void;

Parameters

----------

Parameter

Type

Description

`editorSuggest`

[`EditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)`<any>`

**Returns:**

`void`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

registerEditorSuggest

Not found

This page does not exist

Interactive graph

On this page

Plugin.registerEditorSuggest() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setValue
----

setValue

========

    aliases: "AbstractTextComponent.setValue"

    cssclasses: hide-title

[`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setValue)

AbstractTextComponent.setValue() method

---------------------------------------

0.9.7

**Signature:**

    setValue(value: string): this;

Parameters

----------

[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

setValue

Not found

This page does not exist

Interactive graph

On this page

AbstractTextComponent.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setClass
----

setClass

========

    aliases: "ButtonComponent.setClass"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`setClass`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setClass)

ButtonComponent.setClass() method

---------------------------------

0.9.7

**Signature:**

    setClass(cls: string): this;

Parameters

----------

Parameter

Type

Description

`cls`

`string`

**Returns:**

setClass

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.setClass() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/(constructor)
----

(constructor)

=============

    aliases: "ExtraButtonComponent.(constructor)"

    cssclasses: hide-title

[`ExtraButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/\(constructor\))

ExtraButtonComponent.(constructor)

----------------------------------

Constructs a new instance of the `ExtraButtonComponent` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

ExtraButtonComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getViewState
----

getViewState

============

    aliases: "WorkspaceLeaf.getViewState"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`getViewState`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getViewState)

WorkspaceLeaf.getViewState() method

-----------------------------------

**Signature:**

    getViewState(): ViewState;

**Returns:**

[`ViewState`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)

getViewState

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.getViewState() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/getAllTags
----

getAllTags

==========

    aliases: "getAllTags"

    cssclasses: hide-title

[`getAllTags`](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)

getAllTags() function

---------------------

Combines all tags from frontmatter and note content into a single array.

**Signature:**

    export function getAllTags(cache: CachedMetadata): string[] | null;

Parameters

----------

Parameter

Type

Description

`cache`

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

**Returns:**

`string[] | null`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

getAllTags

Not found

This page does not exist

Interactive graph

On this page

getAllTags() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListValue
----

ListValue

=========

    aliases: "ListValue"

    cssclasses: hide-title

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

ListValue class

---------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping an array of Values. Values do not all need to be of the same type.

1.10.0

**Signature:**

    export class ListValue extends NotNullValue 

**Extends:** [`NotNullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(value)`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/\(constructor\))

The array passed in will be modified!

Properties

----------

Property

Modifiers

Type

Description

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/type)

`static`

`string`

1.10.0

Methods

-------

Method

Modifiers

Description

[`concat(other)`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/concat)

[`get(index)`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/get)

[`includes(value)`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/includes)

[`isTruthy()`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/isTruthy)

1.10.0

[`length()`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/length)

[`toString()`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/toString)

1.10.0

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/\(constructor\))

[concat](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/concat)

[get](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/get)

[includes](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/includes)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isTruthy](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/isTruthy)

[length](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/length)

[toString](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/toString)

[type](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/type)

ListValue

Not found

This page does not exist

Interactive graph

On this page

ListValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/copy
----

copy

====

    aliases: "CapacitorAdapter.copy"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`copy`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/copy)

CapacitorAdapter.copy() method

------------------------------

1.7.2

**Signature:**

    copy(normalizedPath: string, normalizedNewPath: string): Promise<void>;

Parameters

----------

`Promise<void>`

Links to this page

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

copy

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.copy() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/lineCount
----

lineCount

=========

    aliases: "Editor.lineCount"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`lineCount`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/lineCount)

Editor.lineCount() method

-------------------------

Gets the number of lines in the document

0.11.11

**Signature:**

    abstract lineCount(): number;

**Returns:**

`number`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

lineCount

Not found

This page does not exist

Interactive graph

On this page

Editor.lineCount() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/state
----

state

=====

    aliases: "HoverPopover.state"

    cssclasses: hide-title

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) › [`state`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/state)

HoverPopover.state property

---------------------------

**Signature:**

    state: PopoverState;

Links to this page

[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)

state

Not found

This page does not exist

Interactive graph

On this page

HoverPopover.state property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/getValue
----

getValue

========

    aliases: "AbstractTextComponent.getValue"

    cssclasses: hide-title

[`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent) › [`getValue`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/getValue)

AbstractTextComponent.getValue() method

---------------------------------------

0.9.7

**Signature:**

    getValue(): string;

**Returns:**

`string`

Links to this page

[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

getValue

Not found

This page does not exist

Interactive graph

On this page

AbstractTextComponent.getValue() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Slider
----

Slider

======

    cssclasses: reference

This page lists CSS variables for slider controls.

CSS variables

-------------

Variable

Description

`--slider-thumb-border-width`

Slider thumb border width

`--slider-thumb-border-color`

Slider thumb border color

`--slider-thumb-height`

Slider thumb height

`--slider-thumb-width`

Slider thumb width

`--slider-thumb-y`

Slider thumb Y position

`--slider-thumb-radius`

Slider thumb radius

`--slider-track-background`

Slider track background color

`--slider-track-height`

Slider track height

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Slider

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/ensureSideLeaf
----

ensureSideLeaf

==============

ensureSideLeaf

Not found

This page does not exist

Interactive graph

On this page

Workspace.ensureSideLeaf() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveViewOfType
----

getActiveViewOfType

===================

    aliases: "Workspace.getActiveViewOfType"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`getActiveViewOfType`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveViewOfType)

Workspace.getActiveViewOfType() method

--------------------------------------

Get the currently active view of a given type.

0.9.16

**Signature:**

    getActiveViewOfType<T extends View>(type: Constructor<T>): T | null;

Parameters

----------

Parameter

Type

Description

`type`

[`Constructor`](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)`<T>`

**Returns:**

`T | null`

Links to this page

[activeLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeLeaf)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

getActiveViewOfType

Not found

This page does not exist

Interactive graph

On this page

Workspace.getActiveViewOfType() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getCache
----

getCache

========

    aliases: "MetadataCache.getCache"

    cssclasses: hide-title

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache) › [`getCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getCache)

MetadataCache.getCache() method

-------------------------------

0.14.5

**Signature:**

    getCache(path: string): CachedMetadata | null;

Parameters

----------

Parameter

Type

Description

`path`

`string`

**Returns:**

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) `| null`

Links to this page

[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)

getCache

Not found

This page does not exist

Interactive graph

On this page

MetadataCache.getCache() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/wordAt
----

wordAt

======

    aliases: "Editor.wordAt"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`wordAt`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/wordAt)

Editor.wordAt() method

----------------------

0.11.11

**Signature:**

    abstract wordAt(pos: EditorPosition): EditorRange | null;

Parameters

----------

Parameter

Type

Description

`pos`

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

**Returns:**

[`EditorRange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange) `| null`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

wordAt

Not found

This page does not exist

Interactive graph

On this page

Editor.wordAt() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Developer+policies
----

Developer policies

==================

Our goal for community plugins and themes is to make it easy for users to safely modify and expand the capabilities of Obsidian, while prioritizing private and offline usage of the app.

All community plugins and themes added to the Obsidian directory must respect the following policies. Every plugin and theme is individually vetted before being included in the directory. Plugins and themes that don't follow these policies will be removed from the directory.

These policies only apply to plugins listed in the official Obsidian directory. These policies do not apply to plugins installed outside of the Obsidian directory, but they are nonetheless good practices to follow.

Also read the [Submission requirements for plugins](https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins)

Policies

--------

### Not allowed

Plugins and themes must not:

*   Obfuscate code to hide its purpose.

*   Insert dynamic ads that are loaded over the internet.

*   Insert static ads outside a plugin’s own interface.

*   Include client-side telemetry.

*   Include a mechanism that updates the plugin.

*   Themes may not load assets from the network. To bundle an asset, see [this guide](https://docs.obsidian.md/Themes/App+themes/Embed+fonts+and+images+in+your+theme).

### Disclosures

The following are only allowed if clearly indicated in your README:

*   Payment is required for full access.

*   An account is required for full access.

*   Network use. Clearly explain which remote services are used and why they're needed.

*   Accessing files outside of Obsidian vaults. Clearly explain why this is needed.

*   Static ads such as banners and pop-up messages within the plugin's own interface.

*   Server-side telemetry. Link to a privacy policy that explains how the data is handled must be included.

*   Close sourced code. This will be handled on a case by case basis.

### Copyright and licensing

All community plugins and themes must follow these requirements:

*   Include a [LICENSE file](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository) and clearly indicate the license of your plugin or theme.

*   Comply with the original licenses of any code your plugin or theme makes use of, including attribution in the README if required.

*   Respect Obsidian's trademark policy. Don't use the "Obsidian" trademark in a way that could confuse users into thinking your plugin or theme is a first-party creation.

Reporting violations

--------------------

If you encounter a plugin or theme that violates the policies above, please let the developer know by opening a GitHub issue in their repository. Kindly check existing issues to see if it’s already reported.

If the developer doesn’t respond after 7 days, [contact the Obsidian team](https://help.obsidian.md/Help+and+support#Report+a+security+issue). For serious violations, you can contact our team immediately.

Removing plugins and themes

---------------------------

In case of a policy violation, we may attempt to contact the developer and provide a reasonable timeframe for them to resolve the problem.

If the problem isn't resolved by then, we'll remove plugins or themes from our directory.

We may immediately remove a plugin or theme if:

*   The plugin or theme appears to be malicious.

*   The developer is uncooperative.

*   This is a repeated violation.

In addition, we may also remove plugins or themes that have become unmaintained or severely broken.

Links to this page

[Embed fonts and images in your theme](https://docs.obsidian.md/Themes/App+themes/Embed+fonts+and+images+in+your+theme)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[Submission requirements for plugins](https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins)

[Submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin)

[Theme guidelines](https://docs.obsidian.md/Themes/App+themes/Theme+guidelines)

Developer policies

Not found

This page does not exist

Interactive graph

On this page

Policies

Not allowed

Disclosures

Copyright and licensing

Reporting violations

Removing plugins and themes

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache
----

EmbedCache

==========

    aliases: "EmbedCache"

    cssclasses: hide-title

[`EmbedCache`](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

EmbedCache interface

--------------------

0.9.7

**Signature:**

    export interface EmbedCache extends ReferenceCache 

**Extends:** [`ReferenceCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

Properties

----------

EmbedCache

Not found

This page does not exist

Interactive graph

On this page

EmbedCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType
----

LivePreviewStateType

====================

    aliases: "LivePreviewStateType"

    cssclasses: hide-title

[`LivePreviewStateType`](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)

LivePreviewStateType interface

------------------------------

The object stored in the view plugin [livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)

**Signature:**

    export interface LivePreviewStateType 

Properties

----------

Property

Modifiers

Type

Description

[`mousedown`](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType/mousedown)

`boolean`

True if the left mouse is currently held down in the editor (for example, when drag-to-select text).

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[mousedown](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType/mousedown)

LivePreviewStateType

Not found

This page does not exist

Interactive graph

On this page

LivePreviewStateType interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache/id
----

id

==

    aliases: "ListItemCache.id"

    cssclasses: hide-title

[`ListItemCache`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache) › [`id`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache/id)

ListItemCache.id property

-------------------------

The block ID of this list item, if defined.

**Signature:**

    id?: string | undefined;

Links to this page

[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)

id

Not found

This page does not exist

Interactive graph

On this page

ListItemCache.id property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openLinkText
----

openLinkText

============

    aliases: "Workspace.openLinkText"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`openLinkText`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openLinkText)

Workspace.openLinkText() method

-------------------------------

0.16.0

**Signature:**

    openLinkText(linktext: string, sourcePath: string, newLeaf?: PaneType | boolean, openViewState?: OpenViewState): Promise<void>;

Parameters

----------

Parameter

Type

Description

`linktext`

`string`

`sourcePath`

`string`

`newLeaf`

[`PaneType`](https://docs.obsidian.md/Reference/TypeScript+API/PaneType) `| boolean`

_(Optional)_

`openViewState`

[`OpenViewState`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)

_(Optional)_

**Returns:**

`Promise<void>`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

openLinkText

Not found

This page does not exist

Interactive graph

On this page

Workspace.openLinkText() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/groupedData
----

groupedData

===========

    aliases: "BasesQueryResult.groupedData"

    cssclasses: hide-title

[`BasesQueryResult`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult) › [`groupedData`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/groupedData)

BasesQueryResult.groupedData property

-------------------------------------

The data to be rendered, grouped according to the groupBy config. If there is no groupBy configured, returns a single group with an empty key.

1.10.0

**Signature:**

    get groupedData(): BasesEntryGroup[];

Links to this page

[BasesQueryResult](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult)

groupedData

Not found

This page does not exist

Interactive graph

On this page

BasesQueryResult.groupedData property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/getScroll
----

getScroll

=========

    aliases: "MarkdownEditView.getScroll"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView) › [`getScroll`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/getScroll)

MarkdownEditView.getScroll() method

-----------------------------------

**Signature:**

    getScroll(): number;

**Returns:**

`number`

Links to this page

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

getScroll

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView.getScroll() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Loc/line
----

line

====

    aliases: "Loc.line"

    cssclasses: hide-title

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc) › [`line`](https://docs.obsidian.md/Reference/TypeScript+API/Loc/line)

Loc.line property

-----------------

Line number. 0-based.

**Signature:**

    line: number;

Links to this page

[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

line

Not found

This page does not exist

Interactive graph

On this page

Loc.line property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/configDir
----

configDir

=========

    aliases: "Vault.configDir"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`configDir`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/configDir)

Vault.configDir property

------------------------

Gets the path to the config folder. This value is typically `.obsidian` but it could be different.

0.11.1

**Signature:**

    configDir: string;

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

configDir

Not found

This page does not exist

Interactive graph

On this page

Vault.configDir property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Properties
----

Properties

==========

    cssclasses: reference

This page lists CSS variables for [Properties](https://help.obsidian.md/Editing+and+formatting/Properties), the YAML metadata editor for frontmatter. See also [Checkbox](https://docs.obsidian.md/Reference/CSS+variables/Components/Checkbox), [Text input](https://docs.obsidian.md/Reference/CSS+variables/Components/Text+input) and [Multi-select](https://docs.obsidian.md/Reference/CSS+variables/Components/Multi-select) for variables related to the input types.

CSS variables

-------------

### Properties container

These variables apply to the entire Properties container.

Variable

Description

`--metadata-background`

Background color

`--metadata-display-editing`

Display in editing mode

`--metadata-display-reading`

Display in reading mode

`--metadata-max-width`

Max width

`--metadata-padding`

Padding

`--metadata-border-color`

Border color

`--metadata-border-radius`

Corner radius

`--metadata-border-width`

Border width

`--metadata-gap`

Gap between properties

### Individual properties

These variables apply to individual properties in the list.

Variable

Description

`--metadata-divider-color`

Color of divider lines between properties

`--metadata-divider-color-hover`

Color of dividers when property (hover)

`--metadata-divider-color-focus`

Color of dividers when property (focused)

`--metadata-divider-width`

Width of divider lines

`--metadata-property-padding`

Property padding

`--metadata-property-radius`

Property corner radius

`--metadata-property-radius-hover`

Property corner radius (hover)

`--metadata-property-radius-focus`

Property corner radius (focus)

`--metadata-property-background`

Property background color

`--metadata-property-background-hover`

Property background color (hover)

`--metadata-property-background-active`

Property background color (active)

`--metadata-label-background-hover`

Property label background color (hover)

`--metadata-label-background-active`

Property label background color (active)

`--metadata-label-font-size`

Property label font size

`--metadata-label-font-weight`

Property label font weight

`--metadata-sidebar-label-font-size`

Property label font size (sidebar)

`--metadata-label-text-color`

Property label text color

`--metadata-label-text-color-hover`

Property label text color (hover)

`--metadata-label-width`

Property label width

`--metadata-input-height`

Property input height

`--metadata-input-text-color`

Property input text color

`--metadata-input-font-size`

Property input font size

`--metadata-sidebar-input-font-size`

Property input font size (sidebar)

`--metadata-input-background`

Property input background color

`--metadata-input-background-hover`

Property input background color (hover)

`--metadata-input-background-active`

Property input background color (active)

Links to this page

[Bases](https://docs.obsidian.md/Reference/CSS+variables/Editor/Bases)

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Multi-select](https://docs.obsidian.md/Reference/CSS+variables/Components/Multi-select)

Properties

Not found

This page does not exist

Interactive graph

On this page

CSS variables

Properties container

Individual properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveFile
----

getActiveFile

=============

    aliases: "Workspace.getActiveFile"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`getActiveFile`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveFile)

Workspace.getActiveFile() method

--------------------------------

Returns the file for the current view if it's a `FileView`. Otherwise, it will return the most recently active file.

**Signature:**

    getActiveFile(): TFile | null;

**Returns:**

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) `| null`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

getActiveFile

Not found

This page does not exist

Interactive graph

On this page

Workspace.getActiveFile() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef
----

MenuPositionDef

===============

    aliases: "MenuPositionDef"

    cssclasses: hide-title

[`MenuPositionDef`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)

MenuPositionDef interface

-------------------------

1.1.0

**Signature:**

    export interface MenuPositionDef 

Properties

----------

Property

Modifiers

Type

Description

[`left?`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/left)

`boolean`

_(Optional)_

[`overlap?`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/overlap)

`boolean`

_(Optional)_

[`width?`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/width)

`number`

_(Optional)_

[`x`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/x)

`number`

[`y`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/y)

`number`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[left](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/left)

[overlap](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/overlap)

[showAtPosition](https://docs.obsidian.md/Reference/TypeScript+API/Menu/showAtPosition)

[width](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/width)

[x](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/x)

[y](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/y)

MenuPositionDef

Not found

This page does not exist

Interactive graph

On this page

MenuPositionDef interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getFullPath
----

getFullPath

===========

    aliases: "CapacitorAdapter.getFullPath"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`getFullPath`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/getFullPath)

CapacitorAdapter.getFullPath() method

-------------------------------------

1.7.2

**Signature:**

    getFullPath(normalizedPath: string): string;

Parameters

----------

getFullPath

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.getFullPath() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Notice/setMessage
----

setMessage

==========

    aliases: "Notice.setMessage"

    cssclasses: hide-title

[`Notice`](https://docs.obsidian.md/Reference/TypeScript+API/Notice) › [`setMessage`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/setMessage)

Notice.setMessage() method

--------------------------

Change the message of this notice.

0.9.7

**Signature:**

    setMessage(message: string | DocumentFragment): this;

Parameters

----------

Parameter

Type

Description

`message`

`string |` `DocumentFragment`

**Returns:**

`this`

Links to this page

[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)

setMessage

Not found

This page does not exist

Interactive graph

On this page

Notice.setMessage() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent
----

SearchComponent

===============

    aliases: "SearchComponent"

    cssclasses: hide-title

[`SearchComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

SearchComponent class

---------------------

0.9.21

**Signature:**

    export class SearchComponent extends AbstractTextComponent<HTMLInputElement> 

**Extends:** [`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)`<``HTMLInputElement``>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/\(constructor\))

Constructs a new instance of the `SearchComponent` class

Properties

----------

Property

Modifiers

Type

Description

[`clearButtonEl`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/clearButtonEl)

`HTMLElement`

0.9.21

[`disabled`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/disabled)

`boolean`

0.10.3

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

[`inputEl`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/inputEl)

`T`

0.9.7

(Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent))

Methods

-------

[`onChanged()`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/onChanged)

[`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

0.9.7

(Inherited from [ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent))

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setDisabled)

1.2.3

(Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent))

[`setPlaceholder(placeholder)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setPlaceholder)

0.9.7

(Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent))

[`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setValue)

0.9.7

(Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent))

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/\(constructor\))

[addSearch](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSearch)

[addSearch](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/addSearch)

[clearButtonEl](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/clearButtonEl)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onChanged](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/onChanged)

SearchComponent

Not found

This page does not exist

Interactive graph

On this page

SearchComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/changes
----

changes

=======

    aliases: "EditorTransaction.changes"

    cssclasses: hide-title

[`EditorTransaction`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction) › [`changes`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/changes)

EditorTransaction.changes property

----------------------------------

**Signature:**

    changes?: EditorChange[];

Links to this page

[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)

changes

Not found

This page does not exist

Interactive graph

On this page

EditorTransaction.changes property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/metadataCache
----

metadataCache

=============

    aliases: "App.metadataCache"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) › [`metadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/App/metadataCache)

App.metadataCache property

--------------------------

0.9.7

**Signature:**

    metadataCache: MetadataCache;

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

metadataCache

Not found

This page does not exist

Interactive graph

On this page

App.metadataCache property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/remove
----

remove

======

    aliases: "DataAdapter.remove"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`remove`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/remove)

DataAdapter.remove() method

---------------------------

Delete a file.

**Signature:**

    remove(normalizedPath: string): Promise<void>;

Parameters

----------

`Promise<void>`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

remove

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.remove() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Window/Status+bar
----

Status bar

==========

    cssclasses: reference

This page lists CSS variables for the [Status bar](https://help.obsidian.md/User+interface/Workspace/Status+bar).

CSS variables

-------------

Variable

Description

`--status-bar-background`

Status bar background color

`--status-bar-border-color`

Status bar border color

`--status-bar-border-width`

Status bar border width

`--status-bar-font-size`

Status bar font size

`--status-bar-text-color`

Status bar text color

`--status-bar-position`

Status bar `position` property

`--status-bar-radius`

Status bar radius

`--status-bar-scroll-padding`

Status bar scroll padding

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Status bar

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DateValue
----

DateValue

=========

    aliases: "DateValue"

    cssclasses: hide-title

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

DateValue class

---------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a Date.

1.10.0

**Signature:**

    export class DateValue extends NotNullValue 

**Extends:** [`NotNullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

Properties

----------

-------

Method

Modifiers

Description

[`dateOnly()`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/dateOnly)

[`isTruthy()`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/isTruthy)

[`parseFromString(input)`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/parseFromString)

`static`

Create new DateValue from an input string.

[`relative()`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/relative)

[`renderTo(el, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Value/renderTo)

Render this value into the provided HTMLElement.

1.10.0

(Inherited from [Value](https://docs.obsidian.md/Reference/TypeScript+API/Value))

[`toString()`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/toString)

1.10.0

Links to this page

[addToDate](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/addToDate)

[dateOnly](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/dateOnly)

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isTruthy](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/isTruthy)

[parseFromString](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/parseFromString)

[relative](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/relative)

[RelativeDateValue](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue)

[toString](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/toString)

DateValue

Not found

This page does not exist

Interactive graph

On this page

DateValue class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal
----

FuzzySuggestModal

=================

    aliases: "FuzzySuggestModal"

    cssclasses: hide-title

[`FuzzySuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

FuzzySuggestModal class

-----------------------

0.9.20

**Signature:**

    export abstract class FuzzySuggestModal<T> extends SuggestModal<FuzzyMatch<T>> 

**Extends:** [`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)`<`[`FuzzyMatch`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)`<T>>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(app)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/\(constructor\))

Constructs a new instance of the `SuggestModal` class

(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal))

Properties

----------

(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal))

[`inputEl`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/inputEl)

`HTMLInputElement`

@0.9.20

(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal))

[`limit`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/limit)

`number`

0.9.20

(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal))

[`modalEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/modalEl)

`HTMLElement`

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

[`resultContainerEl`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/resultContainerEl)

`HTMLElement`

0.9.20

(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal))

-------

Method

Modifiers

Description

[`close()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/close)

Hide the modal.

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

[`getItems()`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItems)

`abstract`

0.9.20

[`getItemText(item)`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItemText)

`abstract`

0.9.20

[`getSuggestions(query)`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getSuggestions)

0.9.20

[`onChooseItem(item, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseItem)

`abstract`

0.9.20

[`onChooseSuggestion(item, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseSuggestion)

0.9.20

[`onClose()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onClose)

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

[`onNoSuggestion()`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onNoSuggestion)

0.9.20

(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal))

[`onOpen()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/onOpen)

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

[`open()`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/open)

Show the modal on the active window. On mobile, the modal will animate on screen.

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

[`renderSuggestion(item, el)`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/renderSuggestion)

0.9.20

[`selectActiveSuggestion(evt)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectActiveSuggestion)

1.7.2

(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal))

[`selectSuggestion(value, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectSuggestion)

0.9.20

(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal))

(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal))

[`setPlaceholder(placeholder)`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setPlaceholder)

0.9.20

(Inherited from [SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal))

[`setTitle(title)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/setTitle)

(Inherited from [Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal))

Links to this page

[getItems](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItems)

[getItemText](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getItemText)

[getSuggestions](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getSuggestions)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)

[onChooseItem](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseItem)

[onChooseSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseSuggestion)

[renderSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/renderSuggestion)

FuzzySuggestModal

Not found

This page does not exist

Interactive graph

On this page

FuzzySuggestModal class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret/to
----

to

==

    aliases: "EditorRangeOrCaret.to"

    cssclasses: hide-title

[`EditorRangeOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret) › [`to`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret/to)

EditorRangeOrCaret.to property

------------------------------

**Signature:**

    to?: EditorPosition;

Links to this page

[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)

[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)

to

Not found

This page does not exist

Interactive graph

On this page

EditorRangeOrCaret.to property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/(constructor)
----

(constructor)

=============

    aliases: "SettingGroup.(constructor)"

    cssclasses: hide-title

[`SettingGroup`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/\(constructor\))

SettingGroup.(constructor)

--------------------------

1.11.0

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[SettingGroup](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

SettingGroup.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/rename
----

rename

======

    aliases: "Vault.rename"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`rename`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/rename)

Vault.rename() method

---------------------

Rename or move a file. To ensure links are automatically renamed, use [FileManager.renameFile()](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/renameFile) instead.

**Signature:**

    rename(file: TAbstractFile, newPath: string): Promise<void>;

Parameters

----------

Parameter

Type

Description

`file`

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

the file to rename/move

`newPath`

`string`

vault absolute path to move file to.

0.9.11

**Returns:**

`Promise<void>`

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

rename

Not found

This page does not exist

Interactive graph

On this page

Vault.rename() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Editor/Editor+extensions
----

Editor extensions

=================

    aliases: editor extension

Editor extensions let you customize the experience of editing notes in Obsidian. This page explains what editor extensions are, and when to use them.

Obsidian uses CodeMirror 6 (CM6) to power the Markdown editor. Just like Obsidian, CM6 has plugins of its own, called _extensions_. In other words, an Obsidian _editor extension_ is the same thing as a _CodeMirror 6 extension_.

The API for building editor extensions is a bit unconventional and requires that you have a basic understanding of its architecture before you get started. This section aims to give you enough context and examples for you to get started. If you want to learn more about building editor extensions, refer to the [CodeMirror 6 documentation](https://codemirror.net/docs/).

Do I need an editor extension?

------------------------------

Building editor extensions can be challenging, so before you start building one, consider whether you really need it.

*   If you want to change how to convert Markdown to HTML in the Reading view, consider building a [Markdown post processor](https://docs.obsidian.md/Plugins/Editor/Markdown+post+processing).

*   If you want to change how the document looks and feels in Live Preview, you need to build an editor extension.

Registering editor extensions

-----------------------------

CodeMirror 6 (CM6) is a powerful engine for editing code using web technologies. At its core, the editor itself has a minimal set of features. Any features you'd expect from a modern editor are available as _extensions_ that you can pick and choose. While Obsidian comes with many of these extensions out-of-the-box, you can also register your own.

To register an editor extension, use [registerEditorExtension()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorExtension) in the `onload` method of your Obsidian plugin:

    onload() {

      this.registerEditorExtension([examplePlugin, exampleField]);

    }

While CM6 supports several types of extensions, two of the most common ones are [View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins) and [State fields](https://docs.obsidian.md/Plugins/Editor/State+fields).  

Links to this page

[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)

[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)

[State management](https://docs.obsidian.md/Plugins/Editor/State+management)

[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)

Editor extensions

Not found

This page does not exist

Interactive graph

On this page

Do I need an editor extension?

Registering editor extensions

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise
----

RequestUrlResponsePromise

=========================

    aliases: "RequestUrlResponsePromise"

    cssclasses: hide-title

[`RequestUrlResponsePromise`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)

RequestUrlResponsePromise interface

-----------------------------------

**Signature:**

    export interface RequestUrlResponsePromise extends Promise<RequestUrlResponse> 

**Extends:** `Promise<`[`RequestUrlResponse`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)`>`

_(Some inherited members may not be shown because they are not represented in the documentation.)_

Properties

----------

Property

Modifiers

Type

Description

[`arrayBuffer`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise/arrayBuffer)

`Promise``<``ArrayBuffer``>`

[`json`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise/json)

`Promise``<any>`

[`text`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise/text)

`Promise``<string>`

Links to this page

[arrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise/arrayBuffer)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[json](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise/json)

[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)

[text](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise/text)

RequestUrlResponsePromise

Not found

This page does not exist

Interactive graph

On this page

RequestUrlResponsePromise interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/append
----

append

======

    aliases: "DataAdapter.append"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`append`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/append)

DataAdapter.append() method

---------------------------

Add text to the end of a plaintext file.

**Signature:**

    append(normalizedPath: string, data: string, options?: DataWriteOptions): Promise<void>;

Parameters

----------

the text to append.

append

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.append() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret
----

EditorRangeOrCaret

==================

    aliases: "EditorRangeOrCaret"

    cssclasses: hide-title

[`EditorRangeOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)

EditorRangeOrCaret interface

----------------------------

0.12.11

**Signature:**

    export interface EditorRangeOrCaret 

Properties

----------

Property

Modifiers

Type

Description

[`from`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret/from)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

[`to?`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret/to)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

_(Optional)_

Links to this page

[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)

[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)

[from](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret/from)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[to](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret/to)

EditorRangeOrCaret

Not found

This page does not exist

Interactive graph

On this page

EditorRangeOrCaret interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TagCache
----

TagCache

Not found

This page does not exist

Interactive graph

On this page

TagCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo/modifiers
----

modifiers

=========

    aliases: "KeymapInfo.modifiers"

    cssclasses: hide-title

[`KeymapInfo`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo) › [`modifiers`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo/modifiers)

KeymapInfo.modifiers property

-----------------------------

0.10.4

**Signature:**

    modifiers: string | null;

Links to this page

[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)

[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)

[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)

modifiers

Not found

This page does not exist

Interactive graph

On this page

KeymapInfo.modifiers property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown
----

htmlToMarkdown

==============

htmlToMarkdown

Not found

This page does not exist

Interactive graph

On this page

htmlToMarkdown() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Stat
----

Stat

====

    aliases: "Stat"

    cssclasses: hide-title

[`Stat`](https://docs.obsidian.md/Reference/TypeScript+API/Stat)

Stat interface

--------------

**Signature:**

    export interface Stat 

Properties

----------

Property

Modifiers

Type

Description

[`ctime`](https://docs.obsidian.md/Reference/TypeScript+API/Stat/ctime)

`number`

Time of creation, represented as a unix timestamp.

[`mtime`](https://docs.obsidian.md/Reference/TypeScript+API/Stat/mtime)

`number`

Time of last modification, represented as a unix timestamp.

[`size`](https://docs.obsidian.md/Reference/TypeScript+API/Stat/size)

`number`

Size on disk, as bytes.

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/Stat/type)

`'file' | 'folder'`

Links to this page

[ctime](https://docs.obsidian.md/Reference/TypeScript+API/Stat/ctime)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[mtime](https://docs.obsidian.md/Reference/TypeScript+API/Stat/mtime)

[size](https://docs.obsidian.md/Reference/TypeScript+API/Stat/size)

[type](https://docs.obsidian.md/Reference/TypeScript+API/Stat/type)

Stat

Not found

This page does not exist

Interactive graph

On this page

Stat interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/isTruthy
----

isTruthy

========

    aliases: "DurationValue.isTruthy"

    cssclasses: hide-title

[`DurationValue`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue) › [`isTruthy`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/isTruthy)

DurationValue.isTruthy() method

-------------------------------

1.10.0

**Signature:**

    isTruthy(): boolean;

**Returns:**

`boolean`

Links to this page

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

isTruthy

Not found

This page does not exist

Interactive graph

On this page

DurationValue.isTruthy() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult/type
----

type

====

    aliases: "FootnoteSubpathResult.type"

    cssclasses: hide-title

[`FootnoteSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult/type)

FootnoteSubpathResult.type property

-----------------------------------

**Signature:**

    type: 'footnote';

Links to this page

[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)

type

Not found

This page does not exist

Interactive graph

On this page

FootnoteSubpathResult.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo
----

EditorScrollInfo

================

    aliases: "EditorScrollInfo"

    cssclasses: hide-title

[`EditorScrollInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)

EditorScrollInfo interface

--------------------------

0.15.0

**Signature:**

    export interface EditorScrollInfo 

Properties

----------

Property

Modifiers

Type

Description

[`clientHeight`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/clientHeight)

`number`

[`clientWidth`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/clientWidth)

`number`

[`height`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/height)

`number`

[`left`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/left)

`number`

[`top`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/top)

`number`

[`width`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/width)

`number`

Links to this page

[clientHeight](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/clientHeight)

[clientWidth](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/clientWidth)

[height](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/height)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[left](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/left)

[top](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/top)

[width](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/width)

EditorScrollInfo

Not found

This page does not exist

Interactive graph

On this page

EditorScrollInfo interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/filters
----

filters

=======

    aliases: "BasesConfigFileView.filters"

    cssclasses: hide-title

[`BasesConfigFileView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView) › [`filters`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/filters)

BasesConfigFileView.filters property

------------------------------------

Additional filters, applied only to this view.

1.10.0

**Signature:**

    filters?: BasesConfigFileFilter;

Links to this page

[BasesConfigFileView](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)

filters

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFileView.filters property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileValue
----

FileValue

=========

FileValue

Not found

This page does not exist

Interactive graph

On this page

FileValue class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('layout-change')
----

on('layout-change')

===================

    aliases: "Workspace.on('layout-change')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('layout-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('layout-change'\))

Workspace.on('layout-change') method

------------------------------------

0.9.20

**Signature:**

    on(name: 'layout-change', callback: () => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'layout-change'`

`callback`

`() => any`

`ctx`

`any`

_(Optional)_

**Returns:**

on('layout-change')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('layout-change') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Vault
----

Vault

=====

Each collection of notes in Obsidian is known as a Vault. A Vault consists of a folder, and any sub-folders within it.

While your plugin can access the file system like any other Node.js application, the [Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault) module aims to make it easier to work with files and folders within a Vault.

Note

The Vault API only allows access to the files visible inside the app, files included in hidden folders can only be accessed using the Adapter API.

The following example recursively prints the paths of all Markdown files in a Vault:

    const files = this.app.vault.getMarkdownFiles()

    for (let i = 0; i < files.length; i++) {

      console.log(files[i].path);

    }

Tip

If you want to list _all_ files, and not just Markdown documents, use [getFiles()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFiles) instead.

Read files

----------

There are two methods for reading the content of a file: [read()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read) and [cachedRead()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead).

*   If you only want to display the content to the user, then use `cachedRead()` to avoid reading the file from disk multiple times.

*   If you want to read the content, change it, and then write it back to disk, then use `read()` to avoid potentially overwriting the file with a stale copy.

Info

The only difference between `cachedRead()` and `read()` is when the file was modified outside of Obsidian just before the plugin reads it. As soon as the file system notifies Obsidian that the file has changed from the outside, `cachedRead()` behaves _exactly_ like `read()`. Similarly, if you save the file within Obsidian, the read cache is flushed as well.

The following example reads the content of all Markdown files in the Vault and returns the average document size:

    import { Notice, Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        this.addRibbonIcon('info', 'Calculate average file length', async () => {

          const fileLength = await this.averageFileLength();

          new Notice(`The average file length is ${fileLength} characters.`);

        });

      }

      async averageFileLength(): Promise<number> {

        const { vault } = this.app;

        const fileContents: string[] = await Promise.all(

          vault.getMarkdownFiles().map((file) => vault.cachedRead(file))

        );

        let totalLength = 0;

        fileContents.forEach((content) => {

          totalLength += content.length;

        });

        return totalLength / fileContents.length;

      }

    }

Modify files

------------

To write text content to an existing file, use [Vault.modify()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify).

    function writeCurrentDate(vault: Vault, file: TFile): Promise<void> {

      return vault.modify(file, `Today is ${new Intl.DateTimeFormat().format(new Date())}.`);

    }

If you want to modify a file based on its current content, use [Vault.process()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process) instead. The second argument is a callback that provides the current file content and returns the modified content.

    // emojify replaces all occurrences of :) with 🙂.

    function emojify(vault: Vault, file: TFile): Promise<string> {

      return vault.process(file, (data) => {

        return data.replace(':)', '🙂');

      })

    }

`Vault.process()` is an abstraction on top of [Vault.read()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read) and [Vault.modify()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify) that guarantees that the file doesn't change between reading the current content and writing the updated content. Always prefer `Vault.process()` over `Vault.read()`/`Vault.modify()` to avoid unintentional loss of data.

### Asynchronous modifications

[Vault.process()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process) only supports synchronous modifications. If you need to modify a file asynchronously:

1.  Read the file using [Vault.cachedRead()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead).

2.  Perform the async operations.

3.  Update the file using [Vault.process()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process).

Remember to check that the `data` in the `process()` callback is the same as the data returned by `cachedRead()`. If they aren't the same, that means that the file was changed by a different process, and you may want to ask the user for confirmation, or try again.

Delete files

------------

There are two methods to delete a file, [delete()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/delete), and [trash()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/trash). Which one you should use depends on if you want to allow the user to change their mind.

*   `delete()` removes the file without a trace.

*   `trash()` moves the file to the trash bin.

When you use `trash()`, you have the option to move the file to the system's trash bin, or to a local `.trash` folder at the root of the user's Vault.

Is it a file or folder?

-----------------------

Some operations return or accept a [TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile) object, which can be either a file or a folder. Always check the concrete type of a `TAbstractFile` before you use it.

    const folderOrFile = this.app.vault.getAbstractFileByPath('folderOrFile');

    if (folderOrFile instanceof TFile) {

      console.log('It\'s a file!');

    } else if (folderOrFile instanceof TFolder) {

      console.log('It\'s a folder!');

    }

Vault

Not found

This page does not exist

Interactive graph

On this page

Read files

Modify files

Asynchronous modifications

Delete files

Is it a file or folder?

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/descEl
----

descEl

======

    aliases: "Setting.descEl"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`descEl`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/descEl)

Setting.descEl property

-----------------------

0.9.7

**Signature:**

    descEl: HTMLElement;

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

descEl

Not found

This page does not exist

Interactive graph

On this page

Setting.descEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/onChange
----

onChange

========

    aliases: "ToggleComponent.onChange"

    cssclasses: hide-title

[`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent) › [`onChange`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/onChange)

ToggleComponent.onChange() method

---------------------------------

0.9.7

**Signature:**

    onChange(callback: (value: boolean) => any): this;

Parameters

----------

Parameter

Type

Description

`callback`

`(value: boolean) => any`

**Returns:**

`this`

Links to this page

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

onChange

Not found

This page does not exist

Interactive graph

On this page

ToggleComponent.onChange() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption
----

BasesFileOption

===============

    aliases: "BasesFileOption"

    cssclasses: hide-title

[`BasesFileOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption)

BasesFileOption interface

-------------------------

A text input allowing selection of a file from in the vault.

1.10.2

**Signature:**

    export interface BasesFileOption extends BasesOption 

**Extends:** [`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

Properties

----------

Property

Modifiers

Type

Description

[`default?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/default)

`string`

_(Optional)_ 1.10.2

[`displayName`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/displayName)

`string`

1.10.0

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`filter?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/filter)

`(file:` [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)`) => boolean`

_(Optional)_ 1.10.2

[`key`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/key)

`string`

1.10.0

(Inherited from [BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption))

[`placeholder?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/placeholder)

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/type)

`'file'`

1.10.2

Links to this page

[BasesOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

[default](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/default)

[filter](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/filter)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[placeholder](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/placeholder)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/type)

BasesFileOption

Not found

This page does not exist

Interactive graph

On this page

BasesFileOption interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField
----

editorEditorField

Not found

This page does not exist

Interactive graph

On this page

editorEditorField variable

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/plugins/guides/bases-view
----

Build a Bases view

==================

    permalink: plugins/guides/bases-view

Bases is a core plugin in Obsidian which display dynamic views of your notes as tables, cards, lists, and more. If you're unfamiliar with Bases, please read about them in the [help docs](https://help.obsidian.md/bases) before getting started.

Plugins can use the Obsidian API to create completely custom views of the data powering Bases. In this guide, you'll walk through extending the sample plugin to create a simplified version of the list view.

What you'll learn

-----------------

After you've completed this guide, you'll be able to:

*   Create a custom [Bases view](https://help.obsidian.md/bases/views).

*   Dynamically render data from note properties in a list format.

Prerequisites

-------------

To complete this guide, you'll need:

*   [Git](https://git-scm.com/) installed on your local machine.

*   A local development environment for [Node.js](https://Node.js.org/en/about/).

*   A code editor, such as [Visual Studio Code](https://code.visualstudio.com/).

Additionally, this guide will build off of the sample plugin created in a previous guide. Follow the [Build a plugin](https://docs.obsidian.md/Plugins/Getting+started/Build+a+plugin) guide before starting this guide.

Before you start

----------------

When developing plugins, one mistake can lead to unintended changes to your vault. To prevent data loss, you should never develop plugins in your main vault. Always use a separate vault dedicated to plugin development.

[Create an empty vault](https://help.obsidian.md/Getting+started/Create+a+vault#Create+empty+vault).

Step 1: Sample plugin setup

---------------------------

In this guide it is assumed that you have a directory on your computer with the sample plugin and that you know how to build your plugin and test it in Obsidian.

For the purposes of this list view plugin, we can remove a large portion of the code from the `MyPlugin` class, leaving just the `onload` function.

    export default class MyPlugin extends Plugin {

      async onload() {

      }

    }

Step 2: Create and register the Bases view

------------------------------------------

Once you have an empty plugin which can be built and loaded into Obsidian, you can begin building a Bases view. Start with a view that statically displays "Hello World".

    export const ExampleViewType = 'example-view';

    export default class MyPlugin extends Plugin {

      async onload() {

        // Tell Obsidian about the new view type that this plugin provides.

        this.registerBasesView(ExampleViewType, {

          name: 'Example',

          icon: 'lucide-graduation-cap',

          factory: (controller, containerEl) => {

            new MyBasesView(controller, containerEl)

          },

        });

      }

    }

    export class MyBasesView extends BasesView {

      readonly type = ExampleViewType;

      private containerEl: HTMLElement;

      constructor(controller: QueryController, parentEl: HTMLElement) {

        super(controller);

        this.containerEl = parentEl.createDiv('bases-example-view-container');

      }

      // onDataUpdated is called by Obsidian whenever there is a configuration

      // or data change in the vault which may affect your view. For now,

      // simply draw "Hello World" to screen.

      public onDataUpdated(): void {

        this.containerEl.empty();

        this.containerEl.createDiv({ text: 'Hello World' });

      }

    }

Build your plugin, reload the app, and create a new Base file. Use the menu on the left of the toolbar, and select the right chevron next to the view in the list. From this menu, change the layout to your newly created "Example" view type.

Step 3: Add configuration

-------------------------

The menu where you changed the view layout can also contain additional configuration options for your view. Add an `options` property in the call to `registerBasesView`.

In your IDE, you can view the definition of `ViewOption` to see the different controls available. Each control will create an entry in the view configuration menu, and user input will automatically be stored in the Bases configuration file.

    export default class MyPlugin extends Plugin {

      async onload() {

        // Tell Obsidian about the new view type that this plugin provides.

        this.registerBasesView(ExampleViewType, {

          name: "Example",

          icon: 'lucide-graduation-cap',

          factory: (controller, containerEl) => {

            new MyBasesView(controller, containerEl)

          },

          options: () => ([            {

              // The type of option. 'text' is a text input.

              type: 'text',

              // The name displayed in the settings menu.

              displayName: 'Property separator',

              // The value saved to the view settings.

              key: 'separator',

              // The default value for this option.

              default: ' - ',

            },

            // ...

        ]),

        });

      }

    }

Step 4: Display list items

--------------------------

The final step in creating a new Bases view is to transform the data from properties into the format you want to display. Obsidian will call the `onDataUpdated` method on your view whenever there are changes to the data. To keep this example simple, the code below clears the container, and rerenders a list entry for every file provided in the data set. It is important, however, to keep in mind the best practices of web development. An unfiltered Base will provide an entry for every file in the vault, so your view should be able to handle thousands of entries, reuse DOM elements, and avoid rendering off screen where appropriate.

    // Add `implements HoverParent` to enable hovering over file links.

    export class MyBasesView extends BasesView implements HoverParent {

      hoverPopover: HoverPopover | null;

      // ...

      public onDataUpdated(): void {

        const { app } = this;

        // Retrieve the user configured order set in the Properties menu.

        const order = this.config.getOrder()

        // Clear entries created by previous iterations. Remember, you should

        // instead attempt element reuse when possible.

        this.containerEl.empty();

        // The property separator configured by the ViewOptions above can be

        // retrieved from the view config. Be sure to set a default value.

        const propertySeparator = String(this.config.get('separator')) || ' - ';

        // this.data contains both grouped and ungrouped versions of the data.

        // If it's appropriate for your view type, use the grouped form.

        for (const group of this.data.groupedData) {

          const groupEl = this.containerEl.createDiv('bases-list-group');

          const groupListEl = groupEl.createEl('ul', 'bases-list-group-list');

          // Each entry in the group is a separate file in the vault matching

          // the Base filters. For list view, each entry is a separate line.

          for (const entry of group.entries) {

            groupListEl.createEl('li', 'bases-list-entry', (el) => {

              let firstProp = true;

              for (const propertyName of order) {

                // Properties in the order can be parsed to determine what type

                // they are: formula, note, or file.

                const { type, name } = parsePropertyId(propertyName);

                // `entry.getValue` returns the evaluated result of the property

                // in the context of this entry.

                const value = entry.getValue(propertyName);

                // Skip rendering properties which have an empty value.

                // The list items for each file may have differing length.

                if (value.isEmpty()) continue;

                if (!firstProp) {

                  el.createSpan({

                    cls: 'bases-list-separator',

                    text: propertySeparator

                  });

                }

                firstProp = false;

                // If the `file.name` property is included in the order, render

                // it specially so that it links to that file.

                if (name === 'name' && type === 'file') {

                  const fileName = String(entry.file.name);

                  const linkEl = el.createEl('a', { text: fileName });

                  linkEl.onClickEvent((evt) => {

                    if (evt.button !== 0 && evt.button !== 1) return;

                    evt.preventDefault();

                    const path = entry.file.path;

                    const modEvent = Keymap.isModEvent(evt);

                    void app.workspace.openLinkText(path, '', modEvent);

                  });

                  linkEl.addEventListener('mouseover', (evt) => {

                    app.workspace.trigger('hover-link', {

                      event: evt,

                      source: 'bases',

                      hoverParent: this,

                      targetEl: linkEl,

                      linktext: entry.file.path,

                    });

                  });

                }

                // For all other properties, just display the value as text.

                // In your view you may also choose to use the `Value.renderTo`

                // API to better support photos, links, icons, etc.

                else {

                  el.createSpan({

                    cls: 'bases-list-entry-property',

                    text: value.toString()

                  });

                }

              }

            });

          }

        }

      }

    }

Rebuild your plugin and reload the app. Your Base should now display a list item for every file in the vault!

Conclusion

----------

Congratulations on building your first Bases view! Bases are a powerful new way to view the data in your vault and we can't wait to see what new views you create.

This website contains the full API reference for Bases. Here are a couple places to get started:

*   [BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

*   [BasesViewConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

*   [BasesEntryGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup)

If you have any questions, please join the [Obsidian Discord server](https://discord.gg/obsidianmd) and ask in the "obsidian-bases" or "plugin-dev" channels.

Build a Bases view

Step 1: Sample plugin setup

Step 2: Create and register the Bases view

Step 3: Add configuration

Step 4: Display list items

Conclusion

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Button
----

Button

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextComponent/(constructor)
----

TextComponent

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent/\(constructor\))

TextFileView

TFile

TFolder

ToggleComponent

TooltipOptions

Value

ValueComponent

Vault

View

ViewState

ViewStateResult

(constructor)

=============

    aliases: "TextComponent.(constructor)"

    cssclasses: hide-title

[`TextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent/\(constructor\))

TextComponent.(constructor)

---------------------------

Constructs a new instance of the `TextComponent` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

TextComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab/(constructor)
----

OpenViewState

Plugin

PluginManifest

PluginSettingTab

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab/\(constructor\))

(constructor)

=============

    aliases: "PluginSettingTab.(constructor)"

    cssclasses: hide-title

[`PluginSettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab/\(constructor\))

PluginSettingTab.(constructor)

------------------------------

Constructs a new instance of the `PluginSettingTab` class

**Signature:**

    constructor(app: App, plugin: Plugin);

Parameters

----------

Parameter

Type

Description

`app`

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

`plugin`

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

Links to this page

[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

PluginSettingTab.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/setInstructions
----

setInstructions

===============

    aliases: "EditorSuggest.setInstructions"

    cssclasses: hide-title

[`EditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest) › [`setInstructions`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/setInstructions)

EditorSuggest.setInstructions() method

--------------------------------------

0.13.0

**Signature:**

    setInstructions(instructions: Instruction[]): void;

Parameters

----------

Parameter

Type

Description

`instructions`

[`Instruction`](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)`[]`

**Returns:**

`void`

Links to this page

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

setInstructions

Not found

This page does not exist

Interactive graph

On this page

EditorSuggest.setInstructions() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getResourcePath
----

getResourcePath

===============

    aliases: "FileSystemAdapter.getResourcePath"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`getResourcePath`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getResourcePath)

FileSystemAdapter.getResourcePath() method

------------------------------------------

**Signature:**

    getResourcePath(normalizedPath: string): string;

Parameters

----------

getResourcePath

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.getResourcePath() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesAllOptions
----

BasesAllOptions

===============

    aliases: "BasesAllOptions"

    cssclasses: hide-title

[`BasesAllOptions`](https://docs.obsidian.md/Reference/TypeScript+API/BasesAllOptions)

BasesAllOptions type

--------------------

BasesOptions and the associated sub-types are configuration-driven settings controls which can be provided by a [BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration) to expose configuration options to users in the view config menu of the Bases toolbar.

1.10.0

**Signature:**

    export type BasesAllOptions = BasesOptions | BasesOptionGroup<BasesOptions>;

**References:** [`BasesOptions`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions), [`BasesOptionGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup)

Links to this page

[BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

BasesAllOptions

Not found

This page does not exist

Interactive graph

On this page

BasesAllOptions type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption
----

BasesTextOption

===============

    aliases: "BasesTextOption"

    cssclasses: hide-title

[`BasesTextOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption)

BasesTextOption interface

-------------------------

1.10.0

**Signature:**

    export interface BasesTextOption extends BasesOption 

**Extends:** [`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

Properties

----------

Property

Modifiers

Type

Description

[`default?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/default)

[`placeholder?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/placeholder)

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/type)

`'text'`

1.10.0

Links to this page

[BasesOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

[default](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/default)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[placeholder](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/placeholder)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/type)

BasesTextOption

Not found

This page does not exist

Interactive graph

On this page

BasesTextOption interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/context
----

context

=======

    aliases: "EditorSuggest.context"

    cssclasses: hide-title

[`EditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest) › [`context`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/context)

EditorSuggest.context property

------------------------------

Current suggestion context, containing the result of `onTrigger`. This will be null any time the EditorSuggest is not supposed to run.

0.12.17

**Signature:**

    context: EditorSuggestContext | null;

Links to this page

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

context

Not found

This page does not exist

Interactive graph

On this page

EditorSuggest.context property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addProgressBar
----

addProgressBar

==============

    aliases: "Setting.addProgressBar"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addProgressBar`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addProgressBar)

Setting.addProgressBar() method

-------------------------------

1.4.4

**Signature:**

    addProgressBar(cb: (component: ProgressBarComponent) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(component:` [`ProgressBarComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)`) => any`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

addProgressBar

Not found

This page does not exist

Interactive graph

On this page

Setting.addProgressBar() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/status
----

status

======

    aliases: "RequestUrlResponse.status"

    cssclasses: hide-title

[`RequestUrlResponse`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse) › [`status`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/status)

RequestUrlResponse.status property

----------------------------------

**Signature:**

    status: number;

Links to this page

[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)

status

Not found

This page does not exist

Interactive graph

On this page

RequestUrlResponse.status property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setPinned
----

setPinned

=========

    aliases: "WorkspaceLeaf.setPinned"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`setPinned`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setPinned)

WorkspaceLeaf.setPinned() method

--------------------------------

**Signature:**

    setPinned(pinned: boolean): void;

Parameters

----------

Parameter

Type

Description

`pinned`

`boolean`

**Returns:**

`void`

Links to this page

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

setPinned

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.setPinned() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/x
----

x

=

    aliases: "WorkspaceWindowInitData.x"

    cssclasses: hide-title

[`WorkspaceWindowInitData`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData) › [`x`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/x)

WorkspaceWindowInitData.x property

----------------------------------

**Signature:**

    x?: number;

Links to this page

[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)

x

Not found

This page does not exist

Interactive graph

On this page

WorkspaceWindowInitData.x property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource
----

HoverLinkSource

===============

    aliases: "HoverLinkSource"

    cssclasses: hide-title

[`HoverLinkSource`](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)

HoverLinkSource interface

-------------------------

**Signature:**

    export interface HoverLinkSource 

Properties

----------

Property

Modifiers

Type

Description

[`defaultMod`](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource/defaultMod)

`boolean`

Whether the `hover-link` event requires the 'Mod' key to be pressed to trigger.

[`display`](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource/display)

`string`

Text displayed in the 'Page preview' plugin settings. It should match the plugin's display name.

Links to this page

[defaultMod](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource/defaultMod)

[display](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource/display)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[registerHoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerHoverLinkSource)

HoverLinkSource

Not found

This page does not exist

Interactive graph

On this page

HoverLinkSource interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addTextArea
----

addTextArea

===========

    aliases: "Setting.addTextArea"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addTextArea`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addTextArea)

Setting.addTextArea() method

----------------------------

0.9.7

**Signature:**

    addTextArea(cb: (component: TextAreaComponent) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(component:` [`TextAreaComponent`](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)`) => any`

**Returns:**

`this`

addTextArea

Not found

This page does not exist

Interactive graph

On this page

Setting.addTextArea() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Editor/View+plugins
----

View plugins

============

A view plugin is an [editor extension](https://docs.obsidian.md/Plugins/Editor/Editor+extensions) that gives you access to the editor [Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport).

Note

This page aims to distill the official CodeMirror 6 documentation for Obsidian plugin developers. For more information on state management, refer to [Affecting the View](https://codemirror.net/docs/guide/#affecting-the-view).

Prerequisites

-------------

*   Basic understanding of the [Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport).

Creating a view plugin

----------------------

View plugins are editor extensions that run _after_ the viewport has been recomputed. While this means that they can access the viewport, it also means that a view plugin can't make any changes that would impact the viewport. For example, by inserting blocks or line breaks into the document.

Tip

If you want to make changes that impact the vertical layout of the editor, by for example inserting blocks and line breaks, you need to use a [state field](https://docs.obsidian.md/Plugins/Editor/State+fields).

To create a view plugin, create a class that implements [PluginValue](https://codemirror.net/docs/ref/#view.PluginValue) and pass it to the [ViewPlugin.fromClass()](https://codemirror.net/docs/ref/#view.ViewPlugin%5EfromClass) function.

    import {

      ViewUpdate,

      PluginValue,

      EditorView,

      ViewPlugin,

    } from '@codemirror/view';

    class ExamplePlugin implements PluginValue {

      constructor(view: EditorView) {

        // ...

      }

      update(update: ViewUpdate) {

        // ...

      }

      destroy() {

        // ...

      }

    }

    export const examplePlugin = ViewPlugin.fromClass(ExamplePlugin);

The three methods of the view plugin control its lifecycle:

*   `constructor()` initializes the plugin.

*   `update()` updates your plugin when something has changed, for example when the user entered or selected some text.

*   `destroy()` cleans up after the plugin.

While the view plugin in the example works, it doesn't do much. If you want to better understand what causes the plugin to update, you can add a `console.log(update);` line to the `update()` method to print all updates to the console.

Next steps

----------

Provide [Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations) from your view plugin to change how to display the document.

Links to this page

[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)

[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)

[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)

[Viewport](https://docs.obsidian.md/Plugins/Editor/Viewport)

View plugins

Not found

This page does not exist

Interactive graph

On this page

Prerequisites

Creating a view plugin

Next steps

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/appendBinary
----

appendBinary

============

    aliases: "CapacitorAdapter.appendBinary"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`appendBinary`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/appendBinary)

CapacitorAdapter.appendBinary() method

--------------------------------------

1.12.3

**Signature:**

    appendBinary(normalizedPath: string, data: ArrayBuffer, options?: DataWriteOptions): Promise<void>;

Parameters

----------

appendBinary

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.appendBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseSuggestion
----

onChooseSuggestion

Not found

This page does not exist

Interactive graph

On this page

FuzzySuggestModal.onChooseSuggestion() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setPlaceholder
----

setPlaceholder

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.setPlaceholder() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/createCodeBlockPostProcessor
----

createCodeBlockPostProcessor

============================

    aliases: "MarkdownPreviewRenderer.createCodeBlockPostProcessor"

    cssclasses: hide-title

[`MarkdownPreviewRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer) › [`createCodeBlockPostProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/createCodeBlockPostProcessor)

MarkdownPreviewRenderer.createCodeBlockPostProcessor() method

-------------------------------------------------------------

0.12.11

**Signature:**

    static createCodeBlockPostProcessor(language: string, handler: (source: string, el: HTMLElement, ctx: MarkdownPostProcessorContext) => Promise<any> | void): (el: HTMLElement, ctx: MarkdownPostProcessorContext) => void;

Parameters

----------

**Returns:**

`(el: ``HTMLElement``, ctx:` [`MarkdownPostProcessorContext`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)`) => void`

Links to this page

[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)

createCodeBlockPostProcessor

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewRenderer.createCodeBlockPostProcessor() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/throw
----

throw

=====

throw

Not found

This page does not exist

Interactive graph

On this page

RequestUrlParam.throw property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex
----

arrayBufferToHex

================

    aliases: "arrayBufferToHex"

    cssclasses: hide-title

[`arrayBufferToHex`](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)

arrayBufferToHex() function

---------------------------

**Signature:**

    export function arrayBufferToHex(data: ArrayBuffer): string;

Parameters

----------

Parameter

Type

Description

`data`

`ArrayBuffer`

**Returns:**

`string`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

arrayBufferToHex

Not found

This page does not exist

Interactive graph

On this page

arrayBufferToHex() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getOrder
----

getOrder

========

    aliases: "BasesViewConfig.getOrder"

    cssclasses: hide-title

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig) › [`getOrder`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getOrder)

BasesViewConfig.getOrder() method

---------------------------------

Ordered list of properties to display in this view. In a table, these can be interpreted as the list of visible columns. Order is configured by the user through the properties toolbar menu.

1.10.0

**Signature:**

    getOrder(): BasesPropertyId[];

**Returns:**

[`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)`[]`

Links to this page

[BasesViewConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

getOrder

Not found

This page does not exist

Interactive graph

On this page

BasesViewConfig.getOrder() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/filter
----

filter

======

    aliases: "BasesFileOption.filter"

    cssclasses: hide-title

[`BasesFileOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption) › [`filter`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/filter)

BasesFileOption.filter property

-------------------------------

1.10.2

**Signature:**

    filter?: (file: TFile) => boolean;

Links to this page

[BasesFileOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption)

filter

Not found

This page does not exist

Interactive graph

On this page

BasesFileOption.filter property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/selectEl
----

selectEl

========

    aliases: "DropdownComponent.selectEl"

    cssclasses: hide-title

[`DropdownComponent`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent) › [`selectEl`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/selectEl)

DropdownComponent.selectEl property

-----------------------------------

0.9.7

**Signature:**

    selectEl: HTMLSelectElement;

Links to this page

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

selectEl

Not found

This page does not exist

Interactive graph

On this page

DropdownComponent.selectEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/remove
----

remove

======

    aliases: "FileSystemAdapter.remove"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`remove`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/remove)

FileSystemAdapter.remove() method

---------------------------------

**Signature:**

    remove(normalizedPath: string): Promise<void>;

Parameters

----------

remove

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.remove() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroup
----

setGroup

========

    aliases: "WorkspaceLeaf.setGroup"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`setGroup`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroup)

WorkspaceLeaf.setGroup() method

-------------------------------

**Signature:**

    setGroup(group: string): void;

Parameters

----------

Parameter

Type

Description

`group`

`string`

**Returns:**

`void`

Links to this page

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

setGroup

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.setGroup() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/loadData
----

loadData

========

    aliases: "Plugin.loadData"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`loadData`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/loadData)

Plugin.loadData() method

------------------------

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

**Signature:**

    loadData(): Promise<any>;

**Returns:**

`Promise<any>`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)

loadData

Not found

This page does not exist

Interactive graph

On this page

Plugin.loadData() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/trashLocal
----

trashLocal

==========

    aliases: "FileSystemAdapter.trashLocal"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`trashLocal`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/trashLocal)

FileSystemAdapter.trashLocal() method

-------------------------------------

**Signature:**

    trashLocal(normalizedPath: string): Promise<void>;

Parameters

----------

trashLocal

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.trashLocal() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Getting+started/Anatomy+of+a+plugin
----

Anatomy of a plugin

===================

The [Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) class defines the lifecycle of a plugin and exposes the operations available to all plugins:

    import { Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        // Configure resources needed by the plugin.

      }

      async onunload() {

        // Release any resources configured by the plugin.

      }

    }

Plugin lifecycle

----------------

[onload()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onload) runs whenever the user starts using the plugin in Obsidian. This is where you'll configure most of the plugin's capabilities.

[onunload()](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload) runs when the plugin is disabled. Any resources that your plugin is using must be released here to avoid affecting the performance of Obsidian after your plugin has been disabled.

To better understand when these methods are called, you can print a message to the console whenever the plugin loads and unloads. The console is a valuable tool that lets developers monitor the status of their code.

To view the console:

1.  Toggle the Developer Tools by pressing Ctrl+Shift+I in Windows and Linux, or Cmd-Option-I on macOS.

2.  Click on the Console tab in the Developer Tools window.

    import { Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        console.log('loading plugin')

      }

      async onunload() {

        console.log('unloading plugin')

      }

    }

Anatomy of a plugin

Not found

This page does not exist

Interactive graph

On this page

Plugin lifecycle

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig
----

BasesViewConfig

===============

    aliases: "BasesViewConfig"

    cssclasses: hide-title

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

BasesViewConfig class

---------------------

The in-memory representation of a single entry in the "views" section of a Bases file. Contains settings and configuration options set by the user from the toolbar menus and view options.

1.10.0

**Signature:**

    export class BasesViewConfig 

Properties

----------

Property

Modifiers

Type

Description

[`name`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/name)

`string`

User-friendly name for this view.

1.10.0

Methods

-------

Method

Modifiers

Description

[`get(key)`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/get)

Retrieve the user-configured value of options exposed in `BasesViewRegistration.options`.

1.10.0

[`getAsPropertyId(key)`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getAsPropertyId)

Retrieve a user-configured value from the config, converting it to a BasesPropertyId. Returns null if the requested key is not present in the config, or if the value is invalid.

1.10.0

[`getDisplayName(propertyId)`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getDisplayName)

Retrieve a friendly name for the provided property. If the property has been renamed by the user in the Base config, that value is returned. File properties may have a default name that is returned, otherwise the name with the property type prefix removed is returned.

1.10.0

[`getEvaluatedFormula(view, key)`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getEvaluatedFormula)

Retrieve a user-configured value from the config, evaluating it as a formula in the context of the current Base. For embedded bases, or bases in the sidebar, this means evaluating the formula against the currently active file.

[`getOrder()`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getOrder)

Ordered list of properties to display in this view. In a table, these can be interpreted as the list of visible columns. Order is configured by the user through the properties toolbar menu.

1.10.0

[`getSort()`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getSort)

Retrieve the sorting config for this view. Sort is configured by the user through the sort toolbar menu. Removes invalid sort configs. If no (valid) sort config, returns an empty array. Does not validate that the properties exists.

Note that data from BasesQueryResult will be presorted.

1.10.0

[`set(key, value)`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/set)

Store configuration data for the view. Views should prefer `BasesViewRegistration.options` to allow users to configure options where appropriate.

1.10.0

Links to this page

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

[BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration)

[Build a Bases view](https://docs.obsidian.md/plugins/guides/bases-view)

[get](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/get)

[getAsPropertyId](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getAsPropertyId)

[getDisplayName](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getDisplayName)

[getEvaluatedFormula](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getEvaluatedFormula)

[getOrder](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getOrder)

[getSort](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getSort)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[name](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/name)

[set](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/set)

BasesViewConfig

Not found

This page does not exist

Interactive graph

On this page

BasesViewConfig class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Scope/unregister
----

unregister

==========

    aliases: "Scope.unregister"

    cssclasses: hide-title

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) › [`unregister`](https://docs.obsidian.md/Reference/TypeScript+API/Scope/unregister)

Scope.unregister() method

-------------------------

Remove an existing keymap event handler.

**Signature:**

    unregister(handler: KeymapEventHandler): void;

Parameters

----------

Parameter

Type

Description

`handler`

[`KeymapEventHandler`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)

**Returns:**

`void`

Links to this page

[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)

unregister

Not found

This page does not exist

Interactive graph

On this page

Scope.unregister() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/NullValue
----

NullValue

=========

    aliases: "NullValue"

    cssclasses: hide-title

[`NullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue)

NullValue class

---------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) which represents null. NullValue is a singleton and `NullValue.value` should be used instead of calling the constructor.

1.10.0

**Signature:**

    export class NullValue extends Value 

**Extends:** [`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value)

Properties

----------

(Inherited from [Value](https://docs.obsidian.md/Reference/TypeScript+API/Value))

[`value`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue/value)

`static`

[`NullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue)

1.10.0

Methods

-------

[`isTruthy()`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue/isTruthy)

[`toString()`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue/toString)

1.10.0

Links to this page

[BasesEntryGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup)

[get](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/get)

[get](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/get)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isTruthy](https://docs.obsidian.md/Reference/TypeScript+API/NullValue/isTruthy)

[toString](https://docs.obsidian.md/Reference/TypeScript+API/NullValue/toString)

[value](https://docs.obsidian.md/Reference/TypeScript+API/NullValue/value)

NullValue

Not found

This page does not exist

Interactive graph

On this page

NullValue class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/author
----

author

======

    aliases: "PluginManifest.author"

    cssclasses: hide-title

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest) › [`author`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/author)

PluginManifest.author property

------------------------------

The author's name.

**Signature:**

    author: string;

Links to this page

[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

author

Not found

This page does not exist

Interactive graph

On this page

PluginManifest.author property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer/win
----

win

===

    aliases: "WorkspaceContainer.win"

    cssclasses: hide-title

[`WorkspaceContainer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer) › [`win`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer/win)

WorkspaceContainer.win property

-------------------------------

0.15.4

**Signature:**

    abstract win: Window;

Links to this page

[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

win

Not found

This page does not exist

Interactive graph

On this page

WorkspaceContainer.win property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/placeholder
----

placeholder

===========

    aliases: "BasesTextOption.placeholder"

    cssclasses: hide-title

[`BasesTextOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption) › [`placeholder`](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/placeholder)

BasesTextOption.placeholder property

------------------------------------

1.10.0

**Signature:**

    placeholder?: string;

Links to this page

[BasesTextOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption)

placeholder

Not found

This page does not exist

Interactive graph

On this page

BasesTextOption.placeholder property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/togglePinned
----

togglePinned

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.togglePinned() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid
----

loadMermaid

===========

    aliases: "loadMermaid"

    cssclasses: hide-title

[`loadMermaid`](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)

loadMermaid() function

----------------------

Load Mermaid and return a promise to the global mermaid object. Can also use `mermaid` after this promise resolves to get the same reference.

**Signature:**

    export function loadMermaid(): Promise<any>;

**Returns:**

`Promise<any>`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

loadMermaid

Not found

This page does not exist

Interactive graph

On this page

loadMermaid() function

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf_1
----

setActiveLeaf\_1

================

    aliases: "Workspace.setActiveLeaf_1"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`setActiveLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf_1)

Workspace.setActiveLeaf() method

--------------------------------

> Warning: This API is now obsolete.

> 

> *   function signature changed. Use other form instead

**Signature:**

    setActiveLeaf(leaf: WorkspaceLeaf, pushHistory: boolean, focus: boolean): void;

Parameters

----------

Parameter

Type

Description

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

`pushHistory`

`boolean`

`focus`

`boolean`

**Returns:**

`void`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

setActiveLeaf\_1

----
url: https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext/vkey
----

[vkey](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext/vkey)

KeymapEventHandler

vkey

====

    aliases: "KeymapContext.vkey"

    cssclasses: hide-title

[`KeymapContext`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext) › [`vkey`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext/vkey)

KeymapContext.vkey property

---------------------------

Interpreted virtual key.

**Signature:**

    vkey: string;

Links to this page

[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)

vkey

Not found

This page does not exist

Interactive graph

On this page

KeymapContext.vkey property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/method
----

method

======

    aliases: "RequestUrlParam.method"

    cssclasses: hide-title

[`RequestUrlParam`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam) › [`method`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/method)

RequestUrlParam.method property

-------------------------------

**Signature:**

    method?: string;

Links to this page

[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)

method

Not found

This page does not exist

Interactive graph

On this page

RequestUrlParam.method property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Getting+started/Build+a+plugin
----

Build a plugin

Step 1: Download the sample plugin

Step 2: Build the plugin

Step 3: Enable the plugin

Step 4: Update the plugin manifest

Step 5: Update the source code

Conclusion

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/parent
----

parent

======

parent

Not found

This page does not exist

Interactive graph

On this page

TAbstractFile.parent property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesView/data
----

data

====

    aliases: "BasesView.data"

    cssclasses: hide-title

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView) › [`data`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/data)

BasesView.data property

-----------------------

The most recent output from executing the bases query, applying filters, and evaluating formulas. This object will be replaced with a new result set when changes to the vault or Bases config occur, so views should not keep a reference to it. Also note the contained BasesEntry objects will be recreated.

1.10.0

**Signature:**

    data: BasesQueryResult;

Links to this page

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

data

Not found

This page does not exist

Interactive graph

On this page

BasesView.data property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult/current
----

current

=======

    aliases: "HeadingSubpathResult.current"

    cssclasses: hide-title

[`HeadingSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult) › [`current`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult/current)

HeadingSubpathResult.current property

-------------------------------------

0.9.16

**Signature:**

    current: HeadingCache;

Links to this page

[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)

current

Not found

This page does not exist

Interactive graph

On this page

HeadingSubpathResult.current property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setSampleEl
----

setSampleEl

===========

    aliases: "MomentFormatComponent.setSampleEl"

    cssclasses: hide-title

[`MomentFormatComponent`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent) › [`setSampleEl`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setSampleEl)

MomentFormatComponent.setSampleEl() method

------------------------------------------

0.9.7

**Signature:**

    setSampleEl(sampleEl: HTMLElement): this;

Parameters

----------

Parameter

Type

Description

`sampleEl`

`HTMLElement`

**Returns:**

`this`

Links to this page

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

setSampleEl

Not found

This page does not exist

Interactive graph

On this page

MomentFormatComponent.setSampleEl() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getDisplayText
----

getDisplayText

==============

getDisplayText

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.getDisplayText() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValueHsl
----

setValueHsl

===========

    aliases: "ColorComponent.setValueHsl"

    cssclasses: hide-title

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent) › [`setValueHsl`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValueHsl)

ColorComponent.setValueHsl() method

-----------------------------------

1.0.0

**Signature:**

    setValueHsl(hsl: HSL): this;

Parameters

----------

Parameter

Type

Description

`hsl`

[`HSL`](https://docs.obsidian.md/Reference/TypeScript+API/HSL)

**Returns:**

`this`

Links to this page

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

setValueHsl

Not found

This page does not exist

Interactive graph

On this page

ColorComponent.setValueHsl() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/recurseChildren
----

recurseChildren

===============

recurseChildren

Not found

This page does not exist

Interactive graph

On this page

Vault.recurseChildren() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Editor/State+management
----

State management

================

This page aims to give an introduction to state management for [editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions).

Note

This page aims to distill the official CodeMirror 6 documentation for Obsidian plugin developers. For more detailed information on state management, refer to [State and Updates](https://codemirror.net/docs/guide/#state-and-updates).

State changes

-------------

In most applications, you would update state by assigning a new value to a property or variable. As a consequence, the old value is lost forever.

    let note = '';

    note = 'Heading'

    note = '# Heading'

    note = '## Heading' // How to undo this?

To support features like undoing and redoing changes to a user's workspace, applications like Obsidian instead keep a history of all changes that have been made. To undo a change, you can then go back to a point in time before the change was made.

State

0

1

Heading

2

\# Heading

3

\## Heading

In TypeScript, you'd then end up with something like this:

    const changes: ChangeSpec[] = [];

    changes.push({ from: 0, insert: 'Heading' });

    changes.push({ from: 0, insert: '# ' });

    changes.push({ from: 0, insert: '#' });

Transactions

------------

Imagine a feature where you select some text and press the double quote, `"` to surround the selection with quotes on both sides. One way to implement the feature would be to:

1.  Insert `"` at the start of the selection.

2.  Insert `"` at the end of the selection.

Notice that the implementation consists of _two_ state changes. If you added these to the undo history, the user would need to undo _twice_, once for each double quote. To avoid this, what if you could group these changes so that they appear as one?

For editor extensions, a group of state changes that happen together is called a _transaction_.

If you combine what you've learned so far—and if you allow transactions that contain only a single state change—then you can consider state as a _history of transactions_.

Bringing it all together to implement the surround feature from before in an editor extension, here's how you'd add, or _dispatch_, a transaction to the editor view:

    view.dispatch({

      changes: [        { from: selectionStart, insert: `"` },

        { from: selectionEnd, insert: `"` }

      ]

    });

Next steps

----------

On this page, you've learned about modeling state as a series of state changes, and how to group them into transactions.

To learn how to manage custom state in your editor, refer to [State fields](https://docs.obsidian.md/Plugins/Editor/State+fields).

Links to this page

[State fields](https://docs.obsidian.md/Plugins/Editor/State+fields)

State management

Not found

This page does not exist

Interactive graph

On this page

State changes

Transactions

Next steps

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setIcon
----

setIcon

=======

    aliases: "MenuItem.setIcon"

    cssclasses: hide-title

[`MenuItem`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem) › [`setIcon`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setIcon)

MenuItem.setIcon() method

-------------------------

**Signature:**

    setIcon(icon: IconName | null): this;

Parameters

----------

Parameter

Type

Description

`icon`

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName) `| null`

ID of the icon, can use any icon loaded with [addIcon()](https://docs.obsidian.md/Reference/TypeScript+API/addIcon) or from the built-in lucide library.

**Returns:**

`this`

Links to this page

[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)

setIcon

Not found

This page does not exist

Interactive graph

On this page

MenuItem.setIcon() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/close
----

close

Not found

This page does not exist

Interactive graph

On this page

PopoverSuggest.close() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setDisabled
----

setDisabled

===========

    aliases: "ColorComponent.setDisabled"

    cssclasses: hide-title

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent) › [`setDisabled`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setDisabled)

ColorComponent.setDisabled() method

-----------------------------------

1.2.3

**Signature:**

    setDisabled(disabled: boolean): this;

Parameters

----------

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

setDisabled

Not found

This page does not exist

Interactive graph

On this page

ColorComponent.setDisabled() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret/anchor
----

anchor

======

    aliases: "EditorSelectionOrCaret.anchor"

    cssclasses: hide-title

[`EditorSelectionOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret) › [`anchor`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret/anchor)

EditorSelectionOrCaret.anchor property

--------------------------------------

**Signature:**

    anchor: EditorPosition;

Links to this page

[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)

anchor

Not found

This page does not exist

Interactive graph

On this page

EditorSelectionOrCaret.anchor property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/collapse
----

collapse

========

    aliases: "WorkspaceSidedock.collapse"

    cssclasses: hide-title

[`WorkspaceSidedock`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock) › [`collapse`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/collapse)

WorkspaceSidedock.collapse() method

-----------------------------------

0.12.11

**Signature:**

    collapse(): void;

**Returns:**

`void`

Links to this page

[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)

collapse

Not found

This page does not exist

Interactive graph

On this page

WorkspaceSidedock.collapse() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PaneType
----

PaneType

========

    aliases: "PaneType"

    cssclasses: hide-title

[`PaneType`](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)

PaneType type

-------------

**Signature:**

    export type PaneType = 'tab' | 'split' | 'window';

Links to this page

[duplicateLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf_1)

[getLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeaf_1)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isModEvent](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModEvent)

[openLinkText](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openLinkText)

PaneType

Not found

This page does not exist

Interactive graph

On this page

PaneType type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/renderResults
----

renderResults

=============

    aliases: "renderResults"

    cssclasses: hide-title

[`renderResults`](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)

renderResults() function

------------------------

**Signature:**

    export function renderResults(el: HTMLElement, text: string, result: SearchResult, offset?: number): void;

Parameters

----------

Parameter

Type

Description

`el`

`HTMLElement`

`text`

`string`

`result`

[`SearchResult`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)

`offset`

`number`

_(Optional)_

**Returns:**

`void`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[Modals](https://docs.obsidian.md/Plugins/User+interface/Modals)

renderResults

Not found

This page does not exist

Interactive graph

On this page

renderResults() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/app
----

app

===

    aliases: "MarkdownRenderer.app"

    cssclasses: hide-title

[`MarkdownRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer) › [`app`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/app)

MarkdownRenderer.app property

-----------------------------

**Signature:**

    app: App;

Links to this page

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

[render](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/render)

app

Not found

This page does not exist

Interactive graph

On this page

MarkdownRenderer.app property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/getLine
----

getLine

=======

    aliases: "Editor.getLine"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`getLine`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getLine)

Editor.getLine() method

-----------------------

Get the text at line (0-indexed)

0.11.11

**Signature:**

    abstract getLine(line: number): string;

Parameters

----------

Parameter

Type

Description

`line`

`number`

**Returns:**

`string`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

getLine

Not found

This page does not exist

Interactive graph

On this page

Editor.getLine() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BlockCache
----

BlockCache

==========

BlockCache

Not found

This page does not exist

Interactive graph

On this page

BlockCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setLimits
----

setLimits

=========

    aliases: "SliderComponent.setLimits"

    cssclasses: hide-title

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent) › [`setLimits`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setLimits)

SliderComponent.setLimits() method

----------------------------------

0.9.7

**Signature:**

    setLimits(min: number | null, max: number | null, step: number | 'any'): this;

Parameters

----------

Parameter

Type

Description

`min`

`number | null`

`max`

`number | null`

`step`

`number | 'any'`

**Returns:**

`this`

Links to this page

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

setLimits

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.setLimits() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/onOpen
----

onOpen

======

    aliases: "View.onOpen"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`onOpen`](https://docs.obsidian.md/Reference/TypeScript+API/View/onOpen)

View.onOpen() method

--------------------

0.9.7

**Signature:**

    protected onOpen(): Promise<void>;

onOpen

Not found

This page does not exist

Interactive graph

On this page

View.onOpen() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CacheItem/position
----

[](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)

CacheItem

[position](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem/position)

position

========

    aliases: "CacheItem.position"

    cssclasses: hide-title

[`CacheItem`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem) › [`position`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem/position)

CacheItem.position property

---------------------------

Position of this item in the note.

**Signature:**

    position: Pos;

Links to this page

[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)

[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)

[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)

[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)

[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)

[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)

[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)

[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)

position

Not found

This page does not exist

Interactive graph

On this page

CacheItem.position property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command/mobileOnly
----

mobileOnly

==========

    aliases: "Command.mobileOnly"

    cssclasses: hide-title

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command) › [`mobileOnly`](https://docs.obsidian.md/Reference/TypeScript+API/Command/mobileOnly)

Command.mobileOnly property

---------------------------

**Signature:**

    mobileOnly?: boolean;

Links to this page

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

mobileOnly

Not found

This page does not exist

Interactive graph

On this page

Command.mobileOnly property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/id
----

id

==

    aliases: "PluginManifest.id"

    cssclasses: hide-title

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest) › [`id`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/id)

PluginManifest.id property

--------------------------

The plugin ID.

**Signature:**

    id: string;

Links to this page

[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

id

Not found

This page does not exist

Interactive graph

On this page

PluginManifest.id property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/gap
----

gap

===

gap

Not found

This page does not exist

Interactive graph

On this page

TooltipOptions.gap property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/hoverEl
----

hoverEl

=======

    aliases: "HoverPopover.hoverEl"

    cssclasses: hide-title

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) › [`hoverEl`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/hoverEl)

HoverPopover.hoverEl property

-----------------------------

**Signature:**

    hoverEl: HTMLElement;

Links to this page

[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)

hoverEl

Not found

This page does not exist

Interactive graph

On this page

HoverPopover.hoverEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache/level
----

level

=====

    aliases: "HeadingCache.level"

    cssclasses: hide-title

[`HeadingCache`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache) › [`level`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache/level)

HeadingCache.level property

---------------------------

Number between 1 and 6.

**Signature:**

    level: number;

Links to this page

[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)

level

Not found

This page does not exist

Interactive graph

On this page

HeadingCache.level property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow/win
----

win

===

    aliases: "WorkspaceWindow.win"

    cssclasses: hide-title

[`WorkspaceWindow`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow) › [`win`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow/win)

WorkspaceWindow.win property

----------------------------

**Signature:**

    win: Window;

Links to this page

[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

win

Not found

This page does not exist

Interactive graph

On this page

WorkspaceWindow.win property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Getting+started/Development+workflow
----

Development workflow

====================

Whenever you make a change to the plugin source code, the plugin needs to be reloaded. You can reload the plugin by quitting Obsidian and starting it again, but that gets tiring quickly.

Reload plugin inside Obsidian

-----------------------------

You can reload the plugin by re-enabling it in the list of installed plugins:

1.  Open **Preferences**.

2.  Click **Community plugins**.

3.  Find your plugin under **Installed plugins**.

4.  Toggle the switch off to disable the plugin.

5.  Toggle the switch on to enable the plugin.

You're now running the updated version of your plugin.

Reload plugin on file changes

-----------------------------

The [Hot-Reload](https://github.com/pjeby/hot-reload) plugin reloads your plugin whenever the source code changes.

For more information, check out the [forum announcement](https://forum.obsidian.md/t/plugin-release-for-developers-hot-reload-the-plugin-s-youre-developing/12185).

Development workflow

Not found

This page does not exist

Interactive graph

On this page

Reload plugin inside Obsidian

Reload plugin on file changes

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot
----

WorkspaceRoot

Not found

This page does not exist

Interactive graph

On this page

WorkspaceRoot class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/app
----

app

===

    aliases: "MarkdownEditView.app"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView) › [`app`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/app)

MarkdownEditView.app property

-----------------------------

**Signature:**

    app: App;

Links to this page

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

app

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView.app property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/plugins/guides/pop-out-windows
----

Support pop-out windows

=======================

    aliases:

      - Plugins/Guides/Supporting Pop-Out Windows

    permalink: /plugins/guides/pop-out-windows

With the release of [Obsidian v0.15.0](https://obsidian.md/changelog/2022-06-14-desktop-v0.15.0/), the pop-out windows feature was added to the desktop version of Obsidian.

For most plugins, this feature should work out-of-the-box. However, some things work differently when your plugin renders things in pop-out windows.

Most importantly, pop-out windows come with a complete different set of globals. Each pop-out window introduces its own `Window` object, `Document` object, and fresh copies of all global constructors (like `HTMLElement` and `MouseEvent`).

This means that some of the things you previously had assumed to be global and use only _a single_ definition, will now only work in the main window. Here are some examples:

    let myElement: HTMLElement = ...;

    // This will always append to the main window

    document.body.appendChild(myElement);

    // This will actually be false if element is in a pop-out window

    if (myElement instanceof HTMLElement) {

    }

    element.on('click', '.my-css-class', (event) => {

        // This will be false if the event is triggered in a pop-out window

        if (event instanceof MouseEvent) {

        }

    }

The Obsidian API includes various helper function and accessors to better support pop-out windows:

*   A global `activeWindow` and `activeDocument` variable, which always points to the current focused window and its document.

*   An `element.win` and `element.doc` getter, which respectively point to the `Window` and `Document` objects that the element belongs to.

*   A function for performing cross-window compatible `instanceof` checks. Use `element.instanceOf(HTMLElement)` and `event.instanceOf(MouseEvent)`, instead of `element instanceof HTMLElement` and `event instanceof MouseEvent`.

*   `HTMLElement.onWindowMigrated(callback)` which hooks a callback on the element for when it is inserted into a different window than it originally was in. This can be used for complex renderers like canvases to re-initialize the rendering context.

Using these APIs, the previous example would look like this:

    let myElement: HTMLElement = ...;

    // Bad: myElement would be added to the currently focused document, which is not necessarily the one you want

    activeDocument.body.appendChild(myElement);

    // Good: This will append myElement to the same window as someElement

    someElement.doc.body.appendChild(myElement);

    // This will work correctly in pop-out windows

    if (myElement.instanceOf(HTMLElement)) {

    }

    element.on('click', '.my-css-class', (event) => {

        // This will work correctly in pop-out windows

        if (event.instanceOf(MouseEvent)) {

        }

    }

Support pop-out windows

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/setHeading
----

setHeading

==========

    aliases: "Setting.setHeading"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`setHeading`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setHeading)

Setting.setHeading() method

---------------------------

0.9.16

**Signature:**

    setHeading(): this;

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

setHeading

Not found

This page does not exist

Interactive graph

On this page

Setting.setHeading() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/copy
----

copy

====

    aliases: "Vault.copy"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`copy`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/copy)

Vault.copy() method

-------------------

Create a copy of a file or folder.

**Signature:**

    copy<T extends TAbstractFile>(file: T, newPath: string): Promise<T>;

Parameters

----------

Parameter

Type

Description

`file`

`T`

The file or folder.

`newPath`

`string`

Vault absolute path for the new copy.

1.8.7

**Returns:**

`Promise<T>`

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

copy

Not found

This page does not exist

Interactive graph

On this page

Vault.copy() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/onTrigger
----

onTrigger

=========

    aliases: "EditorSuggest.onTrigger"

    cssclasses: hide-title

[`EditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest) › [`onTrigger`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/onTrigger)

EditorSuggest.onTrigger() method

--------------------------------

Based on the editor line and cursor position, determine if this EditorSuggest should be triggered at this moment. Typically, you would run a regular expression on the current line text before the cursor. Return null to indicate that this editor suggest is not supposed to be triggered.

Please be mindful of performance when implementing this function, as it will be triggered very often (on each keypress). Keep it simple, and return null as early as possible if you determine that it is not the right time.

1.1.13

**Signature:**

    abstract onTrigger(cursor: EditorPosition, editor: Editor, file: TFile | null): EditorSuggestTriggerInfo | null;

Parameters

----------

Parameter

Type

Description

`cursor`

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

`editor`

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext/editor)

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) `| null`

**Returns:**

[`EditorSuggestTriggerInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo) `| null`

Links to this page

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

onTrigger

Not found

This page does not exist

Interactive graph

On this page

EditorSuggest.onTrigger() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/listSecrets
----

listSecrets

===========

    aliases: "SecretStorage.listSecrets"

    cssclasses: hide-title

[`SecretStorage`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage) › [`listSecrets`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/listSecrets)

SecretStorage.listSecrets() method

----------------------------------

Lists all secrets in storage

**Signature:**

    listSecrets(): string[];

**Returns:**

`string[]`

Array of secret IDs

1.11.4

Links to this page

[SecretStorage](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage)

listSecrets

Not found

This page does not exist

Interactive graph

On this page

SecretStorage.listSecrets() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Themes/App+themes/Submit+your+theme
----

Submit your theme

=================

If you want to share your theme with the Obsidian community, the best way is to submit it to the [official list of themes](https://github.com/obsidianmd/obsidian-releases/blob/master/community-css-themes.json). Once we've reviewed and published your theme, users can install it directly from within Obsidian. It'll also be featured in the [plugin directory](https://obsidian.md/plugins) on the Obsidian website.

You only need to submit the initial version of your theme. After your theme has been published, users can automatically download new releases from GitHub directly from within Obsidian.

Prerequisites

-------------

To complete this guide, you'll need:

*   A [GitHub](https://github.com/signup) account.

Before you begin

----------------

Before you submit your theme, make sure you have the following files in the root folder of your repository:

*   A `README.md` that describes the theme.

*   A `LICENSE` that determines how others are allowed to use the theme and its source code. If you need help to pick a license for your theme, refer to [Choose a License](https://choosealicense.com/).

*   A screenshot of your theme to be displayed in the community theme store. Recommended image dimensions: 512 x 288 pixels.

*   A `manifest.json` that describes your theme. For more information, refer to [Manifest](https://docs.obsidian.md/Reference/Manifest).

Step 1: Publish your theme to GitHub

------------------------------------

Template repositories

If you created your theme from one of our template repositories, you may skip this step.

To review your theme, we need to access to the source code on GitHub. If you're unfamiliar with GitHub, refer to the GitHub docs for how to [Create a new repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository).

Step 2: Submit your theme for review

------------------------------------

In this step, you'll submit your theme to the Obsidian team for review.

1.  In [community-css-themes.json](https://github.com/obsidianmd/obsidian-releases/edit/master/community-css-themes.json), add a new entry at the end of the JSON array. The following example shows the entry for the [Minimal](https://github.com/kepano/obsidian-minimal) theme.

        {

          "name": "Minimal",

          "author": "kepano",

          "repo": "kepano/obsidian-minimal",

          "screenshot": "dark-simple.png",

          "modes": ["dark", "light"]

        },

    *   `name` and `author` determines how your plugin appears to the user, and should match the corresponding properties in your [Manifest](https://docs.obsidian.md/Reference/Manifest).

    *   `repo` is the path to your GitHub repository. For example, if your GitHub repo is located at [https://github.com/your-username/your-repo-name](https://github.com/your-username/your-repo-name), the path is `your-username/your-repo-name`.

    *   `screenshot` is the path to a screenshot of your theme. The screenshot looks best with a 16:9 aspect ratio. Recommended image dimensions: 512 x 288 pixels.

    *   `modes` lists the color modes that your theme supports.

    Remember to add a comma after the closing brace, `}`, of the previous entry.

2.  Select **Commit changes...** in the upper-right corner.

3.  Select **Propose changes**.

4.  Select **Create pull request**.

5.  Select **Preview**, and then select **Community Theme**.

6.  Click **Create pull request**.

7.  In the name of the pull request, enter "Add \[...\] theme", where \[...\] is the name of your theme.

8.  Fill in the details in the description for the pull request. For the checkboxes, insert an `x` between the brackets, `[x]`, to mark them as done.

9.  Click **Create pull request** (for the last time 🤞).

You've now submitted your theme to the Obsidian theme directory. Sit back and wait for us to review your submission.

How long does it take to review my theme?

The time it takes to review your submission depends on the current workload of the Obsidian team. The team is still small, so please be patient while you wait for your theme to be reviewed. We're currently unable to give any estimates on when we'll be able to review your submission.

Step 4: Address review comments

-------------------------------

Once a reviewer has reviewed your theme, they'll add a comment to your pull request with the result of the review. The reviewer may require that you update your theme, or they can offer suggestions on how you can improve it.

Address any required changes and update the GitHub release with the new changes. Leave a comment on the PR to let us know you've addressed the feedback. Don't open a new PR.

We'll publish the theme as soon we've verified that all required changes have been addressed.

Note

While only Obsidian team members can publish your theme, other community members may also offer to review your submission in the meantime.

Next steps

----------

Once we've reviewed and published your theme, it's time to announce it to the community:

*   Announce in [Share & showcase](https://forum.obsidian.md/c/share-showcase/9) in the forums.

*   Announce in the `#updates` channel on [Discord](https://discord.gg/veuWUTm). You need the [`developer` role](https://discord.com/channels/686053708261228577/702717892533157999/830492034807758859) to post in `#updates`.

Links to this page

[Home](https://docs.obsidian.md/Home)

[Release your theme with GitHub Actions](https://docs.obsidian.md/Themes/App+themes/Release+your+theme+with+GitHub+Actions)

Submit your theme

Not found

This page does not exist

Interactive graph

On this page

Prerequisites

Before you begin

Step 1: Publish your theme to GitHub

Step 2: Submit your theme for review

Step 4: Address review comments

Next steps

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DateValue/relative
----

relative

========

    aliases: "DateValue.relative"

    cssclasses: hide-title

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue) › [`relative`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/relative)

DateValue.relative() method

---------------------------

**Signature:**

    relative(): string;

**Returns:**

`string`

a new [RelativeDateValue](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue) based on this DateValue.

1.10.0

Links to this page

[DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[RelativeDateValue](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue)

relative

Not found

This page does not exist

Interactive graph

On this page

DateValue.relative() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/NullValue/value
----

value

=====

    aliases: "NullValue.value"

    cssclasses: hide-title

[`NullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue) › [`value`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue/value)

NullValue.value property

------------------------

1.10.0

**Signature:**

    static value: NullValue;

Links to this page

[NullValue](https://docs.obsidian.md/Reference/TypeScript+API/NullValue)

value

Not found

This page does not exist

Interactive graph

On this page

NullValue.value property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ViewState
----

ViewState

=========

    aliases: "ViewState"

    cssclasses: hide-title

[`ViewState`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)

ViewState interface

-------------------

**Signature:**

    export interface ViewState 

Properties

----------

Property

Modifiers

Type

Description

[`active?`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/active)

`boolean`

_(Optional)_

[`group?`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/group)

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

_(Optional)_

[`pinned?`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/pinned)

`boolean`

_(Optional)_

[`state?`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/state)

`Record``<string, unknown>`

_(Optional)_

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/type)

`string`

Links to this page

[active](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/active)

[getViewState](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getViewState)

[group](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/group)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[pinned](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/pinned)

[setViewState](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setViewState)

[state](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/state)

[type](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/type)

ViewState

Not found

This page does not exist

Interactive graph

On this page

ViewState interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/step
----

step

====

    aliases: "BasesSliderOption.step"

    cssclasses: hide-title

[`BasesSliderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption) › [`step`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/step)

BasesSliderOption.step property

-------------------------------

1.10.0

**Signature:**

    step?: number;

Links to this page

[BasesSliderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption)

step

Not found

This page does not exist

Interactive graph

On this page

BasesSliderOption.step property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Hotkey/modifiers
----

modifiers

=========

    aliases: "Hotkey.modifiers"

    cssclasses: hide-title

[`Hotkey`](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey) › [`modifiers`](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey/modifiers)

Hotkey.modifiers property

-------------------------

**Signature:**

    modifiers: Modifier[];

Links to this page

[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)

modifiers

Not found

This page does not exist

Interactive graph

On this page

Hotkey.modifiers property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/getSelection
----

getSelection

============

    aliases: "MarkdownEditView.getSelection"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView) › [`getSelection`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/getSelection)

MarkdownEditView.getSelection() method

--------------------------------------

**Signature:**

    getSelection(): string;

**Returns:**

`string`

Links to this page

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

getSelection

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView.getSelection() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/getDisplayText
----

getDisplayText

==============

    aliases: "FileView.getDisplayText"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`getDisplayText`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/getDisplayText)

FileView.getDisplayText() method

--------------------------------

**Signature:**

    getDisplayText(): string;

**Returns:**

`string`

Links to this page

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

getDisplayText

Not found

This page does not exist

Interactive graph

On this page

FileView.getDisplayText() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/onLoadFile
----

onLoadFile

==========

    aliases: "FileView.onLoadFile"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`onLoadFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onLoadFile)

FileView.onLoadFile() method

----------------------------

**Signature:**

    onLoadFile(file: TFile): Promise<void>;

Parameters

----------

onLoadFile

Not found

This page does not exist

Interactive graph

On this page

FileView.onLoadFile() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Keymap/popScope
----

popScope

========

    aliases: "Keymap.popScope"

    cssclasses: hide-title

[`Keymap`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap) › [`popScope`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/popScope)

Keymap.popScope() method

------------------------

Remove a scope from the scope stack. If the given scope is active, the next scope in the stack will be made active.

0.13.9

**Signature:**

    popScope(scope: Scope): void;

Parameters

----------

Parameter

Type

Description

`scope`

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler/scope)

**Returns:**

`void`

Links to this page

[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)

popScope

Not found

This page does not exist

Interactive graph

On this page

Keymap.popScope() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Value/isTruthy
----

isTruthy

========

    aliases: "Value.isTruthy"

    cssclasses: hide-title

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value) › [`isTruthy`](https://docs.obsidian.md/Reference/TypeScript+API/Value/isTruthy)

Value.isTruthy() method

-----------------------

1.10.0

**Signature:**

    abstract isTruthy(): boolean;

**Returns:**

`boolean`

Links to this page

[NotNullValue](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value)

isTruthy

Not found

This page does not exist

Interactive graph

On this page

Value.isTruthy() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam
----

RequestUrlParam

===============

    aliases: "RequestUrlParam"

    cssclasses: hide-title

[`RequestUrlParam`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)

RequestUrlParam interface

-------------------------

**Signature:**

    export interface RequestUrlParam 

Properties

----------

Property

Modifiers

Type

Description

[`body?`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/body)

`string |` `ArrayBuffer`

_(Optional)_

[`contentType?`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/contentType)

`string`

_(Optional)_

[`headers?`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/headers)

`Record``<string, string>`

_(Optional)_

[`method?`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/method)

`string`

_(Optional)_

[`throw?`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/throw)

`boolean`

_(Optional)_ Whether to throw an error when the status code is 400+ Defaults to true

[`url`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/url)

`string`

Links to this page

[body](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/body)

[contentType](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/contentType)

[headers](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/headers)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[method](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/method)

[request](https://docs.obsidian.md/Reference/TypeScript+API/request)

[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)

[throw](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/throw)

[url](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/url)

RequestUrlParam

Not found

This page does not exist

Interactive graph

On this page

RequestUrlParam interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerObsidianProtocolHandler
----

registerObsidianProtocolHandler

===============================

    aliases: "Plugin.registerObsidianProtocolHandler"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`registerObsidianProtocolHandler`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerObsidianProtocolHandler)

Plugin.registerObsidianProtocolHandler() method

-----------------------------------------------

Register a handler for obsidian:// URLs.

**Signature:**

    registerObsidianProtocolHandler(action: string, handler: ObsidianProtocolHandler): void;

Parameters

----------

Parameter

Type

Description

`action`

`string`

the action string. For example, 'open' corresponds to `obsidian://open`.

`handler`

[`ObsidianProtocolHandler`](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)

the callback to trigger. A key-value pair that is decoded from the query will be passed in. For example, `obsidian://open?key=value` would generate `{'action': 'open', 'key': 'value'}`.

0.11.0

**Returns:**

`void`

registerObsidianProtocolHandler

Not found

This page does not exist

Interactive graph

On this page

Plugin.registerObsidianProtocolHandler() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/(constructor)
----

(constructor)

=============

    aliases: "Plugin.(constructor)"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/\(constructor\))

Plugin.(constructor)

--------------------

Constructs a new instance of the `Plugin` class

**Signature:**

    constructor(app: App, manifest: PluginManifest);

Parameters

----------

Parameter

Type

Description

`app`

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/app)

`manifest`

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

Plugin.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler
----

ObsidianProtocolHandler

=======================

ObsidianProtocolHandler

Not found

This page does not exist

Interactive graph

On this page

ObsidianProtocolHandler type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest
----

PluginManifest

==============

    aliases: "PluginManifest"

    cssclasses: hide-title

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

PluginManifest interface

------------------------

Metadata about a Community plugin.

**Signature:**

    export interface PluginManifest 

Properties

----------

Property

Modifiers

Type

Description

[`author`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/author)

`string`

The author's name.

[`authorUrl?`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/authorUrl)

`string`

_(Optional)_ A URL to the author's website.

[`description`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/description)

`string`

A description of the plugin.

[`dir?`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/dir)

`string`

_(Optional)_ Vault path to the plugin folder in the config directory.

[`id`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/id)

`string`

The plugin ID.

[`isDesktopOnly?`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/isDesktopOnly)

`boolean`

_(Optional)_ Whether the plugin can be used only on desktop.

[`minAppVersion`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/minAppVersion)

`string`

The minimum required Obsidian version to run this plugin.

[`name`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/name)

`string`

The display name.

[`version`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/version)

`string`

The current version, using .

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/\(constructor\))

[author](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/author)

[authorUrl](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/authorUrl)

[description](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/description)

[dir](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/dir)

[id](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/id)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isDesktopOnly](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/isDesktopOnly)

[minAppVersion](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/minAppVersion)

[name](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/name)

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[version](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/version)

PluginManifest

Not found

This page does not exist

Interactive graph

On this page

PluginManifest interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TFile
----

TFile

=====

    aliases: "TFile"

    cssclasses: hide-title

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

TFile class

-----------

0.9.7

**Signature:**

    export class TFile extends TAbstractFile 

**Extends:** [`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

Properties

----------

Property

Modifiers

Type

Description

[`basename`](https://docs.obsidian.md/Reference/TypeScript+API/TFile/basename)

`string`

0.9.7

[`extension`](https://docs.obsidian.md/Reference/TypeScript+API/TFile/extension)

`string`

[`stat`](https://docs.obsidian.md/Reference/TypeScript+API/TFile/stat)

[`FileStats`](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)

0.9.7

[`vault`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/vault)

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

0.9.7

(Inherited from [TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile))

Links to this page

[append](https://docs.obsidian.md/Reference/TypeScript+API/Vault/append)

[appendBinary](https://docs.obsidian.md/Reference/TypeScript+API/Vault/appendBinary)

[basename](https://docs.obsidian.md/Reference/TypeScript+API/TFile/basename)

[BasesEntry](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry)

[BasesFileOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption)

[cachedRead](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead)

[create](https://docs.obsidian.md/Reference/TypeScript+API/Vault/create)

[createBinary](https://docs.obsidian.md/Reference/TypeScript+API/Vault/createBinary)

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

[extension](https://docs.obsidian.md/Reference/TypeScript+API/TFile/extension)

[fileToLinktext](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/fileToLinktext)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[generateMarkdownLink](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/generateMarkdownLink)

[getActiveFile](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getActiveFile)

[getFileByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFileByPath)

[getFileCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFileCache)

[getFiles](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFiles)

[getFirstLinkpathDest](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFirstLinkpathDest)

[getMarkdownFiles](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getMarkdownFiles)

[getResourcePath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getResourcePath)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[modify](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify)

[modifyBinary](https://docs.obsidian.md/Reference/TypeScript+API/Vault/modifyBinary)

[on('changed')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('changed'\))

[on('deleted')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('deleted'\))

[on('file-open')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('file-open'\))

[on('quick-preview')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('quick-preview'\))

[on('resolve')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('resolve'\))

[onLoadFile](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onLoadFile)

[onLoadFile](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onLoadFile)

[onRename](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onRename)

[onTrigger](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/onTrigger)

[onUnloadFile](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/onUnloadFile)

[onUnloadFile](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onUnloadFile)

[openFile](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/openFile)

[process](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process)

[processFrontMatter](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/processFrontMatter)

[read](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read)

[readBinary](https://docs.obsidian.md/Reference/TypeScript+API/Vault/readBinary)

[stat](https://docs.obsidian.md/Reference/TypeScript+API/TFile/stat)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

TFile

Not found

This page does not exist

Interactive graph

On this page

TFile class

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/(constructor)
----

(constructor)

=============

    aliases: "TextFileView.(constructor)"

    cssclasses: hide-title

[`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/\(constructor\))

TextFileView.(constructor)

--------------------------

Constructs a new instance of the `TextFileView` class

**Signature:**

    constructor(leaf: WorkspaceLeaf);

Parameters

----------

Parameter

Type

Description

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

Links to this page

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

TextFileView.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache
----

HeadingCache

============

    aliases: "HeadingCache"

    cssclasses: hide-title

[`HeadingCache`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)

HeadingCache interface

----------------------

**Signature:**

    export interface HeadingCache extends CacheItem 

**Extends:** [`CacheItem`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

Properties

----------

Property

Modifiers

Type

Description

[`heading`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache/heading)

`string`

[`level`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache/level)

`number`

Number between 1 and 6.

[`position`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem/position)

[`Pos`](https://docs.obsidian.md/Reference/TypeScript+API/Pos)

Position of this item in the note.

(Inherited from [CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem))

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

[heading](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache/heading)

[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[level](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache/level)

HeadingCache

Not found

This page does not exist

Interactive graph

On this page

HeadingCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/clear
----

clear

=====

    aliases: "Setting.clear"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`clear`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/clear)

Setting.clear() method

----------------------

0.13.8

**Signature:**

    clear(): this;

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

clear

Not found

This page does not exist

Interactive graph

On this page

Setting.clear() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/toString
----

toString

========

    aliases: "ObjectValue.toString"

    cssclasses: hide-title

[`ObjectValue`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue) › [`toString`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/toString)

ObjectValue.toString() method

-----------------------------

1.10.0

**Signature:**

    toString(): string;

**Returns:**

`string`

Links to this page

[ObjectValue](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue)

toString

Not found

This page does not exist

Interactive graph

On this page

ObjectValue.toString() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/list
----

list

====

    aliases: "CapacitorAdapter.list"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`list`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/list)

CapacitorAdapter.list() method

------------------------------

1.7.2

**Signature:**

    list(normalizedPath: string): Promise<ListedFiles>;

Parameters

----------

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

list

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.list() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/exists
----

exists

======

    aliases: "DataAdapter.exists"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`exists`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/exists)

DataAdapter.exists() method

---------------------------

Check if something exists at the given path. For a faster way to synchronously check if a note or attachment is in the vault, use [Vault.getAbstractFileByPath()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAbstractFileByPath).

**Signature:**

    exists(normalizedPath: string, sensitive?: boolean): Promise<boolean>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

path to file/folder, use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) to normalize beforehand.

`sensitive`

`boolean`

_(Optional)_ Some file systems/operating systems are case-insensitive, set to true to force a case-sensitivity check.

**Returns:**

`Promise<boolean>`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

exists

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.exists() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command/hotkeys
----

hotkeys

=======

hotkeys

Not found

This page does not exist

Interactive graph

On this page

Command.hotkeys property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/modify
----

modify

Not found

This page does not exist

Interactive graph

On this page

Vault.modify() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault
----

Vault

=====

    aliases: "Vault"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

Vault class

-----------

Work with files and folders stored inside a vault.

**Signature:**

    export class Vault extends Events 

**Extends:** [`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events)

Properties

----------

Property

Modifiers

Type

Description

[`adapter`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/adapter)

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

0.9.7

[`configDir`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/configDir)

`string`

Gets the path to the config folder. This value is typically `.obsidian` but it could be different.

0.11.1

Vault

Not found

This page does not exist

Interactive graph

On this page

Vault class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Window/Vault+profile
----

Vault profile

=============

    cssclasses: reference

This page lists CSS variables for the **Vault profile** component, in the bottom of the primary sidebar.

CSS variables

-------------

[File explorer](https://docs.obsidian.md/Reference/CSS+variables/Plugins/File+explorer)

Vault profile

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Editor/Viewport
----

Viewport

========

The Obsidian editor supports [huge documents](https://codemirror.net/examples/million/) with millions of lines. One of the reasons why this is possible, is because the editor only renders what's visible (and a little bit more).

Imagine that you want to edit a document that is too big to fit on your monitor. The Obsidian editor creates a "window" that moves across the document, only rendering the content within the window (and ignoring what's outside). This window is known as the editor's _viewport_.

Whenever the user scrolls through the document, or when the document itself changes, the viewport becomes out-of-date and needs to be recomputed.

If you want to build an editor extension that depends on the viewport, refer to [View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins).

Note

This page aims to distill the official CodeMirror 6 documentation for Obsidian plugin developers. For more information on state management, refer to [Viewport](https://codemirror.net/docs/guide/#viewport).

Links to this page

[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)

[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)

Viewport

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise/json
----

json

====

json

Not found

This page does not exist

Interactive graph

On this page

RequestUrlResponsePromise.json property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/addSearch
----

addSearch

Not found

This page does not exist

Interactive graph

On this page

SettingGroup.addSearch() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/getValuePretty
----

getValuePretty

==============

    aliases: "SliderComponent.getValuePretty"

    cssclasses: hide-title

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent) › [`getValuePretty`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/getValuePretty)

SliderComponent.getValuePretty() method

---------------------------------------

0.9.7

**Signature:**

    getValuePretty(): string;

**Returns:**

`string`

Links to this page

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

getValuePretty

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.getValuePretty() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Color+input
----

Color input

===========

    cssclasses: reference

This page lists CSS variables for color inputs, such as the accent color picker.

CSS variables

-------------

Variable

Description

`--swatch-radius`

Color swatch radius

`--swatch-height`

Color swatch height

`--swatch-width`

Color swatch width

`--swatch-shadow`

Color swatch shadow

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Color input

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Value/toString
----

toString

========

    aliases: "Value.toString"

    cssclasses: hide-title

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value) › [`toString`](https://docs.obsidian.md/Reference/TypeScript+API/Value/toString)

Value.toString() method

-----------------------

1.10.0

**Signature:**

    abstract toString(): string;

**Returns:**

`string`

Links to this page

[NotNullValue](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value)

toString

Not found

This page does not exist

Interactive graph

On this page

Value.toString() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/onClose
----

onClose

=======

    aliases: "View.onClose"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`onClose`](https://docs.obsidian.md/Reference/TypeScript+API/View/onClose)

View.onClose() method

---------------------

0.9.7

**Signature:**

    protected onClose(): Promise<void>;

onClose

Not found

This page does not exist

Interactive graph

On this page

View.onClose() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/revealLeaf
----

revealLeaf

==========

    aliases: "Workspace.revealLeaf"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`revealLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/revealLeaf)

Workspace.revealLeaf() method

-----------------------------

Bring a given leaf to the foreground. If the leaf is in a sidebar, the sidebar will be uncollapsed. `await` this function to ensure your view has been fully loaded and is not deferred.

1.7.2

**Signature:**

    revealLeaf(leaf: WorkspaceLeaf): Promise<void>;

Parameters

----------

Parameter

Type

Description

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

**Returns:**

`Promise<void>`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

revealLeaf

Not found

This page does not exist

Interactive graph

On this page

Workspace.revealLeaf() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/key
----

key

===

    aliases: "BasesEntryGroup.key"

    cssclasses: hide-title

[`BasesEntryGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup) › [`key`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/key)

BasesEntryGroup.key property

----------------------------

The value of the groupBy key for this entry group.

1.10.0

**Signature:**

    key?: Value;

Links to this page

[BasesEntryGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup)

key

Not found

This page does not exist

Interactive graph

On this page

BasesEntryGroup.key property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setDisabled
----

setDisabled

===========

    aliases: "MenuItem.setDisabled"

    cssclasses: hide-title

[`MenuItem`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem) › [`setDisabled`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setDisabled)

MenuItem.setDisabled() method

-----------------------------

**Signature:**

    setDisabled(disabled: boolean): this;

Parameters

----------

[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)

setDisabled

Not found

This page does not exist

Interactive graph

On this page

MenuItem.setDisabled() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addMomentFormat
----

addMomentFormat

===============

    aliases: "Setting.addMomentFormat"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addMomentFormat`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addMomentFormat)

Setting.addMomentFormat() method

--------------------------------

0.9.7

**Signature:**

    addMomentFormat(cb: (component: MomentFormatComponent) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(component:` [`MomentFormatComponent`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)`) => any`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

addMomentFormat

Not found

This page does not exist

Interactive graph

On this page

Setting.addMomentFormat() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command/editorCallback
----

editorCallback

==============

    aliases: "Command.editorCallback"

    cssclasses: hide-title

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command) › [`editorCallback`](https://docs.obsidian.md/Reference/TypeScript+API/Command/editorCallback)

Command.editorCallback property

-------------------------------

A command callback that is only triggered when the user is in an editor. Overrides `callback` and `checkCallback`

**Signature:**

    editorCallback?: (editor: Editor, ctx: MarkdownView | MarkdownFileInfo) => any;

Example

-------

    this.addCommand({

      id: 'example-command',

      name: 'Example command',

      editorCallback: (editor: Editor, view: MarkdownView) => {

        const sel = editor.getSelection();

        console.log(`You have selected: ${sel}`);

      }

    });

0.12.2

Links to this page

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

[Commands](https://docs.obsidian.md/Plugins/User+interface/Commands)

editorCallback

Not found

This page does not exist

Interactive graph

On this page

Command.editorCallback property

Example

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setChecked
----

setChecked

==========

    aliases: "MenuItem.setChecked"

    cssclasses: hide-title

[`MenuItem`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem) › [`setChecked`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setChecked)

MenuItem.setChecked() method

----------------------------

**Signature:**

    setChecked(checked: boolean | null): this;

Parameters

----------

Parameter

Type

Description

`checked`

`boolean | null`

**Returns:**

`this`

Links to this page

[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)

setChecked

Not found

This page does not exist

Interactive graph

On this page

MenuItem.setChecked() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/display
----

display

=======

    aliases: "SettingTab.display"

    cssclasses: hide-title

[`SettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab) › [`display`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/display)

SettingTab.display() method

---------------------------

Called when the settings tab should be rendered.

**Signature:**

    abstract display(): void;

**Returns:**

`void`

Links to this page

[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)

display

Not found

This page does not exist

Interactive graph

On this page

SettingTab.display() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs/parent
----

WorkspaceTabs

[parent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs/parent)

WorkspaceWindow

WorkspaceWindowInitData

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

[addIcon](https://docs.obsidian.md/Reference/TypeScript+API/addIcon)

[apiVersion](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

[arrayBufferToBase64](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)

[arrayBufferToHex](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToHex)

[base64ToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)

[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)

[BasesAllOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesAllOptions)

[BasesConfigFile](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile)

[BasesConfigFileFilter](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileFilter)

[BasesConfigFileView](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)

[BasesDropdownOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption)

[BasesEntry](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry)

[BasesEntryGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup)

[BasesFileOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption)

[BasesFolderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption)

[BasesFormulaOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption)

[BasesMultitextOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption)

[BasesOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption)

[BasesOptionGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup)

[BasesOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

[BasesProperty](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty)

[BasesPropertyId](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)

[BasesPropertyOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption)

[BasesPropertyType](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyType)

[BasesQueryResult](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult)

[BasesSliderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption)

[BasesSortConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesSortConfig)

[BasesTextOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption)

[BasesToggleOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption)

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

[BasesViewConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

[BasesViewFactory](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewFactory)

[BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration)

[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)

[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)

[BooleanValue](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue)

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

[CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

[CliData](https://docs.obsidian.md/Reference/TypeScript+API/CliData)

[CliFlag](https://docs.obsidian.md/Reference/TypeScript+API/CliFlag)

[CliFlags](https://docs.obsidian.md/Reference/TypeScript+API/CliFlags)

[CliHandler](https://docs.obsidian.md/Reference/TypeScript+API/CliHandler)

[CloseableComponent](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)

[Constructor](https://docs.obsidian.md/Reference/TypeScript+API/Constructor)

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

[DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)

[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)

[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)

[EditorCommandName](https://docs.obsidian.md/Reference/TypeScript+API/EditorCommandName)

[editorEditorField](https://docs.obsidian.md/Reference/TypeScript+API/editorEditorField)

[editorInfoField](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)

[editorLivePreviewField](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)

[EditorPosition](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)

[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)

[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)

[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)

[EditorSelectionOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelectionOrCaret)

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)

[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)

[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)

[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

[EventRef](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)

[Events](https://docs.obsidian.md/Reference/TypeScript+API/Events)

[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)

[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)

[FileStats](https://docs.obsidian.md/Reference/TypeScript+API/FileStats)

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

[FileValue](https://docs.obsidian.md/Reference/TypeScript+API/FileValue)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[finishRenderMath](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)

[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)

[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)

[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)

[FormulaContext](https://docs.obsidian.md/Reference/TypeScript+API/FormulaContext)

[FrontMatterCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterCache)

[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)

[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)

[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[getAllTags](https://docs.obsidian.md/Reference/TypeScript+API/getAllTags)

[getBlobArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/getBlobArrayBuffer)

[getFrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/getFrontMatterInfo)

[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/getIcon)

[getIconIds](https://docs.obsidian.md/Reference/TypeScript+API/getIconIds)

[getLanguage](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)

[getLinkpath](https://docs.obsidian.md/Reference/TypeScript+API/getLinkpath)

[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)

[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)

[HexString](https://docs.obsidian.md/Reference/TypeScript+API/HexString)

[hexToArrayBuffer](https://docs.obsidian.md/Reference/TypeScript+API/hexToArrayBuffer)

[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)

[HoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/HoverLinkSource)

[HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)

[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)

[HSL](https://docs.obsidian.md/Reference/TypeScript+API/HSL)

[htmlToMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/htmlToMarkdown)

[HTMLValue](https://docs.obsidian.md/Reference/TypeScript+API/HTMLValue)

[IconName](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

[IconValue](https://docs.obsidian.md/Reference/TypeScript+API/IconValue)

[ImageValue](https://docs.obsidian.md/Reference/TypeScript+API/ImageValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[Instruction](https://docs.obsidian.md/Reference/TypeScript+API/Instruction)

[ISuggestOwner](https://docs.obsidian.md/Reference/TypeScript+API/ISuggestOwner)

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[iterateCacheRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateCacheRefs)

[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)

[Keymap](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)

[KeymapContext](https://docs.obsidian.md/Reference/TypeScript+API/KeymapContext)

[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)

[KeymapEventListener](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener)

[KeymapInfo](https://docs.obsidian.md/Reference/TypeScript+API/KeymapInfo)

[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

[LinkValue](https://docs.obsidian.md/Reference/TypeScript+API/LinkValue)

[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)

[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

[livePreviewState](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)

[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)

[loadMathJax](https://docs.obsidian.md/Reference/TypeScript+API/loadMathJax)

[loadMermaid](https://docs.obsidian.md/Reference/TypeScript+API/loadMermaid)

[loadPdfJs](https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs)

[loadPrism](https://docs.obsidian.md/Reference/TypeScript+API/loadPrism)

[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)

[MarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)

[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)

[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)

[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

[MarkdownSectionInformation](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation)

[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[MarkdownViewModeType](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownViewModeType)

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)

[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)

[MenuSeparator](https://docs.obsidian.md/Reference/TypeScript+API/MenuSeparator)

[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[Modifier](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)

[moment](https://docs.obsidian.md/Reference/TypeScript+API/moment)

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

[normalizePath](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath)

[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)

[NotNullValue](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

[NullValue](https://docs.obsidian.md/Reference/TypeScript+API/NullValue)

[NumberValue](https://docs.obsidian.md/Reference/TypeScript+API/NumberValue)

[ObjectValue](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue)

[ObsidianProtocolData](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)

[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)

[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)

[PaneType](https://docs.obsidian.md/Reference/TypeScript+API/PaneType)

[parseFrontMatterAliases](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterAliases)

[parseFrontMatterEntry](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterEntry)

[parseFrontMatterStringArray](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterStringArray)

[parseFrontMatterTags](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)

[parseLinktext](https://docs.obsidian.md/Reference/TypeScript+API/parseLinktext)

[parsePropertyId](https://docs.obsidian.md/Reference/TypeScript+API/parsePropertyId)

[parseYaml](https://docs.obsidian.md/Reference/TypeScript+API/parseYaml)

[Platform](https://docs.obsidian.md/Reference/TypeScript+API/Platform)

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

[Point](https://docs.obsidian.md/Reference/TypeScript+API/Point)

[PopoverState](https://docs.obsidian.md/Reference/TypeScript+API/PopoverState)

[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)

[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)

[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)

[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)

[PrimitiveValue](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue)

[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

[QueryController](https://docs.obsidian.md/Reference/TypeScript+API/QueryController)

[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)

[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)

[RegExpValue](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue)

[RelativeDateValue](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue)

[removeIcon](https://docs.obsidian.md/Reference/TypeScript+API/removeIcon)

[RenderContext](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext)

[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)

[renderMath](https://docs.obsidian.md/Reference/TypeScript+API/renderMath)

[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)

[request](https://docs.obsidian.md/Reference/TypeScript+API/request)

[requestUrl](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)

[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)

[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)

[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)

[requireApiVersion](https://docs.obsidian.md/Reference/TypeScript+API/requireApiVersion)

[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)

[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)

[sanitizeHTMLToDom](https://docs.obsidian.md/Reference/TypeScript+API/sanitizeHTMLToDom)

[Scope](https://docs.obsidian.md/Reference/TypeScript+API/Scope)

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

[SearchMatches](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)

[SearchMatchPart](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)

[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)

[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)

[SecretComponent](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent)

[SecretStorage](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage)

[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)

[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/setIcon)

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

[SettingGroup](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup)

[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)

[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)

[Side](https://docs.obsidian.md/Reference/TypeScript+API/Side)

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)

[SplitDirection](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)

[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)

[stringifyYaml](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)

[StringValue](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

[stripHeading](https://docs.obsidian.md/Reference/TypeScript+API/stripHeading)

[stripHeadingForLink](https://docs.obsidian.md/Reference/TypeScript+API/stripHeadingForLink)

[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)

[TagValue](https://docs.obsidian.md/Reference/TypeScript+API/TagValue)

[Tasks](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)

[TooltipPlacement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)

[UrlValue](https://docs.obsidian.md/Reference/TypeScript+API/UrlValue)

[UserEvent](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent)

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value)

[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)

[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)

[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

[WorkspaceContainer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

[WorkspaceFloating](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceFloating)

[WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

[WorkspaceParent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

[WorkspaceRibbon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon)

[WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot)

[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)

[WorkspaceSplit](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSplit)

[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)

[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

[WorkspaceWindowInitData](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)

[Manifest](https://docs.obsidian.md/Reference/Manifest)

[Versions](https://docs.obsidian.md/Reference/Versions)

[Developer policies](https://docs.obsidian.md/Developer+policies)

[Home](https://docs.obsidian.md/Home)

[](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)

parent

======

    aliases: "WorkspaceTabs.parent"

    cssclasses: hide-title

[`WorkspaceTabs`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs) › [`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs/parent)

WorkspaceTabs.parent property

-----------------------------

**Signature:**

    parent: WorkspaceSplit;

Links to this page

[WorkspaceTabs](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs)

parent

Not found

This page does not exist

Interactive graph

On this page

WorkspaceTabs.parent property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/trash
----

trash

=====

    aliases: "Vault.trash"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`trash`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/trash)

Vault.trash() method

--------------------

Tries to move to system trash. If that isn't successful/allowed, use local trash

**Signature:**

    trash(file: TAbstractFile, system: boolean): Promise<void>;

Parameters

----------

Parameter

Type

Description

`file`

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

The file or folder to be deleted

`system`

`boolean`

Set to `false` to use local trash by default.

0.9.7

**Returns:**

`Promise<void>`

Links to this page

[Vault](https://docs.obsidian.md/Plugins/Vault)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

trash

Not found

This page does not exist

Interactive graph

On this page

Vault.trash() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/forEvent
----

forEvent

Not found

This page does not exist

Interactive graph

On this page

Menu.forEvent() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('window-open')
----

on('window-open')

=================

    aliases: "Workspace.on('window-open')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('window-open')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('window-open'\))

Workspace.on('window-open') method

----------------------------------

Triggered when a new popout window is created.

0.15.3

**Signature:**

    on(name: 'window-open', callback: (win: WorkspaceWindow, window: Window) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'window-open'`

`callback`

`(win:` [`WorkspaceWindow`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)`, window:` `Window``) => any`

on('window-open')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('window-open') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command/id
----

id

==

    aliases: "Command.id"

    cssclasses: hide-title

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command) › [`id`](https://docs.obsidian.md/Reference/TypeScript+API/Command/id)

Command.id property

-------------------

Globally unique ID to identify this command.

**Signature:**

    id: string;

Links to this page

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

id

Not found

This page does not exist

Interactive graph

On this page

Command.id property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/writeBinary
----

writeBinary

===========

    aliases: "DataAdapter.writeBinary"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`writeBinary`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/writeBinary)

DataAdapter.writeBinary() method

--------------------------------

Write to a binary file. If the file exists its content will be overwritten, otherwise the file will be created.

**Signature:**

    writeBinary(normalizedPath: string, data: ArrayBuffer, options?: DataWriteOptions): Promise<void>;

Parameters

----------

the new file content

writeBinary

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.writeBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf
----

duplicateLeaf

=============

    aliases: "Workspace.duplicateLeaf"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`duplicateLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf)

Workspace.duplicateLeaf() method

--------------------------------

> Warning: This API is now obsolete.

> 

> *   Use the new form of this method instead 0.13.8

**Signature:**

    duplicateLeaf(leaf: WorkspaceLeaf, direction?: SplitDirection): Promise<WorkspaceLeaf>;

Parameters

----------

**Returns:**

`Promise<`[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)`>`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

duplicateLeaf

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/mkdir
----

mkdir

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.mkdir() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/(constructor)
----

(constructor)

=============

    aliases: "DropdownComponent.(constructor)"

    cssclasses: hide-title

[`DropdownComponent`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/\(constructor\))

DropdownComponent.(constructor)

-------------------------------

Constructs a new instance of the `DropdownComponent` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

DropdownComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/fileToLinktext
----

fileToLinktext

==============

    aliases: "MetadataCache.fileToLinktext"

    cssclasses: hide-title

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache) › [`fileToLinktext`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/fileToLinktext)

MetadataCache.fileToLinktext() method

-------------------------------------

Generates a linktext for a file.

If file name is unique, use the filename. If not unique, use full path.

**Signature:**

    fileToLinktext(file: TFile, sourcePath: string, omitMdExtension?: boolean): string;

Parameters

----------

Parameter

Type

Description

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

`sourcePath`

`string`

`omitMdExtension`

`boolean`

_(Optional)_

**Returns:**

`string`

Links to this page

[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)

fileToLinktext

Not found

This page does not exist

Interactive graph

On this page

MetadataCache.fileToLinktext() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup
----

BasesEntryGroup

===============

    aliases: "BasesEntryGroup"

    cssclasses: hide-title

[`BasesEntryGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup)

BasesEntryGroup class

---------------------

A group of BasesEntry objects for a given value of the groupBy key. If there are entries in the results which do not have a value for the groupBy key, the key will be the [NullValue](https://docs.obsidian.md/Reference/TypeScript+API/NullValue).

1.10.0

**Signature:**

    export class BasesEntryGroup 

Properties

----------

Property

Modifiers

Type

Description

[`entries`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/entries)

[`BasesEntry`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry)`[]`

1.10.0

[`key?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/key)

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value)

_(Optional)_ The value of the groupBy key for this entry group.

1.10.0

Methods

-------

Method

Modifiers

Description

[`hasKey()`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/hasKey)

Links to this page

[BasesQueryResult](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult)

[Build a Bases view](https://docs.obsidian.md/plugins/guides/bases-view)

[entries](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/entries)

[hasKey](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/hasKey)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[key](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntryGroup/key)

BasesEntryGroup

Not found

This page does not exist

Interactive graph

On this page

BasesEntryGroup class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/onChanged
----

onChanged

=========

    aliases: "AbstractTextComponent.onChanged"

    cssclasses: hide-title

[`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent) › [`onChanged`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/onChanged)

AbstractTextComponent.onChanged() method

----------------------------------------

0.9.21

**Signature:**

    onChanged(): void;

**Returns:**

`void`

Links to this page

[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

onChanged

Not found

This page does not exist

Interactive graph

On this page

AbstractTextComponent.onChanged() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup
----

BasesOptionGroup

================

    aliases: "BasesOptionGroup"

    cssclasses: hide-title

[`BasesOptionGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup)

BasesOptionGroup interface

--------------------------

Collapsible container for other ViewOptions.

1.10.0

**Signature:**

    export interface BasesOptionGroup<T extends BasesOption> 

Properties

----------

Property

Modifiers

Type

Description

[`displayName`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/displayName)

`string`

1.10.0

[`items`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/items)

`T[]`

1.10.0

[`shouldHide?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/shouldHide)

`() => boolean`

_(Optional)_ If provided, the group will be hidden if the function returns true.

1.10.2

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/type)

`'group'`

1.10.0

Links to this page

[BasesAllOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesAllOptions)

[displayName](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/displayName)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[items](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/items)

[shouldHide](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/shouldHide)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/type)

BasesOptionGroup

Not found

This page does not exist

Interactive graph

On this page

BasesOptionGroup interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/(constructor)
----

(constructor)

=============

    aliases: "SecretComponent.(constructor)"

    cssclasses: hide-title

[`SecretComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/\(constructor\))

SecretComponent.(constructor)

-----------------------------

Constructs a new instance of the `SecretComponent` class

**Signature:**

    constructor(app: App, containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`app`

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

`containerEl`

`HTMLElement`

Links to this page

[SecretComponent](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

SecretComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/data
----

data

====

    aliases: "BasesQueryResult.data"

    cssclasses: hide-title

[`BasesQueryResult`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult) › [`data`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/data)

BasesQueryResult.data property

------------------------------

An ungrouped version of the data, with user-configured sort and limit applied. Where appropriate, views should support groupBy by using `groupedData` instead of this value.

1.10.0

**Signature:**

    data: BasesEntry[];

Links to this page

[BasesQueryResult](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult)

data

Not found

This page does not exist

Interactive graph

On this page

BasesQueryResult.data property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor
----

MarkdownPostProcessor

=====================

    aliases: "MarkdownPostProcessor"

    cssclasses: hide-title

[`MarkdownPostProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)

MarkdownPostProcessor interface

-------------------------------

A post processor receives an element which is a section of the preview.

Post processors can mutate the DOM to render various things, such as mermaid graphs, latex equations, or custom controls.

If your post processor requires lifecycle management, for example, to clear an interval, kill a subprocess, etc when this element is removed from the app, look into [MarkdownPostProcessorContext.addChild()](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/addChild)

0.10.12

**Signature:**

    export interface MarkdownPostProcessor 

Properties

----------

Property

Modifiers

Type

Description

[`sortOrder?`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor/sortOrder)

`number`

_(Optional)_ An optional integer sort order. Defaults to 0. Lower number runs before higher numbers.

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[registerMarkdownCodeBlockProcessor](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownCodeBlockProcessor)

[registerMarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownPostProcessor)

[registerPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/registerPostProcessor)

[sortOrder](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor/sortOrder)

[unregisterPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/unregisterPostProcessor)

MarkdownPostProcessor

Not found

This page does not exist

Interactive graph

On this page

MarkdownPostProcessor interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Editor/Editor
----

Editor

======

The [Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor) class exposes operations for reading and manipulating an active Markdown document in edit mode.

If you want to access the editor in a command, use the [editorCallback](https://docs.obsidian.md/Plugins/User+interface/Commands#Editor commands).

If you want to use the editor elsewhere, you can access it from the active view:

    const view = this.app.workspace.getActiveViewOfType(MarkdownView);

    // Make sure the user is editing a Markdown file.

    if (view) {

    	const cursor = view.editor.getCursor();

    	// ...

    }

Note

Obsidian uses [CodeMirror](https://codemirror.net/) (CM) as the underlying text editor, and exposes the CodeMirror editor as part of the API. `Editor` serves as an abstraction to bridge features between CM6 and CM5 (legacy editor, only available on desktop). By using `Editor` instead of directly accessing the CodeMirror instance, you ensure that your plugin works on both platforms.

Insert text at cursor position

------------------------------

The [replaceRange()](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceRange) method replaces the text between two cursor positions. If you only give it one position, it inserts the new text between that position and the next.

The following command inserts today's date at the cursor position:

    import { Editor, moment, Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        this.addCommand({

          id: 'insert-todays-date',

          name: 'Insert today\'s date',

          editorCallback: (editor: Editor) => {

            editor.replaceRange(

              moment().format('YYYY-MM-DD'),

              editor.getCursor()

            );

          },

        });

      }

    }

Replace current selection

-------------------------

If you want to modify the selected text, use [replaceSelection()](https://docs.obsidian.md/Reference/TypeScript+API/Editor/replaceSelection) to replace the current selection with a new text.

The following command reads the current selection and converts it to uppercase:

    import { Editor, Plugin } from 'obsidian';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        this.addCommand({

          id: 'convert-to-uppercase',

          name: 'Convert to uppercase',

          editorCallback: (editor: Editor) => {

            const selection = editor.getSelection();

            editor.replaceSelection(selection.toUpperCase());

          },

        });

      }

    }

Links to this page

[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)

[on('editor-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-change'\))

[on('editor-drop')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-drop'\))

[on('editor-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-menu'\))

[on('editor-paste')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-paste'\))

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

Editor

Not found

This page does not exist

Interactive graph

On this page

Insert text at cursor position

Replace current selection

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/getName
----

getName

=======

    aliases: "DataAdapter.getName"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`getName`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/getName)

DataAdapter.getName() method

----------------------------

**Signature:**

    getName(): string;

**Returns:**

`string`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

getName

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.getName() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/getResourcePath
----

getResourcePath

===============

    aliases: "Vault.getResourcePath"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`getResourcePath`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getResourcePath)

Vault.getResourcePath() method

------------------------------

Returns a URI for the browser engine to use, for example to embed an image.

0.9.7

**Signature:**

    getResourcePath(file: TFile): string;

Parameters

----------

Parameter

Type

Description

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

**Returns:**

`string`

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

getResourcePath

Not found

This page does not exist

Interactive graph

On this page

Vault.getResourcePath() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getEvaluatedFormula
----

getEvaluatedFormula

===================

    aliases: "BasesViewConfig.getEvaluatedFormula"

    cssclasses: hide-title

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig) › [`getEvaluatedFormula`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getEvaluatedFormula)

BasesViewConfig.getEvaluatedFormula() method

--------------------------------------------

Retrieve a user-configured value from the config, evaluating it as a formula in the context of the current Base. For embedded bases, or bases in the sidebar, this means evaluating the formula against the currently active file.

**Signature:**

    getEvaluatedFormula(view: BasesView, key: string): Value;

Parameters

----------

Parameter

Type

Description

`view`

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

`key`

`string`

**Returns:**

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value)

the Value result from evaluating the formula, or NullValue if the formula is invalid, or the key is not present. 1.10.2

Links to this page

[BasesViewConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

getEvaluatedFormula

Not found

This page does not exist

Interactive graph

On this page

BasesViewConfig.getEvaluatedFormula() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewData
----

getViewData

===========

    aliases: "MarkdownView.getViewData"

    cssclasses: hide-title

[`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) › [`getViewData`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/getViewData)

MarkdownView.getViewData() method

---------------------------------

**Signature:**

    getViewData(): string;

**Returns:**

`string`

Links to this page

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

getViewData

Not found

This page does not exist

Interactive graph

On this page

MarkdownView.getViewData() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/infoEl
----

infoEl

======

    aliases: "Setting.infoEl"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`infoEl`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/infoEl)

Setting.infoEl property

-----------------------

0.9.7

**Signature:**

    infoEl: HTMLElement;

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

infoEl

Not found

This page does not exist

Interactive graph

On this page

Setting.infoEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RGB/g
----

g

=

    aliases: "RGB.g"

    cssclasses: hide-title

[`RGB`](https://docs.obsidian.md/Reference/TypeScript+API/RGB) › [`g`](https://docs.obsidian.md/Reference/TypeScript+API/RGB/g)

RGB.g property

--------------

Green integer value between 0 and 255

**Signature:**

    g: number;

Links to this page

[RGB](https://docs.obsidian.md/Reference/TypeScript+API/RGB)

g

Not found

This page does not exist

Interactive graph

On this page

RGB.g property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Window/Scrollbar
----

Scrollbar

=========

    cssclasses: reference

This page lists CSS variables for non-native scrollbars.

Note

Custom scrollbars are only used on Windows and Linux.

CSS variables

-------------

Variable

Description

`--scrollbar-bg`

Scrollbar background color

`--scrollbar-thumb-bg`

Scrollbar thumb background color

`--scrollbar-active-thumb-bg`

Scrollbar thumb background color (active)

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Scrollbar

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/scope
----

scope

=====

    aliases: "View.scope"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope)

View.scope property

-------------------

Assign an optional scope to your view to register hotkeys for when the view is in focus.

**Signature:**

    scope: Scope | null;

Example

-------

    this.scope = new Scope(this.app.scope);

null

1.5.7

scope

Not found

This page does not exist

Interactive graph

On this page

View.scope property

Example

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/components
----

components

==========

    aliases: "Setting.components"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`components`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/components)

Setting.components property

---------------------------

0.9.7

**Signature:**

    components: BaseComponent[];

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

components

Not found

This page does not exist

Interactive graph

On this page

Setting.components property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/onChange
----

onChange

========

    aliases: "AbstractTextComponent.onChange"

    cssclasses: hide-title

[`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent) › [`onChange`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/onChange)

AbstractTextComponent.onChange() method

---------------------------------------

0.9.7

**Signature:**

    onChange(callback: (value: string) => any): this;

Parameters

----------

onChange

Not found

This page does not exist

Interactive graph

On this page

AbstractTextComponent.onChange() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesView/onDataUpdated
----

onDataUpdated

=============

    aliases: "BasesView.onDataUpdated"

    cssclasses: hide-title

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView) › [`onDataUpdated`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/onDataUpdated)

BasesView.onDataUpdated() method

--------------------------------

Called when there is new data for the query. This view should rerender with the updated data.

1.10.0

**Signature:**

    abstract onDataUpdated(): void;

**Returns:**

`void`

Links to this page

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

onDataUpdated

Not found

This page does not exist

Interactive graph

On this page

BasesView.onDataUpdated() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/getValue
----

getValue

========

    aliases: "ValueComponent.getValue"

    cssclasses: hide-title

[`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent) › [`getValue`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/getValue)

ValueComponent.getValue() method

--------------------------------

0.9.7

**Signature:**

    abstract getValue(): T;

**Returns:**

`T`

Links to this page

[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)

getValue

Not found

This page does not exist

Interactive graph

On this page

ValueComponent.getValue() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf
----

WorkspaceLeaf

=============

    aliases: "WorkspaceLeaf"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

WorkspaceLeaf class

-------------------

**Signature:**

    export class WorkspaceLeaf extends WorkspaceItem implements HoverParent 

**Extends:** [`WorkspaceItem`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem)

**Implements:** [`HoverParent`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)

Properties

----------

Property

Modifiers

Type

Description

[`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/hoverPopover)

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) `| null`

[`isDeferred`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/isDeferred)

`readonly`

`boolean`

Returns true if this leaf is currently deferred because it is in the background. A deferred leaf will have a DeferredView as its view, instead of the View that it should normally have for its type (like MarkdownView for the `markdown` type). 1.7.2

[`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/parent)

[`WorkspaceTabs`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceTabs) `|` [`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

The direct parent of the leaf.

On desktop, a leaf is always a child of a `WorkspaceTabs` component. On mobile, a leaf might be a child of a `WorkspaceMobileDrawer`. Perform an `instanceof` check before making an assumption about the `parent`.

[`view`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/view)

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View)

The view associated with this leaf. Do not attempt to cast this to your custom `View` without first checking `instanceof`.

Methods

-------

Method

Modifiers

Description

[`detach()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/detach)

[`getContainer()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getContainer)

Get the root container parent item, which can be one of: - [WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot) - [WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

0.15.4

(Inherited from [WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem))

[`getDisplayText()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getDisplayText)

[`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getEphemeralState)

[`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getIcon)

[`getRoot()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getRoot)

0.10.2

(Inherited from [WorkspaceItem](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem))

[`getViewState()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getViewState)

[`loadIfDeferred()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/loadIfDeferred)

If this view is currently deferred, load it and await that it has fully loaded. 1.7.2

[`off(name, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[`offref(ref)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref)

0.9.7

(Inherited from [Events](https://docs.obsidian.md/Reference/TypeScript+API/Events))

[`on(name: 'pinned-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on\('pinned-change'\))

[`on(name: 'group-change', callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on\('group-change'\))

[`onResize()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/onResize)

[`open(view)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/open)

[`openFile(file, openState)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/openFile)

Open a file in this leaf.

[`setEphemeralState(state)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setEphemeralState)

[`setGroup(group)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroup)

[`setGroupMember(other)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroupMember)

[`setPinned(pinned)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setPinned)

[`setViewState(viewState, eState)`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setViewState)

[`togglePinned()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/togglePinned)

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/View/\(constructor\))

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/\(constructor\))

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView/\(constructor\))

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/\(constructor\))

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/FileView/\(constructor\))

[createLeafBySplit](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafBySplit)

[createLeafInParent](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/createLeafInParent)

[detach](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/detach)

[duplicateLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf)

[duplicateLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf_1)

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[ensureSideLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/ensureSideLeaf)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[getDisplayText](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getDisplayText)

[getEphemeralState](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getEphemeralState)

[getGroupLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getGroupLeaves)

[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getIcon)

[getViewState](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getViewState)

[handleLinkContextMenu](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/handleLinkContextMenu)

[hoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/hoverPopover)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isDeferred](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/isDeferred)

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[iterateAllLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateAllLeaves)

[iterateRootLeaves](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/iterateRootLeaves)

[loadIfDeferred](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/loadIfDeferred)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[moveLeafToPopout](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/moveLeafToPopout)

[on('active-leaf-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('active-leaf-change'\))

[on('file-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('file-menu'\))

[on('files-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('files-menu'\))

[on('group-change')](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on\('group-change'\))

[on('pinned-change')](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on\('pinned-change'\))

[onResize](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/onResize)

[open](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/open)

[openFile](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/openFile)

[openPopoutLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openPopoutLeaf)

[OpenViewState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)

[parent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/parent)

[revealLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/revealLeaf)

[setActiveLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf)

[setActiveLeaf\_1](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf_1)

[setEphemeralState](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setEphemeralState)

[setGroup](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroup)

[setGroupMember](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setGroupMember)

[setPinned](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setPinned)

[setViewState](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setViewState)

[splitActiveLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/splitActiveLeaf)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

[togglePinned](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/togglePinned)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

[view](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/view)

[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)

[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

WorkspaceLeaf

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/app
----

app

===

    aliases: "View.app"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`app`](https://docs.obsidian.md/Reference/TypeScript+API/View/app)

View.app property

-----------------

0.9.7

**Signature:**

    app: App;

app

Not found

This page does not exist

Interactive graph

On this page

View.app property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFileCache
----

getFileCache

============

    aliases: "MetadataCache.getFileCache"

    cssclasses: hide-title

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache) › [`getFileCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFileCache)

MetadataCache.getFileCache() method

-----------------------------------

0.9.21

**Signature:**

    getFileCache(file: TFile): CachedMetadata | null;

Parameters

----------

Parameter

Type

Description

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

**Returns:**

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) `| null`

Links to this page

[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)

getFileCache

Not found

This page does not exist

Interactive graph

On this page

MetadataCache.getFileCache() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/app
----

app

===

    aliases: "SettingTab.app"

    cssclasses: hide-title

[`SettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab) › [`app`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/app)

SettingTab.app property

-----------------------

Reference to the app instance.

**Signature:**

    app: App;

Links to this page

[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)

app

Not found

This page does not exist

Interactive graph

On this page

SettingTab.app property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/classes
----

classes

=======

    aliases: "TooltipOptions.classes"

    cssclasses: hide-title

[`TooltipOptions`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions) › [`classes`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/classes)

TooltipOptions.classes property

-------------------------------

1.8.7

**Signature:**

    classes?: string[];

Links to this page

[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)

classes

Not found

This page does not exist

Interactive graph

On this page

TooltipOptions.classes property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/type
----

type

====

    aliases: "BasesOptionGroup.type"

    cssclasses: hide-title

[`BasesOptionGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/type)

BasesOptionGroup.type property

------------------------------

1.10.0

**Signature:**

    type: 'group';

Links to this page

[BasesOptionGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup)

type

Not found

This page does not exist

Interactive graph

On this page

BasesOptionGroup.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/getSummaryValue
----

getSummaryValue

===============

    aliases: "BasesQueryResult.getSummaryValue"

    cssclasses: hide-title

[`BasesQueryResult`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult) › [`getSummaryValue`](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/getSummaryValue)

BasesQueryResult.getSummaryValue() method

-----------------------------------------

Applies a summary function to a single property over a set of entries.

1.10.0

**Signature:**

    getSummaryValue(queryController: QueryController, entries: BasesEntry[], prop: BasesPropertyId, summaryKey: string): Value;

Parameters

----------

Parameter

Type

Description

`queryController`

[`QueryController`](https://docs.obsidian.md/Reference/TypeScript+API/QueryController)

`entries`

[`BasesEntry`](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry)`[]`

`prop`

[`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)

`summaryKey`

`string`

**Returns:**

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value)

Links to this page

[BasesQueryResult](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult)

getSummaryValue

Not found

This page does not exist

Interactive graph

On this page

BasesQueryResult.getSummaryValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/query
----

query

=====

    aliases: "EditorSuggestTriggerInfo.query"

    cssclasses: hide-title

[`EditorSuggestTriggerInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo) › [`query`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/query)

EditorSuggestTriggerInfo.query property

---------------------------------------

They query string (usually the text between start and end) that will be used to generate the suggestion content.

**Signature:**

    query: string;

Links to this page

[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

[EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)

query

Not found

This page does not exist

Interactive graph

On this page

EditorSuggestTriggerInfo.query property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addExtraButton
----

addExtraButton

==============

    aliases: "Setting.addExtraButton"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addExtraButton`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addExtraButton)

Setting.addExtraButton() method

-------------------------------

0.9.16

**Signature:**

    addExtraButton(cb: (component: ExtraButtonComponent) => any): this;

Parameters

----------

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

addExtraButton

Not found

This page does not exist

Interactive graph

On this page

Setting.addExtraButton() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/StringValue/type
----

[type](https://docs.obsidian.md/Reference/TypeScript+API/StringValue/type)

SubpathResult

SuggestModal

TAbstractFile

TagCache

TagValue

type

====

    aliases: "StringValue.type"

    cssclasses: hide-title

[`StringValue`](https://docs.obsidian.md/Reference/TypeScript+API/StringValue) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/StringValue/type)

StringValue.type property

-------------------------

1.10.0

**Signature:**

    static type: string;

Links to this page

[HTMLValue](https://docs.obsidian.md/Reference/TypeScript+API/HTMLValue)

[IconValue](https://docs.obsidian.md/Reference/TypeScript+API/IconValue)

[ImageValue](https://docs.obsidian.md/Reference/TypeScript+API/ImageValue)

[LinkValue](https://docs.obsidian.md/Reference/TypeScript+API/LinkValue)

[StringValue](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

[TagValue](https://docs.obsidian.md/Reference/TypeScript+API/TagValue)

[UrlValue](https://docs.obsidian.md/Reference/TypeScript+API/UrlValue)

type

Not found

This page does not exist

Interactive graph

On this page

StringValue.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/resolvedLinks
----

resolvedLinks

=============

    aliases: "MetadataCache.resolvedLinks"

    cssclasses: hide-title

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache) › [`resolvedLinks`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/resolvedLinks)

MetadataCache.resolvedLinks property

------------------------------------

Contains all resolved links. This object maps each source file's path to an object of destination file paths with the link count. Source and destination paths are all vault absolute paths that comes from `TFile.path` and can be used with `Vault.getAbstractFileByPath(path)`.

**Signature:**

    resolvedLinks: Record<string, Record<string, number>>;

Links to this page

[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)

resolvedLinks

Not found

This page does not exist

Interactive graph

On this page

MetadataCache.resolvedLinks property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/getScroll
----

getScroll

=========

    aliases: "MarkdownSubView.getScroll"

    cssclasses: hide-title

[`MarkdownSubView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView) › [`getScroll`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/getScroll)

MarkdownSubView.getScroll() method

----------------------------------

**Signature:**

    getScroll(): number;

**Returns:**

`number`

Links to this page

[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)

getScroll

Not found

This page does not exist

Interactive graph

On this page

MarkdownSubView.getScroll() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setValue
----

setValue

========

    aliases: "ToggleComponent.setValue"

    cssclasses: hide-title

[`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setValue)

ToggleComponent.setValue() method

---------------------------------

0.9.7

**Signature:**

    setValue(on: boolean): this;

Parameters

----------

Parameter

Type

Description

`on`

`boolean`

**Returns:**

`this`

Links to this page

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

setValue

Not found

This page does not exist

Interactive graph

On this page

ToggleComponent.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Loc/col
----

col

===

    aliases: "Loc.col"

    cssclasses: hide-title

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc) › [`col`](https://docs.obsidian.md/Reference/TypeScript+API/Loc/col)

Loc.col property

----------------

Column number.

**Signature:**

    col: number;

Links to this page

[Loc](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

col

Not found

This page does not exist

Interactive graph

On this page

Loc.col property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/loadIfDeferred
----

loadIfDeferred

==============

loadIfDeferred

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.loadIfDeferred() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onload
----

onload

======

    aliases: "Plugin.onload"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`onload`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onload)

Plugin.onload() method

----------------------

0.9.7

**Signature:**

    onload(): Promise<void> | void;

**Returns:**

`Promise<void> | void`

onload

Not found

This page does not exist

Interactive graph

On this page

Plugin.onload() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Modal
----

Modal

=====

    cssclasses: reference

This page lists CSS variables for modals, such as the settings window and [dialogs](https://docs.obsidian.md/Reference/CSS+variables/Components/Dialog).

CSS variables

-------------

Variable

Description

`--modal-background`

Modal background color

`--modal-width`

Modal default width

`--modal-height`

Modal default height

`--modal-max-width`

Modal maximum width

`--modal-max-height`

Modal maximum height

`--modal-max-width-narrow`

Narrow modal maximum width

`--modal-border-width`

Modal border thickness

`--modal-border-color`

Modal border color

`--modal-radius`

Modal radius

`--modal-community-sidebar-width`

Community plugin/theme sidebar width

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Modal

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/inputEl
----

inputEl

=======

    aliases: "AbstractTextComponent.inputEl"

    cssclasses: hide-title

[`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent) › [`inputEl`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/inputEl)

AbstractTextComponent.inputEl property

--------------------------------------

0.9.7

**Signature:**

    inputEl: T;

Links to this page

[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

inputEl

Not found

This page does not exist

Interactive graph

On this page

AbstractTextComponent.inputEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption/type
----

type

Not found

This page does not exist

Interactive graph

On this page

BasesFormulaOption.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/addSeparator
----

addSeparator

============

addSeparator

Not found

This page does not exist

Interactive graph

On this page

Menu.addSeparator() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Reference
----

Reference

=========

    aliases: "Reference"

    cssclasses: hide-title

[`Reference`](https://docs.obsidian.md/Reference/TypeScript+API/Reference)

Reference interface

-------------------

Base interface for items that point to a different location.

**Signature:**

    export interface Reference 

Properties

----------

Property

Modifiers

Type

Description

[`displayText?`](https://docs.obsidian.md/Reference/TypeScript+API/Reference/displayText)

`string`

_(Optional)_ Available if title is different from link text, in the case of `[page name& > 124;display name](https://docs.obsidian.md/page+name%26#124;display name)` this will return `display name`

[`link`](https://docs.obsidian.md/Reference/TypeScript+API/Reference/link)

`string`

Link destination.

[`original`](https://docs.obsidian.md/Reference/TypeScript+API/Reference/original)

`string`

Contains the text as it's written in the document. Not available on Publish.

Links to this page

[displayText](https://docs.obsidian.md/Reference/TypeScript+API/Reference/displayText)

[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[iterateRefs](https://docs.obsidian.md/Reference/TypeScript+API/iterateRefs)

[link](https://docs.obsidian.md/Reference/TypeScript+API/Reference/link)

[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

[original](https://docs.obsidian.md/Reference/TypeScript+API/Reference/original)

[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

Reference

Not found

This page does not exist

Interactive graph

On this page

Reference interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeavesOfType
----

getLeavesOfType

Not found

This page does not exist

Interactive graph

On this page

Workspace.getLeavesOfType() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLastOpenFiles
----

getLastOpenFiles

================

    aliases: "Workspace.getLastOpenFiles"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`getLastOpenFiles`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLastOpenFiles)

Workspace.getLastOpenFiles() method

-----------------------------------

Get the filenames of the 10 most recently opened files.

0.9.7

**Signature:**

    getLastOpenFiles(): string[];

**Returns:**

`string[]`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

getLastOpenFiles

Not found

This page does not exist

Interactive graph

On this page

Workspace.getLastOpenFiles() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewFactory
----

BasesViewFactory

================

    aliases: "BasesViewFactory"

    cssclasses: hide-title

[`BasesViewFactory`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewFactory)

BasesViewFactory type

---------------------

Implement this factory function in a [BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration) to create a new instance of a custom Bases view.

**Signature:**

    export type BasesViewFactory = (controller: QueryController, containerEl: HTMLElement) => BasesView;

**References:** [`QueryController`](https://docs.obsidian.md/Reference/TypeScript+API/QueryController), [`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

Links to this page

[BasesViewRegistration](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

BasesViewFactory

Not found

This page does not exist

Interactive graph

On this page

BasesViewFactory type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchResult
----

SearchResult

============

    aliases: "SearchResult"

    cssclasses: hide-title

[`SearchResult`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)

SearchResult interface

----------------------

0.9.21

**Signature:**

    export interface SearchResult 

Properties

----------

Property

Modifiers

Type

Description

[`matches`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult/matches)

[`SearchMatches`](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)

[`score`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult/score)

`number`

Links to this page

[FuzzyMatch](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[matches](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult/matches)

[prepareFuzzySearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)

[prepareSimpleSearch](https://docs.obsidian.md/Reference/TypeScript+API/prepareSimpleSearch)

[renderResults](https://docs.obsidian.md/Reference/TypeScript+API/renderResults)

[score](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult/score)

[SearchResultContainer](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)

SearchResult

Not found

This page does not exist

Interactive graph

On this page

SearchResult interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption/default
----

default

Not found

This page does not exist

Interactive graph

On this page

BasesDropdownOption.default property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/setDisabled
----

setDisabled

===========

    aliases: "BaseComponent.setDisabled"

    cssclasses: hide-title

[`BaseComponent`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent) › [`setDisabled`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/setDisabled)

BaseComponent.setDisabled() method

----------------------------------

1.2.3

**Signature:**

    setDisabled(disabled: boolean): this;

Parameters

----------

[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)

[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

[SecretComponent](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent)

[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)

setDisabled

Not found

This page does not exist

Interactive graph

On this page

BaseComponent.setDisabled() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/views
----

views

=====

    aliases: "BasesConfigFile.views"

    cssclasses: hide-title

[`BasesConfigFile`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile) › [`views`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/views)

BasesConfigFile.views property

------------------------------

Configuration for views used in this Base.

1.10.0

**Signature:**

    views?: BasesConfigFileView[];

Links to this page

[BasesConfigFile](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile)

views

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFile.views property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/trashLocal
----

trashLocal

==========

    aliases: "CapacitorAdapter.trashLocal"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`trashLocal`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/trashLocal)

CapacitorAdapter.trashLocal() method

------------------------------------

1.7.2

**Signature:**

    trashLocal(normalizedPath: string): Promise<void>;

Parameters

----------

trashLocal

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.trashLocal() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Debouncer/run
----

run

===

    aliases: "Debouncer.run"

    cssclasses: hide-title

[`Debouncer`](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer) › [`run`](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer/run)

Debouncer.run() method

----------------------

If there is any pending function call, clear the timer and call the function immediately.

1.4.4

**Signature:**

    run(): V | void;

**Returns:**

`V | void`

Links to this page

[Debouncer](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)

run

Not found

This page does not exist

Interactive graph

On this page

Debouncer.run() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListValue/concat
----

concat

======

    aliases: "ListValue.concat"

    cssclasses: hide-title

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue) › [`concat`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/concat)

ListValue.concat() method

-------------------------

**Signature:**

    concat(other: ListValue): ListValue;

Parameters

----------

Parameter

Type

Description

`other`

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

**Returns:**

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

a new [ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue) containing the elements from this ListValue and the provided ListValue.

1.10.0

Links to this page

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

concat

Not found

This page does not exist

Interactive graph

On this page

ListValue.concat() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/type
----

type

====

    aliases: "BasesFolderOption.type"

    cssclasses: hide-title

[`BasesFolderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/type)

BasesFolderOption.type property

-------------------------------

1.10.2

**Signature:**

    type: 'folder';

Links to this page

[BasesFolderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption)

type

Not found

This page does not exist

Interactive graph

On this page

BasesFolderOption.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache/heading
----

heading

=======

    aliases: "HeadingCache.heading"

    cssclasses: hide-title

[`HeadingCache`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache) › [`heading`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache/heading)

HeadingCache.heading property

-----------------------------

**Signature:**

    heading: string;

Links to this page

[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)

heading

Not found

This page does not exist

Interactive graph

On this page

HeadingCache.heading property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Pos/end
----

end

===

    aliases: "Pos.end"

    cssclasses: hide-title

[`Pos`](https://docs.obsidian.md/Reference/TypeScript+API/Pos) › [`end`](https://docs.obsidian.md/Reference/TypeScript+API/Pos/end)

Pos.end property

----------------

End location.

**Signature:**

    end: Loc;

Links to this page

[Pos](https://docs.obsidian.md/Reference/TypeScript+API/Pos)

end

Not found

This page does not exist

Interactive graph

On this page

Pos.end property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App
----

App

===

    aliases: "App"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

App class

---------

0.9.7

**Signature:**

    export class App 

Properties

----------

Property

Modifiers

Type

Description

[`fileManager`](https://docs.obsidian.md/Reference/TypeScript+API/App/fileManager)

[`FileManager`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)

0.11.0

[`keymap`](https://docs.obsidian.md/Reference/TypeScript+API/App/keymap)

[`Keymap`](https://docs.obsidian.md/Reference/TypeScript+API/Keymap)

0.9.7

[`lastEvent`](https://docs.obsidian.md/Reference/TypeScript+API/App/lastEvent)

[`UserEvent`](https://docs.obsidian.md/Reference/TypeScript+API/UserEvent) `| null`

The last known user interaction event, to help commands find out what modifier keys are pressed.

0.12.17

[`metadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/App/metadataCache)

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)

0.9.7

[`renderContext`](https://docs.obsidian.md/Reference/TypeScript+API/App/renderContext)

[`RenderContext`](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext)

1.10.0

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/App/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope)

0.9.7

[`secretStorage`](https://docs.obsidian.md/Reference/TypeScript+API/App/secretStorage)

[`SecretStorage`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage)

1.11.4

[`vault`](https://docs.obsidian.md/Reference/TypeScript+API/App/vault)

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

0.9.7

[`workspace`](https://docs.obsidian.md/Reference/TypeScript+API/App/workspace)

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

0.9.7

Methods

-------

Method

Modifiers

Description

[`isDarkMode()`](https://docs.obsidian.md/Reference/TypeScript+API/App/isDarkMode)

1.10.0

[`loadLocalStorage(key)`](https://docs.obsidian.md/Reference/TypeScript+API/App/loadLocalStorage)

Retrieve value from `localStorage` for this vault.

[`saveLocalStorage(key, data)`](https://docs.obsidian.md/Reference/TypeScript+API/App/saveLocalStorage)

Save vault-specific value to `localStorage`. If data is `null`, the entry will be cleared.

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/\(constructor\))

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab/\(constructor\))

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/\(constructor\))

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/\(constructor\))

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/\(constructor\))

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

[fileManager](https://docs.obsidian.md/Reference/TypeScript+API/App/fileManager)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isDarkMode](https://docs.obsidian.md/Reference/TypeScript+API/App/isDarkMode)

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[keymap](https://docs.obsidian.md/Reference/TypeScript+API/App/keymap)

[lastEvent](https://docs.obsidian.md/Reference/TypeScript+API/App/lastEvent)

[loadLocalStorage](https://docs.obsidian.md/Reference/TypeScript+API/App/loadLocalStorage)

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[metadataCache](https://docs.obsidian.md/Reference/TypeScript+API/App/metadataCache)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[parseFromString](https://docs.obsidian.md/Reference/TypeScript+API/LinkValue/parseFromString)

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)

[renderContext](https://docs.obsidian.md/Reference/TypeScript+API/App/renderContext)

[saveLocalStorage](https://docs.obsidian.md/Reference/TypeScript+API/App/saveLocalStorage)

[scope](https://docs.obsidian.md/Reference/TypeScript+API/App/scope)

[secretStorage](https://docs.obsidian.md/Reference/TypeScript+API/App/secretStorage)

[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

[Use React in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+React+in+your+plugin)

[vault](https://docs.obsidian.md/Reference/TypeScript+API/App/vault)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

[workspace](https://docs.obsidian.md/Reference/TypeScript+API/App/workspace)

App

Not found

This page does not exist

Interactive graph

On this page

App class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Headings
----

# Headings

```yaml
cssclasses: reference
```

This page lists CSS variables for headings.

## CSS variables

| Variable | Description |
| --- | --- |
| `--heading-formatting` | Text color for Markdown heading depth syntax |
| `--heading-spacing` | Spacing above headings, see [Typography](https://docs.obsidian.md/Reference/CSS+variables/Foundations/Typography) |
| `--h1-color` | H1 text color |
| `--h2-color` | H2 text color |
| `--h3-color` | H3 text color |
| `--h4-color` | H4 text color |
| `--h5-color` | H5 text color |
| `--h6-color` | H6 text color |
| `--h1-font` | H1 font family |
| `--h2-font` | H2 font family |
| `--h3-font` | H3 font family |
| `--h4-font` | H4 font family |
| `--h5-font` | H5 font family |
| `--h6-font` | H6 font family |
| `--h1-line-height` | H1 line height |
| `--h2-line-height` | H2 line height |
| `--h3-line-height` | H3 line height |
| `--h4-line-height` | H4 line height |
| `--h5-line-height` | H5 line height |
| `--h6-line-height` | H6 line height |
| `--h1-size` | H1 font size |
| `--h2-size` | H2 font size |
| `--h3-size` | H3 font size |
| `--h4-size` | H4 font size |
| `--h5-size` | H5 font size |
| `--h6-size` | H6 font size |
| `--h1-style` | H1 font style |
| `--h2-style` | H2 font style |
| `--h3-style` | H3 font style |
| `--h4-style` | H4 font style |
| `--h5-style` | H5 font style |
| `--h6-style` | H6 font style |
| `--h1-variant` | H1 font variant |
| `--h2-variant` | H2 font variant |
| `--h3-variant` | H3 font variant |
| `--h4-variant` | H4 font variant |
| `--h5-variant` | H5 font variant |
| `--h6-variant` | H6 font variant |
| `--h1-weight` | H1 font weight |
| `--h2-weight` | H2 font weight |
| `--h3-weight` | H3 font weight |
| `--h4-weight` | H4 font weight |
| `--h5-weight` | H5 font weight |
| `--h6-weight` | H6 font weight |

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Headings

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md/)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerCliHandler
----

registerCliHandler

==================

registerCliHandler

Not found

This page does not exist

Interactive graph

On this page

Plugin.registerCliHandler() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Hotkey
----

Hotkey

======

    aliases: "Hotkey"

    cssclasses: hide-title

[`Hotkey`](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)

Hotkey interface

----------------

**Signature:**

    export interface Hotkey 

Properties

----------

Property

Modifiers

Type

Description

[`key`](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey/key)

`string`

[`modifiers`](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey/modifiers)

[`Modifier`](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)`[]`

Links to this page

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[key](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey/key)

[modifiers](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey/modifiers)

Hotkey

Not found

This page does not exist

Interactive graph

On this page

Hotkey interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/getSectionInfo
----

getSectionInfo

==============

    aliases: "MarkdownPostProcessorContext.getSectionInfo"

    cssclasses: hide-title

[`MarkdownPostProcessorContext`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext) › [`getSectionInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/getSectionInfo)

MarkdownPostProcessorContext.getSectionInfo() method

----------------------------------------------------

Gets the section information of this element at this point in time. Only call this function right before you need this information to get the most up-to-date version. This function may also return null in many circumstances; if you use it, you must be prepared to deal with nulls.

**Signature:**

    getSectionInfo(el: HTMLElement): MarkdownSectionInformation | null;

Parameters

----------

Parameter

Type

Description

`el`

`HTMLElement`

**Returns:**

[`MarkdownSectionInformation`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSectionInformation) `| null`

Links to this page

[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)

getSectionInfo

Not found

This page does not exist

Interactive graph

On this page

MarkdownPostProcessorContext.getSectionInfo() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRibbon
----

WorkspaceRibbon

Not found

This page does not exist

Interactive graph

On this page

WorkspaceRibbon class

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Dragging
----

Dragging

========

    cssclasses: reference

Obsidian displays dragging affordances while the user drag files or tabs.

CSS variables

-------------

Variable

Description

`--drag-ghost-background`

Drag ghost background color

`--drag-ghost-text-color`

Drag ghost text color

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Dragging

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry
----

BasesEntry

Not found

This page does not exist

Interactive graph

On this page

BasesEntry class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getDisplayName
----

getDisplayName

==============

    aliases: "BasesViewConfig.getDisplayName"

    cssclasses: hide-title

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig) › [`getDisplayName`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getDisplayName)

BasesViewConfig.getDisplayName() method

---------------------------------------

Retrieve a friendly name for the provided property. If the property has been renamed by the user in the Base config, that value is returned. File properties may have a default name that is returned, otherwise the name with the property type prefix removed is returned.

1.10.0

**Signature:**

    getDisplayName(propertyId: BasesPropertyId): string;

Parameters

----------

Parameter

Type

Description

`propertyId`

[`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)

**Returns:**

`string`

Links to this page

[BasesViewConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

getDisplayName

Not found

This page does not exist

Interactive graph

On this page

BasesViewConfig.getDisplayName() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/hoverPopover
----

hoverPopover

============

    aliases: "MarkdownEditView.hoverPopover"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView) › [`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/hoverPopover)

MarkdownEditView.hoverPopover property

--------------------------------------

**Signature:**

    hoverPopover: HoverPopover;

Links to this page

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

hoverPopover

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView.hoverPopover property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/containerEl
----

containerEl

===========

    aliases: "MarkdownRenderChild.containerEl"

    cssclasses: hide-title

[`MarkdownRenderChild`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild) › [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/containerEl)

MarkdownRenderChild.containerEl property

----------------------------------------

**Signature:**

    containerEl: HTMLElement;

Links to this page

[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

containerEl

Not found

This page does not exist

Interactive graph

On this page

MarkdownRenderChild.containerEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/icon
----

icon

====

    aliases: "SettingTab.icon"

    cssclasses: hide-title

[`SettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab) › [`icon`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/icon)

SettingTab.icon property

------------------------

The icon to display in the settings sidebar.

1.11.0

**Signature:**

    icon: IconName;

Links to this page

[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)

icon

Not found

This page does not exist

Interactive graph

On this page

SettingTab.icon property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Toggle
----

Toggle

======

    cssclasses: reference

This page lists CSS variables toggles.

CSS variables

-------------

Variable

Description

`--toggle-border-width`

Toggle border width

`--toggle-width`

Toggle width

`--toggle-radius`

Toggle radius

`--toggle-thumb-color`

Toggle thumb background color

`--toggle-thumb-radius`

Toggle thumb radius

`--toggle-thumb-height`

Toggle thumb height

`--toggle-thumb-width`

Toggle thumb width

`--toggle-s-border-width`

Small toggle border width

`--toggle-s-width`

Small toggle width

`--toggle-s-thumb-height`

Small toggle thumb height

`--toggle-s-thumb-width`

Small toggle thumb width

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Toggle

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HSL
----

HSL

===

    aliases: "HSL"

    cssclasses: hide-title

[`HSL`](https://docs.obsidian.md/Reference/TypeScript+API/HSL)

HSL interface

-------------

0.16.0

**Signature:**

    export interface HSL 

Properties

----------

Property

Modifiers

Type

Description

[`h`](https://docs.obsidian.md/Reference/TypeScript+API/HSL/h)

`number`

Hue integer value between 0 and 360

0.16.0

[`l`](https://docs.obsidian.md/Reference/TypeScript+API/HSL/l)

`number`

Lightness integer value between 0 and 100

0.16.0

[`s`](https://docs.obsidian.md/Reference/TypeScript+API/HSL/s)

`number`

Saturation integer value between 0 and 100

0.16.0

Links to this page

[getValueHsl](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValueHsl)

[h](https://docs.obsidian.md/Reference/TypeScript+API/HSL/h)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[l](https://docs.obsidian.md/Reference/TypeScript+API/HSL/l)

[s](https://docs.obsidian.md/Reference/TypeScript+API/HSL/s)

[setValueHsl](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValueHsl)

HSL

Not found

This page does not exist

Interactive graph

On this page

HSL interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/expand
----

expand

======

    aliases: "WorkspaceMobileDrawer.expand"

    cssclasses: hide-title

[`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer) › [`expand`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/expand)

WorkspaceMobileDrawer.expand() method

-------------------------------------

**Signature:**

    expand(): void;

**Returns:**

`void`

Links to this page

[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

expand

Not found

This page does not exist

Interactive graph

On this page

WorkspaceMobileDrawer.expand() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorRange/to
----

to

==

    aliases: "EditorRange.to"

    cssclasses: hide-title

[`EditorRange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange) › [`to`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange/to)

EditorRange.to property

-----------------------

**Signature:**

    to: EditorPosition;

Links to this page

[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)

to

Not found

This page does not exist

Interactive graph

On this page

EditorRange.to property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/getMarkdownFiles
----

getMarkdownFiles

================

    aliases: "Vault.getMarkdownFiles"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`getMarkdownFiles`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getMarkdownFiles)

Vault.getMarkdownFiles() method

-------------------------------

Get all Markdown files in the vault.

0.9.7

**Signature:**

    getMarkdownFiles(): TFile[];

**Returns:**

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)`[]`

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

getMarkdownFiles

Not found

This page does not exist

Interactive graph

On this page

Vault.getMarkdownFiles() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption/type
----

BasesDropdownOption.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onNoSuggestion
----

onNoSuggestion

==============

    aliases: "SuggestModal.onNoSuggestion"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) › [`onNoSuggestion`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/onNoSuggestion)

SuggestModal.onNoSuggestion() method

------------------------------------

0.9.20

**Signature:**

    onNoSuggestion(): void;

**Returns:**

`void`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

onNoSuggestion

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.onNoSuggestion() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo/editor
----

editor

======

    aliases: "MarkdownFileInfo.editor"

    cssclasses: hide-title

[`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo) › [`editor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo/editor)

MarkdownFileInfo.editor property

--------------------------------

**Signature:**

    editor?: Editor;

Links to this page

[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)

editor

Not found

This page does not exist

Interactive graph

On this page

MarkdownFileInfo.editor property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/hasFocus
----

hasFocus

========

    aliases: "Editor.hasFocus"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`hasFocus`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/hasFocus)

Editor.hasFocus() method

------------------------

0.11.11

**Signature:**

    abstract hasFocus(): boolean;

**Returns:**

`boolean`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

hasFocus

Not found

This page does not exist

Interactive graph

On this page

Editor.hasFocus() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/process
----

process

=======

    aliases: "DataAdapter.process"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`process`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/process)

DataAdapter.process() method

----------------------------

Atomically read, modify, and save the contents of a plaintext file.

**Signature:**

    process(normalizedPath: string, fn: (data: string) => string, options?: DataWriteOptions): Promise<string>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

path to file/folder, use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) to normalize beforehand.

`fn`

`(data: string) => string`

a callback function which returns the new content of the file synchronously.

`options`

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

_(Optional)_ write options.

**Returns:**

`Promise<string>`

string - the text value of the file that was written.

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

process

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.process() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setIcon
----

setIcon

=======

    aliases: "ButtonComponent.setIcon"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`setIcon`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setIcon)

ButtonComponent.setIcon() method

--------------------------------

1.1.0

**Signature:**

    setIcon(icon: IconName): this;

Parameters

----------

Parameter

Type

Description

`icon`

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

**Returns:**

`this`

Links to this page

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

setIcon

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.setIcon() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/trashSystem
----

trashSystem

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.trashSystem() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId
----

BasesPropertyId

===============

    aliases: "BasesPropertyId"

    cssclasses: hide-title

[`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)

BasesPropertyId type

--------------------

The full ID of a property, used in the bases config file. The prefixed [BasesPropertyType](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyType) disambiguates properties of the same name but from different sources.

1.10.0

**Signature:**

    export type BasesPropertyId = `${BasesPropertyType}.${string}`;

**References:** [`BasesPropertyType`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyType)

Links to this page

[BasesProperty](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty)

[BasesPropertyOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption)

[BasesQueryResult](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult)

[BasesSortConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesSortConfig)

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

[getAsPropertyId](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getAsPropertyId)

[getDisplayName](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getDisplayName)

[getOrder](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/getOrder)

[getSummaryValue](https://docs.obsidian.md/Reference/TypeScript+API/BasesQueryResult/getSummaryValue)

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry/getValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[parsePropertyId](https://docs.obsidian.md/Reference/TypeScript+API/parsePropertyId)

BasesPropertyId

Not found

This page does not exist

Interactive graph

On this page

BasesPropertyId type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileStats
----

FileStats

Not found

This page does not exist

Interactive graph

On this page

FileStats interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer
----

SearchResultContainer

=====================

    aliases: "SearchResultContainer"

    cssclasses: hide-title

[`SearchResultContainer`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)

SearchResultContainer interface

-------------------------------

0.9.21

**Signature:**

    export interface SearchResultContainer 

Properties

----------

Property

Modifiers

Type

Description

[`match`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer/match)

[`SearchResult`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[match](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer/match)

[sortSearchResults](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)

SearchResultContainer

Not found

This page does not exist

Interactive graph

On this page

SearchResultContainer interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/moveLeafToPopout
----

moveLeafToPopout

================

    aliases: "Workspace.moveLeafToPopout"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`moveLeafToPopout`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/moveLeafToPopout)

Workspace.moveLeafToPopout() method

-----------------------------------

Migrates this leaf to a new popout window. Only works on the desktop app.

**Signature:**

    moveLeafToPopout(leaf: WorkspaceLeaf, data?: WorkspaceWindowInitData): WorkspaceWindow;

Parameters

----------

Parameter

Type

Description

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

`data`

[`WorkspaceWindowInitData`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData)

_(Optional)_

**Returns:**

[`WorkspaceWindow`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

Exceptions

----------

Error if the app does not support popout windows (i.e. on mobile or if Electron version is too old) 0.15.4

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

moveLeafToPopout

Not found

This page does not exist

Interactive graph

On this page

Workspace.moveLeafToPopout() method

Parameters

Exceptions

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue/type
----

[](https://docs.obsidian.md/Home)[Developer Documentation](https://docs.obsidian.md/Home)

Plugins

Themes

Reference

CSS variables

TypeScript API

AbstractInputSuggest

AbstractTextComponent

App

BaseComponent

BasesConfigFile

BasesConfigFileView

BasesDropdownOption

BasesEntry

BasesEntryGroup

BasesFileOption

BasesFolderOption

BasesFormulaOption

BasesMultitextOption

BasesOption

BasesOptionGroup

BasesProperty

BasesPropertyOption

BasesQueryResult

BasesSliderOption

BasesTextOption

BasesToggleOption

BasesView

BasesViewConfig

BasesViewRegistration

BlockCache

BlockSubpathResult

BooleanValue

[type](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue/type)

ButtonComponent

CachedMetadata

type

====

    aliases: "BooleanValue.type"

    cssclasses: hide-title

[`BooleanValue`](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue/type)

BooleanValue.type property

--------------------------

1.10.0

**Signature:**

    static type: string;

Links to this page

[BooleanValue](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue)

type

Not found

This page does not exist

Interactive graph

On this page

BooleanValue.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addColorPicker
----

addColorPicker

==============

    aliases: "Setting.addColorPicker"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addColorPicker`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addColorPicker)

Setting.addColorPicker() method

-------------------------------

0.16.0

**Signature:**

    addColorPicker(cb: (component: ColorComponent) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(component:` [`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)`) => any`

**Returns:**

addColorPicker

Not found

This page does not exist

Interactive graph

On this page

Setting.addColorPicker() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/fromMilliseconds
----

fromMilliseconds

================

    aliases: "DurationValue.fromMilliseconds"

    cssclasses: hide-title

[`DurationValue`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue) › [`fromMilliseconds`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/fromMilliseconds)

DurationValue.fromMilliseconds() method

---------------------------------------

Create a new DurationValue from milliseconds.

1.10.0

**Signature:**

    static fromMilliseconds(milliseconds: number): DurationValue;

Parameters

----------

Parameter

Type

Description

`milliseconds`

`number`

**Returns:**

[`DurationValue`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

Links to this page

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

fromMilliseconds

Not found

This page does not exist

Interactive graph

On this page

DurationValue.fromMilliseconds() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/copy
----

copy

====

    aliases: "FileSystemAdapter.copy"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`copy`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/copy)

FileSystemAdapter.copy() method

-------------------------------

**Signature:**

    copy(normalizedPath: string, normalizedNewPath: string): Promise<void>;

Parameters

----------

copy

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.copy() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValue
----

getValue

========

    aliases: "ColorComponent.getValue"

    cssclasses: hide-title

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent) › [`getValue`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValue)

ColorComponent.getValue() method

--------------------------------

1.0.0

**Signature:**

    getValue(): HexString;

**Returns:**

[`HexString`](https://docs.obsidian.md/Reference/TypeScript+API/HexString)

Links to this page

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

getValue

Not found

This page does not exist

Interactive graph

On this page

ColorComponent.getValue() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Events
----

Events

======

    aliases: "Events"

    cssclasses: hide-title

[`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events)

Events class

------------

0.9.7

**Signature:**

    export class Events 

Methods

-------

Method

Modifiers

Description

[`off(name, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/off)

0.9.7

[`offref(ref)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref)

0.9.7

[`on(name: string, callback, ctx)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/on)

0.9.7

[`trigger(name, data)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/trigger)

0.9.7

[`tryTrigger(evt, args)`](https://docs.obsidian.md/Reference/TypeScript+API/Events/tryTrigger)

0.9.7

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MetadataCache](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache)

[off](https://docs.obsidian.md/Reference/TypeScript+API/Events/off)

[offref](https://docs.obsidian.md/Reference/TypeScript+API/Events/offref)

[on](https://docs.obsidian.md/Reference/TypeScript+API/Events/on)

[trigger](https://docs.obsidian.md/Reference/TypeScript+API/Events/trigger)

[tryTrigger](https://docs.obsidian.md/Reference/TypeScript+API/Events/tryTrigger)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

[WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

Events

Not found

This page does not exist

Interactive graph

On this page

Events class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingTab
----

SettingTab

==========

    aliases: "SettingTab"

    cssclasses: hide-title

[`SettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)

SettingTab class

----------------

**Signature:**

    export abstract class SettingTab 

Properties

----------

[`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/containerEl)

`HTMLElement`

HTML element for the setting tab content.

[`icon`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/icon)

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

The icon to display in the settings sidebar.

1.11.0

Methods

-------

Method

Modifiers

Description

[`display()`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/display)

`abstract`

Called when the settings tab should be rendered.

[`hide()`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/hide)

Hides the contents of the setting tab. Any registered components should be unloaded when the view is hidden. Override this if you need to perform additional cleanup.

Links to this page

[app](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/app)

[containerEl](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/containerEl)

[display](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/display)

[hide](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/hide)

[icon](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/icon)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

SettingTab

Not found

This page does not exist

Interactive graph

On this page

SettingTab class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/requestSaveLayout
----

requestSaveLayout

=================

requestSaveLayout

Not found

This page does not exist

Interactive graph

On this page

Workspace.requestSaveLayout property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/getSuggestions
----

getSuggestions

==============

    aliases: "EditorSuggest.getSuggestions"

    cssclasses: hide-title

[`EditorSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest) › [`getSuggestions`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/getSuggestions)

EditorSuggest.getSuggestions() method

-------------------------------------

Generate suggestion items based on this context. Can be async, but preferably sync. When generating async suggestions, you should pass the context along.

0.12.17

**Signature:**

    abstract getSuggestions(context: EditorSuggestContext): T[] | Promise<T[]>;

Parameters

----------

Parameter

Type

Description

`context`

[`EditorSuggestContext`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

**Returns:**

`T[] | ``Promise<T[]>`

Links to this page

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

getSuggestions

Not found

This page does not exist

Interactive graph

On this page

EditorSuggest.getSuggestions() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectActiveSuggestion
----

selectActiveSuggestion

======================

    aliases: "SuggestModal.selectActiveSuggestion"

    cssclasses: hide-title

[`SuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal) › [`selectActiveSuggestion`](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/selectActiveSuggestion)

SuggestModal.selectActiveSuggestion() method

--------------------------------------------

1.7.2

**Signature:**

    selectActiveSuggestion(evt: MouseEvent | KeyboardEvent): void;

Parameters

----------

Parameter

Type

Description

`evt`

`MouseEvent` `|` `KeyboardEvent`

**Returns:**

`void`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

selectActiveSuggestion

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.selectActiveSuggestion() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Notice/noticeEl
----

noticeEl

========

noticeEl

Not found

This page does not exist

Interactive graph

On this page

Notice.noticeEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getContainer
----

getContainer

============

    aliases: "WorkspaceItem.getContainer"

    cssclasses: hide-title

[`WorkspaceItem`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem) › [`getContainer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceItem/getContainer)

WorkspaceItem.getContainer() method

-----------------------------------

Get the root container parent item, which can be one of: - [WorkspaceRoot](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceRoot) - [WorkspaceWindow](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindow)

0.15.4

**Signature:**

    getContainer(): WorkspaceContainer;

**Returns:**

[`WorkspaceContainer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceContainer)

getContainer

Not found

This page does not exist

Interactive graph

On this page

WorkspaceItem.getContainer() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath
----

finishRenderMath

================

    aliases: "finishRenderMath"

    cssclasses: hide-title

[`finishRenderMath`](https://docs.obsidian.md/Reference/TypeScript+API/finishRenderMath)

finishRenderMath() function

---------------------------

Flush the MathJax stylesheet.

**Signature:**

    export function finishRenderMath(): Promise<void>;

**Returns:**

`Promise<void>`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

finishRenderMath

Not found

This page does not exist

Interactive graph

On this page

finishRenderMath() function

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/x
----

x

=

    aliases: "MenuPositionDef.x"

    cssclasses: hide-title

[`MenuPositionDef`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef) › [`x`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/x)

MenuPositionDef.x property

--------------------------

**Signature:**

    x: number;

Links to this page

[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)

x

Not found

This page does not exist

Interactive graph

On this page

MenuPositionDef.x property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/type
----

type

====

    aliases: "BasesFileOption.type"

    cssclasses: hide-title

[`BasesFileOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/type)

BasesFileOption.type property

-----------------------------

1.10.2

**Signature:**

    type: 'file';

Links to this page

[BasesFileOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption)

type

Not found

This page does not exist

Interactive graph

On this page

BasesFileOption.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/onClick
----

onClick

Not found

This page does not exist

Interactive graph

On this page

ExtraButtonComponent.onClick() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/overlap
----

overlap

Not found

This page does not exist

Interactive graph

On this page

MenuPositionDef.overlap property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/(constructor)
----

(constructor)

=============

    aliases: "ProgressBarComponent.(constructor)"

    cssclasses: hide-title

[`ProgressBarComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/\(constructor\))

ProgressBarComponent.(constructor)

----------------------------------

Constructs a new instance of the `ProgressBarComponent` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

ProgressBarComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/undo
----

undo

====

    aliases: "Editor.undo"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`undo`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/undo)

Editor.undo() method

--------------------

0.11.11

**Signature:**

    abstract undo(): void;

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

undo

Not found

This page does not exist

Interactive graph

On this page

Editor.undo() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions
----

BasesOptions

============

    aliases: "BasesOptions"

    cssclasses: hide-title

[`BasesOptions`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptions)

BasesOptions type

-----------------

1.10.0

**Signature:**

    export type BasesOptions = BasesDropdownOption | BasesFileOption | BasesFolderOption | BasesFormulaOption | BasesMultitextOption | BasesPropertyOption | BasesSliderOption | BasesTextOption | BasesToggleOption;

**References:** [`BasesDropdownOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesDropdownOption), [`BasesFileOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption), [`BasesFolderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption), [`BasesFormulaOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFormulaOption), [`BasesMultitextOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption), [`BasesPropertyOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption), [`BasesSliderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption), [`BasesTextOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption), [`BasesToggleOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesToggleOption)

Links to this page

[BasesAllOptions](https://docs.obsidian.md/Reference/TypeScript+API/BasesAllOptions)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

BasesOptions

Not found

This page does not exist

Interactive graph

On this page

BasesOptions type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField
----

editorInfoField

===============

    aliases: "editorInfoField"

    cssclasses: hide-title

[`editorInfoField`](https://docs.obsidian.md/Reference/TypeScript+API/editorInfoField)

editorInfoField variable

------------------------

Use this StateField to get information about this Markdown editor, such as the associated file, or the Editor.

**Signature:**

    editorInfoField: StateField<MarkdownFileInfo>

Links to this page

[editorViewField](https://docs.obsidian.md/Reference/TypeScript+API/editorViewField)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

editorInfoField

Not found

This page does not exist

Interactive graph

On this page

editorInfoField variable

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileManager
----

FileManager

===========

    aliases: "FileManager"

    cssclasses: hide-title

[`FileManager`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)

FileManager class

-----------------

Manage the creation, deletion and renaming of files from the UI.

0.9.7

**Signature:**

    export class FileManager 

Methods

-------

Method

Modifiers

Description

[`generateMarkdownLink(file, sourcePath, subpath, alias)`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/generateMarkdownLink)

Generate a Markdown link based on the user's preferences.

[`getAvailablePathForAttachment(filename, sourcePath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/getAvailablePathForAttachment)

Resolves a unique path for the attachment file being saved. Ensures that the parent directory exists and dedupes the filename if the destination filename already exists.

[`getNewFileParent(sourcePath, newFilePath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/getNewFileParent)

Gets the folder that new files should be saved to, given the user's preferences.

[`processFrontMatter(file, fn, options)`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/processFrontMatter)

Atomically read, modify, and save the frontmatter of a note. The frontmatter is passed in as a JS object, and should be mutated directly to achieve the desired result.

Remember to handle errors thrown by this method.

[`promptForDeletion(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/promptForDeletion)

Prompt the user to confirm they want to delete the specified file or folder

[`renameFile(file, newPath)`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/renameFile)

Rename or move a file safely, and update all links to it depending on the user's preferences.

[`trashFile(file)`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/trashFile)

Remove a file or a folder from the vault according the user's preferred 'trash' options (either moving the file to .trash/ or the OS trash bin).

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

[generateMarkdownLink](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/generateMarkdownLink)

[getAvailablePathForAttachment](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/getAvailablePathForAttachment)

[getNewFileParent](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/getNewFileParent)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[processFrontMatter](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/processFrontMatter)

[promptForDeletion](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/promptForDeletion)

[renameFile](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/renameFile)

[trashFile](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/trashFile)

FileManager

Not found

This page does not exist

Interactive graph

On this page

FileManager class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult
----

ViewStateResult

===============

    aliases: "ViewStateResult"

    cssclasses: hide-title

[`ViewStateResult`](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)

ViewStateResult interface

-------------------------

**Signature:**

    export interface ViewStateResult 

Properties

----------

Property

Modifiers

Type

Description

[`history`](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult/history)

`boolean`

Set this to true to indicate that there is a state change which should be recorded in the navigation history.

Links to this page

[history](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult/history)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[setState](https://docs.obsidian.md/Reference/TypeScript+API/View/setState)

[setState](https://docs.obsidian.md/Reference/TypeScript+API/FileView/setState)

ViewStateResult

Not found

This page does not exist

Interactive graph

On this page

ViewStateResult interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/listItems
----

listItems

=========

    aliases: "CachedMetadata.listItems"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`listItems`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/listItems)

CachedMetadata.listItems property

---------------------------------

**Signature:**

    listItems?: ListItemCache[];

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

listItems

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.listItems property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/close
----

close

=====

    aliases: "Modal.close"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`close`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/close)

Modal.close() method

--------------------

Hide the modal.

**Signature:**

    close(): void;

**Returns:**

`void`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

close

Not found

This page does not exist

Interactive graph

On this page

Modal.close() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/setValue
----

setValue

========

    aliases: "ValueComponent.setValue"

    cssclasses: hide-title

[`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/setValue)

ValueComponent.setValue() method

--------------------------------

0.9.7

**Signature:**

    abstract setValue(value: T): this;

Parameters

----------

Parameter

Type

Description

`value`

`T`

**Returns:**

`this`

Links to this page

[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)

setValue

Not found

This page does not exist

Interactive graph

On this page

ValueComponent.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerExtensions
----

registerExtensions

==================

    aliases: "Plugin.registerExtensions"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`registerExtensions`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerExtensions)

Plugin.registerExtensions() method

----------------------------------

0.9.7

**Signature:**

    registerExtensions(extensions: string[], viewType: string): void;

Parameters

----------

Parameter

Type

Description

`extensions`

`string[]`

`viewType`

`string`

**Returns:**

registerExtensions

Not found

This page does not exist

Interactive graph

On this page

Plugin.registerExtensions() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addSettingTab
----

addSettingTab

=============

    aliases: "Plugin.addSettingTab"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`addSettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addSettingTab)

Plugin.addSettingTab() method

-----------------------------

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

**Signature:**

    addSettingTab(settingTab: PluginSettingTab): void;

Parameters

----------

Parameter

Type

Description

`settingTab`

[`PluginSettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

**Returns:**

`void`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

addSettingTab

Not found

This page does not exist

Interactive graph

On this page

Plugin.addSettingTab() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/default
----

default

=======

    aliases: "BasesFileOption.default"

    cssclasses: hide-title

[`BasesFileOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption) › [`default`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption/default)

BasesFileOption.default property

--------------------------------

1.10.2

**Signature:**

    default?: string;

Links to this page

[BasesFileOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFileOption)

default

Not found

This page does not exist

Interactive graph

On this page

BasesFileOption.default property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setInstant
----

setInstant

==========

    aliases: "SliderComponent.setInstant"

    cssclasses: hide-title

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent) › [`setInstant`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setInstant)

SliderComponent.setInstant() method

-----------------------------------

**Signature:**

    setInstant(instant: boolean): this;

Parameters

----------

Parameter

Type

Description

`instant`

`boolean`

whether or not the value should get updated while the slider is dragging

1.6.6

**Returns:**

`this`

Links to this page

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

setInstant

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.setInstant() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileManager/promptForDeletion
----

promptForDeletion

=================

    aliases: "FileManager.promptForDeletion"

    cssclasses: hide-title

[`FileManager`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager) › [`promptForDeletion`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/promptForDeletion)

FileManager.promptForDeletion() method

--------------------------------------

Prompt the user to confirm they want to delete the specified file or folder

**Signature:**

    promptForDeletion(file: TAbstractFile): Promise<boolean>;

Parameters

----------

Parameter

Type

Description

`file`

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

the file or folder to delete

**Returns:**

`Promise<boolean>`

A promise that resolves to true if the prompt was confirmed or false if it was canceled

0.15.0

Links to this page

[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)

promptForDeletion

Not found

This page does not exist

Interactive graph

On this page

FileManager.promptForDeletion() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Foundations/Typography
----

Typography

==========

    cssclasses: reference

Fonts

-----

Variable

Description

`--font-interface-theme`

Font used for UI elements

`--font-text-theme`

Font used for text in the editor

`--font-monospace-theme`

Font used for monospaced content such as code blocks and inline code

Font size

---------

Obsidian uses both relative and fixed font sizes depending on the context.

*   Use `--font-*` (relative) variables in the editor.

*   Use `--font-ui-*` (fixed) variables for UI elements.

Variable

Default value

Description

`--font-text-size`

`16px`

Editor font size. Defined by the user under Appearance settings.

`--font-smallest`

`0.8em`

`--font-smaller`

`0.875em`

`--font-small`

`0.933em`

`--font-ui-smaller`

`12px`

`--font-ui-small`

`13px`

`--font-ui-medium`

`15px`

`--font-ui-large`

`20px`

Font weight

-----------

Variable

Default value

`--font-thin`

`100`

`--font-extralight`

`200`

`--font-light`

`300`

`--font-normal`

`400`

`--font-medium`

`500`

`--font-semibold`

`600`

`--font-bold`

`700`

`--font-extrabold`

`800`

`--font-black`

`900`

Text formatting

---------------

As of Obsidian 1.6 `--bold-modifier` is the recommended way to change the weight of bolded text. The bold modifier value stacks on top of other font weights. This allows text which may already be bolded to have an even heavier weight, e.g. `## Bold **bolder**`. Recommended values for `--bold-modifier` are between 100 and 300.

Variable

Description

`--font-weight`

Regular text weight

`--bold-modifier`

Added weight for bolded text

`--bold-weight`

Bold text font weight

`--bold-color`

Bold text color

`--italic-color`

Italic text color

Line heights

------------

Variable

Default value

Description

`--line-height-normal`

`1.5`

Default line height

`--line-height-tight`

`1.3`

Used in search results, tree items, tooltips, and other smaller spaces

Paragraph spacing

-----------------

Variable

Description

`--heading-spacing`

Spacing above headings

`--p-spacing`

Spacing between paragraphs

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Headings](https://docs.obsidian.md/Reference/CSS+variables/Editor/Headings)

Typography

Not found

This page does not exist

Interactive graph

On this page

Fonts

Font size

Font weight

Text formatting

Line heights

Paragraph spacing

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/containerEl
----

containerEl

===========

    aliases: "SettingTab.containerEl"

    cssclasses: hide-title

[`SettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab) › [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/containerEl)

SettingTab.containerEl property

-------------------------------

HTML element for the setting tab content.

**Signature:**

    containerEl: HTMLElement;

Links to this page

[PluginSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

[SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)

containerEl

Not found

This page does not exist

Interactive graph

On this page

SettingTab.containerEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileManager/trashFile
----

trashFile

=========

    aliases: "FileManager.trashFile"

    cssclasses: hide-title

[`FileManager`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager) › [`trashFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/trashFile)

FileManager.trashFile() method

------------------------------

Remove a file or a folder from the vault according the user's preferred 'trash' options (either moving the file to .trash/ or the OS trash bin).

**Signature:**

    trashFile(file: TAbstractFile): Promise<void>;

Parameters

----------

Parameter

Type

Description

`file`

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

1.6.6

**Returns:**

`Promise<void>`

Links to this page

[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)

trashFile

Not found

This page does not exist

Interactive graph

On this page

FileManager.trashFile() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/contentStart
----

contentStart

============

    aliases: "FrontMatterInfo.contentStart"

    cssclasses: hide-title

[`FrontMatterInfo`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo) › [`contentStart`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/contentStart)

FrontMatterInfo.contentStart property

-------------------------------------

Offset where the frontmatter block ends (including the ---)

**Signature:**

    contentStart: number;

Links to this page

[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)

contentStart

Not found

This page does not exist

Interactive graph

On this page

FrontMatterInfo.contentStart property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Tabs
----

Tabs

====

    cssclasses: reference

This page lists CSS variables for tabs.

CSS variables

-------------

Variable

Description

`--tab-background-active`

Tab background color (active tab)

`--tab-text-color`

Tab text color

`--tab-text-color-active`

Tab text color (non-focused window, active)

`--tab-text-color-focused`

Tab text color (focused window)

`--tab-text-color-focused-active`

Tab text color (focused window, active)

`--tab-text-color-focused-highlighted`

Tab text color (focused window, highlighted)

`--tab-text-color-focused-active-current`

Tab text color (focused window, current tab)

`--tab-font-size`

Tab font size

`--tab-font-weight`

Tab font weight

`--tab-container-background`

Tab container background color

`--tab-divider-color`

Tab divider color

`--tab-outline-color`

Tab outline color

`--tab-outline-width`

Tab outline width

`--tab-curve`

Tab curve radius

`--tab-radius`

Tab outer radius

`--tab-radius-active`

Tab outer radius (active tab)

`--tab-width`

Tab default width

`--tab-max-width`

Tab maximum width

### Tab stacks

Styling for stacked tabs

Variable

Description

`--tab-stacked-pane-width`

Stacked pane width

`--tab-stacked-header-width`

Stacked header width

`--tab-stacked-font-size`

Stacked tab font size

`--tab-stacked-font-weight`

Stacked tab font weight

`--tab-stacked-text-align`

Stacked tab text alignment

`--tab-stacked-text-transform`

Stacked tab text transform

`--tab-stacked-text-writing-mode`

Stacked tab text writing mode

`--tab-stacked-shadow`

Stacked tab shadow

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Tabs

Not found

This page does not exist

Interactive graph

On this page

CSS variables

Tab stacks

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/onload
----

onload

======

    aliases: "FileView.onload"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`onload`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onload)

FileView.onload() method

------------------------

**Signature:**

    onload(): void;

**Returns:**

`void`

Links to this page

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

onload

Not found

This page does not exist

Interactive graph

On this page

FileView.onload() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ItemView/(constructor)
----

(constructor)

=============

    aliases: "ItemView.(constructor)"

    cssclasses: hide-title

[`ItemView`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/ItemView/\(constructor\))

ItemView.(constructor)

----------------------

Constructs a new instance of the `ItemView` class

**Signature:**

    constructor(leaf: WorkspaceLeaf);

Parameters

----------

Parameter

Type

Description

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

Links to this page

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

ItemView.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/rmdir
----

rmdir

=====

    aliases: "DataAdapter.rmdir"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`rmdir`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/rmdir)

DataAdapter.rmdir() method

--------------------------

Remove a directory.

**Signature:**

    rmdir(normalizedPath: string, recursive: boolean): Promise<void>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

path to folder, use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) to normalize beforehand.

`recursive`

`boolean`

If `true`, delete folders under this folder recursively, if `false` the folder needs to be empty.

**Returns:**

`Promise<void>`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

rmdir

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.rmdir() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/exists
----

exists

======

    aliases: "CapacitorAdapter.exists"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`exists`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/exists)

CapacitorAdapter.exists() method

--------------------------------

1.7.2

**Signature:**

    exists(normalizedPath: string, sensitive?: boolean): Promise<boolean>;

Parameters

----------

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

exists

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.exists() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/shouldRestoreSelection
----

shouldRestoreSelection

======================

    aliases: "Modal.shouldRestoreSelection"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`shouldRestoreSelection`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/shouldRestoreSelection)

Modal.shouldRestoreSelection property

-------------------------------------

0.9.16

**Signature:**

    shouldRestoreSelection: boolean;

shouldRestoreSelection

Not found

This page does not exist

Interactive graph

On this page

Modal.shouldRestoreSelection property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/lastEvent
----

lastEvent

=========

    aliases: "App.lastEvent"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) › [`lastEvent`](https://docs.obsidian.md/Reference/TypeScript+API/App/lastEvent)

App.lastEvent property

----------------------

The last known user interaction event, to help commands find out what modifier keys are pressed.

0.12.17

**Signature:**

    lastEvent: UserEvent | null;

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

lastEvent

Not found

This page does not exist

Interactive graph

On this page

App.lastEvent property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CliData
----

CliData

Not found

This page does not exist

Interactive graph

On this page

CliData interface

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setIsLabel
----

setIsLabel

==========

setIsLabel

Not found

This page does not exist

Interactive graph

On this page

MenuItem.setIsLabel() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/scope
----

scope

=====

    aliases: "PopoverSuggest.scope"

    cssclasses: hide-title

[`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest) › [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/scope)

PopoverSuggest.scope property

-----------------------------

**Signature:**

    scope: Scope;

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/\(constructor\))

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)

scope

Not found

This page does not exist

Interactive graph

On this page

PopoverSuggest.scope property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on('group-change')
----

on('group-change')

==================

    aliases: "WorkspaceLeaf.on('group-change')"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [on('group-change')](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on\('group-change'\))

WorkspaceLeaf.on('group-change') method

---------------------------------------

**Signature:**

    on(name: 'group-change', callback: (group: string) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'group-change'`

`callback`

`(group: string) => any`

`ctx`

`any`

_(Optional)_

**Returns:**

[`EventRef`](https://docs.obsidian.md/Reference/TypeScript+API/EventRef)

Links to this page

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

on('group-change')

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.on('group-change') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/(constructor)
----

(constructor)

=============

    aliases: "PrimitiveValue.(constructor)"

    cssclasses: hide-title

[`PrimitiveValue`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/\(constructor\))

PrimitiveValue.(constructor)

----------------------------

1.10.0

**Signature:**

    constructor(value: T);

Parameters

----------

Parameter

Type

Description

`value`

`T`

[UrlValue](https://docs.obsidian.md/Reference/TypeScript+API/UrlValue)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

PrimitiveValue.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf_1
----

duplicateLeaf\_1

================

    aliases: "Workspace.duplicateLeaf_1"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`duplicateLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/duplicateLeaf_1)

Workspace.duplicateLeaf() method

--------------------------------

1.1.0

**Signature:**

    duplicateLeaf(leaf: WorkspaceLeaf, leafType: PaneType | boolean, direction?: SplitDirection): Promise<WorkspaceLeaf>;

Parameters

----------

Parameter

Type

Description

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

`leafType`

[`PaneType`](https://docs.obsidian.md/Reference/TypeScript+API/PaneType) `| boolean`

`direction`

[`SplitDirection`](https://docs.obsidian.md/Reference/TypeScript+API/SplitDirection)

_(Optional)_

**Returns:**

`Promise<`[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)`>`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

duplicateLeaf\_1

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/renderMarkdown
----

renderMarkdown

==============

    aliases: "MarkdownRenderer.renderMarkdown"

    cssclasses: hide-title

[`MarkdownRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer) › [`renderMarkdown`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/renderMarkdown)

MarkdownRenderer.renderMarkdown() method

----------------------------------------

> Warning: This API is now obsolete.

> 

> *   use [MarkdownRenderer.render()](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/render) 0.10.6

Renders Markdown string to an HTML element.

**Signature:**

    static renderMarkdown(markdown: string, el: HTMLElement, sourcePath: string, component: Component): Promise<void>;

Parameters

----------

Parameter

Type

Description

`markdown`

`string`

`el`

`HTMLElement`

`sourcePath`

`string`

`component`

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)

**Returns:**

`Promise<void>`

Links to this page

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

renderMarkdown

Not found

This page does not exist

Interactive graph

On this page

MarkdownRenderer.renderMarkdown() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/nameEl
----

nameEl

======

    aliases: "Setting.nameEl"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`nameEl`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/nameEl)

Setting.nameEl property

-----------------------

0.9.7

**Signature:**

    nameEl: HTMLElement;

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

nameEl

Not found

This page does not exist

Interactive graph

On this page

Setting.nameEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext/editor
----

editor

======

    aliases: "EditorSuggestContext.editor"

    cssclasses: hide-title

[`EditorSuggestContext`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext) › [`editor`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext/editor)

EditorSuggestContext.editor property

------------------------------------

**Signature:**

    editor: Editor;

Links to this page

[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

[onTrigger](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/onTrigger)

editor

Not found

This page does not exist

Interactive graph

On this page

EditorSuggestContext.editor property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Pos/start
----

start

Not found

This page does not exist

Interactive graph

On this page

Pos.start property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/onChange
----

onChange

========

    aliases: "SecretComponent.onChange"

    cssclasses: hide-title

[`SecretComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent) › [`onChange`](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent/onChange)

SecretComponent.onChange() method

---------------------------------

1.11.4

**Signature:**

    onChange(cb: (value: string) => unknown): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(value: string) => unknown`

**Returns:**

`this`

Links to this page

[SecretComponent](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent)

onChange

Not found

This page does not exist

Interactive graph

On this page

SecretComponent.onChange() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext
----

EditorSuggestContext

====================

    aliases: "EditorSuggestContext"

    cssclasses: hide-title

[`EditorSuggestContext`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

EditorSuggestContext interface

------------------------------

0.12.17

**Signature:**

    export interface EditorSuggestContext extends EditorSuggestTriggerInfo 

**Extends:** [`EditorSuggestTriggerInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo)

Properties

----------

Property

Modifiers

Type

Description

[`editor`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext/editor)

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

[`end`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/end)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

The end position of the triggering text. This is used to position the popover.

(Inherited from [EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo))

[`file`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext/file)

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

[`query`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/query)

`string`

They query string (usually the text between start and end) that will be used to generate the suggestion content.

(Inherited from [EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo))

[`start`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo/start)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

The start position of the triggering text. This is used to position the popover.

(Inherited from [EditorSuggestTriggerInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestTriggerInfo))

Links to this page

[editor](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext/editor)

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

[file](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext/file)

[getSuggestions](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest/getSuggestions)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

EditorSuggestContext

Not found

This page does not exist

Interactive graph

On this page

EditorSuggestContext interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/LinkValue/parseFromString
----

[parseFromString](https://docs.obsidian.md/Reference/TypeScript+API/LinkValue/parseFromString)

ListedFiles

ListItemCache

ListValue

LivePreviewStateType

parseFromString

Not found

This page does not exist

Interactive graph

On this page

LinkValue.parseFromString() method

Parameters

Example

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/refresh
----

refresh

=======

    aliases: "Editor.refresh"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`refresh`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/refresh)

Editor.refresh() method

-----------------------

0.11.11

**Signature:**

    abstract refresh(): void;

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

refresh

Not found

This page does not exist

Interactive graph

On this page

Editor.refresh() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RenderContext
----

RenderContext

=============

    aliases: "RenderContext"

    cssclasses: hide-title

[`RenderContext`](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext)

RenderContext class

-------------------

Utility functions for rendering Values within the app.

1.10.0

**Signature:**

    export class RenderContext implements HoverParent 

**Implements:** [`HoverParent`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)

Properties

----------

Property

Modifiers

Type

Description

[`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext/hoverPopover)

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) `| null`

1.10.0

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

[hoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext/hoverPopover)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[renderTo](https://docs.obsidian.md/Reference/TypeScript+API/Value/renderTo)

RenderContext

Not found

This page does not exist

Interactive graph

On this page

RenderContext class

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin
----

Plugin

======

    aliases: "Plugin"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

Plugin class

------------

0.9.7

**Signature:**

    export abstract class Plugin extends Component 

**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(app, manifest)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/\(constructor\))

Constructs a new instance of the `Plugin` class

Properties

----------

Property

Modifiers

Type

Description

[`app`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/app)

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

0.9.7

[`manifest`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/manifest)

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

0.9.7

Methods

-------

[`addCommand(command)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addCommand)

Register a command globally. Registered commands will be available from the . The command id and name will be automatically prefixed with this plugin's id and name.

0.9.7

[`addRibbonIcon(icon, title, callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addRibbonIcon)

Adds a ribbon icon to the left bar.

[`addSettingTab(settingTab)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addSettingTab)

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

[`addStatusBarItem()`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addStatusBarItem)

Adds a status bar item to the bottom of the app. Not available on mobile.

[`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load)

Load this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`loadData()`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/loadData)

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

[`onExternalSettingsChange()?`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onExternalSettingsChange)

_(Optional)_ Called when the `data.json` file is modified on disk externally from Obsidian. This usually means that a Sync service or external program has modified the plugin settings.

Implement this method to reload plugin settings when they have changed externally.

1.5.7

[`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onload)

0.9.7

[`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload)

Override this to unload your component

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`onUserEnable()`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onUserEnable)

Perform any initial setup code. The user has explicitly interacted with the plugin so its safe to engage with the user. If your plugin registers a custom view, you can open it here.

1.7.2

[`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register)

Registers a callback to be called when unloading

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`registerBasesView(viewId, registration)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerBasesView)

Register a Base view handler that can be used to render data from property queries.

[`registerCliHandler(command, description, flags, handler)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerCliHandler)

Register a CLI handler to handle a command from the CLI. Command IDs must be globally unique. Attempting to register a command that is already registered will throw an Error.

Use the format `<plugin-id>` for your default command, and `<plugin-id>:<action>` for sub-commands and actions.

[`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent)

Registers a DOM event to be detached when unloading

0.14.8

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1)

Registers a DOM event to be detached when unloading

0.14.8

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2)

Registers a DOM event to be detached when unloading

0.14.8

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`registerEditorExtension(extension)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorExtension)

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()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions) will apply the changes.

[`registerEditorSuggest(editorSuggest)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorSuggest)

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

0.12.7

[`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent)

Registers an event to be detached when unloading

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`registerExtensions(extensions, viewType)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerExtensions)

0.9.7

[`registerHoverLinkSource(id, info)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerHoverLinkSource)

Registers a view with the 'Page preview' core plugin as an emitter of the 'hover-link' event.

1.1.0

[`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval)

Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API

0.13.8

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`registerMarkdownCodeBlockProcessor(language, handler, sortOrder)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownCodeBlockProcessor)

Register a special post processor that handles fenced code given a language and a handler. This special post processor takes care of removing the `<pre><code>` and create a `<div>` that will be passed to the handler, and is expected to be filled with custom elements.

[`registerMarkdownPostProcessor(postProcessor, sortOrder)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownPostProcessor)

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

[`registerObsidianProtocolHandler(action, handler)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerObsidianProtocolHandler)

Register a handler for obsidian:// URLs.

[`registerView(type, viewCreator)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerView)

0.9.7

[`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild)

Removes a child component, unloading it

0.12.0

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`removeCommand(commandId)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/removeCommand)

Manually remove a command from the list of global commands. This should not be needed unless your plugin registers commands dynamically.

1.7.2

[`saveData(data)`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/saveData)

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

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/\(constructor\))

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab/\(constructor\))

[addCommand](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addCommand)

[addRibbonIcon](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addRibbonIcon)

[addSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addSettingTab)

[addStatusBarItem](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addStatusBarItem)

[Anatomy of a plugin](https://docs.obsidian.md/Plugins/Getting+started/Anatomy+of+a+plugin)

[app](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/app)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[loadData](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/loadData)

[manifest](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/manifest)

[onExternalSettingsChange](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onExternalSettingsChange)

[onload](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onload)

[onUserEnable](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onUserEnable)

[registerBasesView](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerBasesView)

[registerCliHandler](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerCliHandler)

[registerEditorExtension](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorExtension)

[registerEditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorSuggest)

[registerExtensions](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerExtensions)

[registerHoverLinkSource](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerHoverLinkSource)

[registerMarkdownCodeBlockProcessor](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownCodeBlockProcessor)

[registerMarkdownPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownPostProcessor)

[registerObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerObsidianProtocolHandler)

[registerView](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerView)

[removeCommand](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/removeCommand)

[saveData](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/saveData)

Plugin

Not found

This page does not exist

Interactive graph

On this page

Plugin class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/getValue
----

getValue

========

    aliases: "SliderComponent.getValue"

    cssclasses: hide-title

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent) › [`getValue`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/getValue)

SliderComponent.getValue() method

---------------------------------

0.9.7

**Signature:**

    getValue(): number;

**Returns:**

`number`

Links to this page

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

getValue

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.getValue() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('create')
----

on('create')

============

    aliases: "Vault.on('create')"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [on('create')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on\('create'\))

Vault.on('create') method

-------------------------

Called when a file is created. This is also called when the vault is first loaded for each existing file If you do not wish to receive create events on vault load, register your event handler inside [Workspace.onLayoutReady()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/onLayoutReady).

0.9.7

**Signature:**

    on(name: 'create', callback: (file: TAbstractFile) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'create'`

on('create')

Not found

This page does not exist

Interactive graph

On this page

Vault.on('create') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Editor/State+fields
----

State fields

============

A state field is an [editor extension](https://docs.obsidian.md/Plugins/Editor/Editor+extensions) that lets you manage custom editor state. This page walks you through building a state field by implementing a calculator extension.

The calculator should be able to add and subtract a number from the current state, and to reset the state when you want to start over.

By the end of this page, you'll understand the basic concepts of building a state field.

Note

This page aims to distill the official CodeMirror 6 documentation for Obsidian plugin developers. For more detailed information on state fields, refer to [State Fields](https://codemirror.net/docs/guide/#state-fields).

Prerequisites

-------------

*   Basic understanding of [State management](https://docs.obsidian.md/Plugins/Editor/State+management).

Defining state effects

----------------------

State effects describe the state change you'd like to make. You may think of them as methods on a class.

In the calculator example, you'd define a state effect for each of the calculator operations:

    const addEffect = StateEffect.define<number>();

    const subtractEffect = StateEffect.define<number>();

    const resetEffect = StateEffect.define();

The type between the angle brackets, `<>`, defines the input type for the effect. For example, the number you want to add or subtract. The reset effect doesn't need any input, so you can leave it out.

Defining a state field

----------------------

Contrary to what one might think, state fields don't actually _store_ state. They _manage_ it. State fields take the current state, applies any state effects, and returns the new state.

The state field contains the calculator logic to apply the mathematical operations depending on the effects in a transaction. Since a transaction can contain multiple effects, for example two additions, the state field needs to apply them all one after another.

    export const calculatorField = StateField.define<number>({

      create(state: EditorState): number {

        return 0;

      },

      update(oldState: number, transaction: Transaction): number {

        let newState = oldState;

        for (let effect of transaction.effects) {

          if (effect.is(addEffect)) {

            newState += effect.value;

          } else if (effect.is(subtractEffect)) {

            newState -= effect.value;

          } else if (effect.is(resetEffect)) {

            newState = 0;

          }

        }

        return newState;

      },

    });

*   `create` returns the value the calculator starts with.

*   `update` contains the logic for applying the effects.

*   `effect.is()` lets you check the type of the effect before you apply it.

Dispatching state effects

-------------------------

To apply a state effect to a state field, you need to dispatch it to the editor view as part of a transaction.

    view.dispatch({

      effects: [addEffect.of(num)],

    });

You can even define a set of helper functions that provide a more familiar API:

    export function add(view: EditorView, num: number) {

      view.dispatch({

        effects: [addEffect.of(num)],

      });

    }

    export function subtract(view: EditorView, num: number) {

      view.dispatch({

        effects: [subtractEffect.of(num)],

      });

    }

    export function reset(view: EditorView) {

      view.dispatch({

        effects: [resetEffect.of(null)],

      });

    }

Next steps

----------

Provide [Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations) from your state fields to change how to display the document.

Links to this page

[Communicating with editor extensions](https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions)

[Decorations](https://docs.obsidian.md/Plugins/Editor/Decorations)

[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)

[State management](https://docs.obsidian.md/Plugins/Editor/State+management)

[View plugins](https://docs.obsidian.md/Plugins/Editor/View+plugins)

State fields

Not found

This page does not exist

Interactive graph

On this page

Prerequisites

Defining state effects

Defining a state field

Dispatching state effects

Next steps

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setDisabled
----

setDisabled

===========

    aliases: "AbstractTextComponent.setDisabled"

    cssclasses: hide-title

[`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent) › [`setDisabled`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setDisabled)

AbstractTextComponent.setDisabled() method

------------------------------------------

1.2.3

**Signature:**

    setDisabled(disabled: boolean): this;

Parameters

----------

setDisabled

Not found

This page does not exist

Interactive graph

On this page

AbstractTextComponent.setDisabled() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/disabled
----

disabled

========

    aliases: "BaseComponent.disabled"

    cssclasses: hide-title

[`BaseComponent`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent) › [`disabled`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/disabled)

BaseComponent.disabled property

-------------------------------

0.10.3

**Signature:**

    disabled: boolean;

Links to this page

[AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

[BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

[ProgressBarComponent](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

[SecretComponent](https://docs.obsidian.md/Reference/TypeScript+API/SecretComponent)

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

[ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)

disabled

Not found

This page does not exist

Interactive graph

On this page

BaseComponent.disabled property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/key
----

key

===

    aliases: "BasesOption.key"

    cssclasses: hide-title

[`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption) › [`key`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/key)

BasesOption.key property

------------------------

1.10.0

**Signature:**

    key: string;

key

Not found

This page does not exist

Interactive graph

On this page

BasesOption.key property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/layoutReady
----

layoutReady

===========

layoutReady

Not found

This page does not exist

Interactive graph

On this page

Workspace.layoutReady property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Getting+started/Use+Svelte+in+your+plugin
----

Use Svelte in your plugin

=========================

This guide explains how to configure your plugin to use [Svelte](https://svelte.dev/), a light-weight alternative to traditional frameworks like React and Vue.

Svelte is built around a compiler that preprocesses your code and outputs optimized vanilla JavaScript. This means that it doesn't need a virtual DOM to track state changes, which allows your plugin to run with minimal additional overhead.

If you want to learn more about Svelte, and how to use it, refer to the [tutorial](https://svelte.dev/tutorial/svelte/welcome-to-svelte) and the [documentation](https://svelte.dev/docs/svelte/overview).

This guide assumes that you've finished [Build a plugin](https://docs.obsidian.md/Plugins/Getting+started/Build+a+plugin).

Visual Studio Code

Svelte has an [official Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode) that enables syntax highlighting and rich IntelliSense in Svelte components.

Configure your plugin

---------------------

To build a plugin with Svelte, you need to install the dependencies and configure your plugin to compile code written using Svelte.  

If you only want to use TypeScript's _type-only_ features, you don't need `svelte-preprocess`.

1.  Add Svelte to your plugin dependencies:

        npm install --save-dev svelte svelte-preprocess esbuild-svelte svelte-check

    Info

    Svelte requires at least TypeScript 5.0. To update to Typescript 5.0 run the following in your terminal.

        npm install typescript@~5.0.0

2.  Extend the `tsconfig.json` to enable additional type checking for common Svelte issues. `verbatimModuleSyntax` is needed for `svelte-preprocess` and `skipLibCheck` is needed for `svelte-check` to work correctly.

        {

          "compilerOptions": {

            "verbatimModuleSyntax": true,

            "skipLibCheck": true,

            // ...

          },

          "include": [            "**/*.ts",

            "**/*.svelte"

          ]

        }

3.  In `esbuild.config.mjs`, add the following imports to the top of the file:

        import esbuildSvelte from 'esbuild-svelte';

        import { sveltePreprocess } from 'svelte-preprocess';

4.  Add Svelte to the list of plugins.

        const context = await esbuild.context({

          plugins: [            esbuildSvelte({

              compilerOptions: { css: 'injected' },

              preprocess: sveltePreprocess(),

            }),

          ],

          // ...

        });

5.  Add a script to run `svelte-check` to your `package.json`.

        {

          // ...

          "scripts": {

            // ...

            "svelte-check": "svelte-check --tsconfig tsconfig.json"

          }

        }

Create a Svelte component

-------------------------

In the root directory of the plugin, create a new file called `Counter.svelte`:

    <script lang="ts">

      interface Props {

        startCount: number;

      }

      let {

        startCount

      }: Props = $props();

      let count = $state(startCount);

      export function increment() {

        count += 1;

      }

    </script>

    <div class="number">

      <span>My number is {count}!</span>

    </div>

    <style>

      .number {

        color: red;

      }

    </style>

Mount the Svelte component

--------------------------

To use the Svelte component, it needs to be mounted on an existing [HTML element](https://docs.obsidian.md/Plugins/User+interface/HTML+elements). For example, if you are mounting on a custom [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView) in Obsidian:

    import { ItemView, WorkspaceLeaf } from 'obsidian';

    // Import the Counter Svelte component and the `mount` and `unmount` methods.

    import Counter from './Counter.svelte';

    import { mount, unmount } from 'svelte';

    export const VIEW_TYPE_EXAMPLE = 'example-view';

    export class ExampleView extends ItemView {

      // A variable to hold on to the Counter instance mounted in this ItemView.

      counter: ReturnType<typeof Counter> | undefined;

      constructor(leaf: WorkspaceLeaf) {

        super(leaf);

      }

      getViewType() {

        return VIEW_TYPE_EXAMPLE;

      }

      getDisplayText() {

        return 'Example view';

      }

      async onOpen() {

        // Attach the Svelte component to the ItemViews content element and provide the needed props.

        this.counter = mount(Counter, {

          target: this.contentEl,

          props: {

            startCount: 5,

          }

        });

        // Since the component instance is typed, the exported `increment` method is known to TypeScript.

        this.counter.increment();

      }

      async onClose() {

        if (this.counter) {

          // Remove the Counter from the ItemView.

          unmount(this.counter);

        }

      }

    }

See [Views](https://docs.obsidian.md/Plugins/User+interface/Views) for more on how to incorporate this new view into the User Interface.

Use Svelte in your plugin

Not found

This page does not exist

Interactive graph

On this page

Configure your plugin

Create a Svelte component

Mount the Svelte component

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer
----

base64ToArrayBuffer

===================

    aliases: "base64ToArrayBuffer"

    cssclasses: hide-title

[`base64ToArrayBuffer`](https://docs.obsidian.md/Reference/TypeScript+API/base64ToArrayBuffer)

base64ToArrayBuffer() function

------------------------------

**Signature:**

    export function base64ToArrayBuffer(base64: string): ArrayBuffer;

Parameters

----------

Parameter

Type

Description

`base64`

`string`

**Returns:**

`ArrayBuffer`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

base64ToArrayBuffer

Not found

This page does not exist

Interactive graph

On this page

base64ToArrayBuffer() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListValue/(constructor)
----

(constructor)

=============

    aliases: "ListValue.(constructor)"

    cssclasses: hide-title

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/\(constructor\))

ListValue.(constructor)

-----------------------

The array passed in will be modified!

**Signature:**

    constructor(value: (unknown | Value)[]);

Parameters

----------

Parameter

Type

Description

`value`

`(unknown |` [`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value)`)[]`

Contents of the list.

1.10.0

Links to this page

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

ListValue.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TFolder
----

TFolder

=======

    aliases: "TFolder"

    cssclasses: hide-title

[`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)

TFolder class

-------------

0.9.7

**Signature:**

    export class TFolder extends TAbstractFile 

**Extends:** [`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

Properties

----------

Property

Modifiers

Type

Description

[`children`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder/children)

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)`[]`

[`vault`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/vault)

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

0.9.7

(Inherited from [TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile))

Methods

-------

Method

Modifiers

Description

[`isRoot()`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder/isRoot)

0.9.7

Links to this page

[BasesFolderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption)

[children](https://docs.obsidian.md/Reference/TypeScript+API/TFolder/children)

[createFolder](https://docs.obsidian.md/Reference/TypeScript+API/Vault/createFolder)

[getAllFolders](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAllFolders)

[getFolderByPath](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFolderByPath)

[getNewFileParent](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/getNewFileParent)

[getRoot](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getRoot)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isRoot](https://docs.obsidian.md/Reference/TypeScript+API/TFolder/isRoot)

[recurseChildren](https://docs.obsidian.md/Reference/TypeScript+API/Vault/recurseChildren)

[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

TFolder

Not found

This page does not exist

Interactive graph

On this page

TFolder class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Value/looseEquals
----

looseEquals

===========

    aliases: "Value.looseEquals"

    cssclasses: hide-title

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value) › [`looseEquals`](https://docs.obsidian.md/Reference/TypeScript+API/Value/looseEquals)

Value.looseEquals() method

--------------------------

1.10.0

**Signature:**

    static looseEquals(a: Value | null, b: Value | null): boolean;

Parameters

----------

looseEquals

Not found

This page does not exist

Interactive graph

On this page

Value.looseEquals() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/set
----

set

===

    aliases: "BasesViewConfig.set"

    cssclasses: hide-title

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig) › [`set`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/set)

BasesViewConfig.set() method

----------------------------

Store configuration data for the view. Views should prefer `BasesViewRegistration.options` to allow users to configure options where appropriate.

1.10.0

**Signature:**

    set(key: string, value: any | null): void;

Parameters

----------

Parameter

Type

Description

`key`

`string`

`value`

`any | null`

**Returns:**

`void`

Links to this page

[BasesViewConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

set

Not found

This page does not exist

Interactive graph

On this page

BasesViewConfig.set() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/write
----

write

=====

    aliases: "CapacitorAdapter.write"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`write`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/write)

CapacitorAdapter.write() method

-------------------------------

1.7.2

**Signature:**

    write(normalizedPath: string, data: string, options?: DataWriteOptions): Promise<void>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

`data`

`string`

`options`

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

_(Optional)_

**Returns:**

`Promise<void>`

Links to this page

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

write

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.write() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/onUnloadFile
----

onUnloadFile

============

    aliases: "FileView.onUnloadFile"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`onUnloadFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onUnloadFile)

FileView.onUnloadFile() method

------------------------------

**Signature:**

    onUnloadFile(file: TFile): Promise<void>;

Parameters

----------

onUnloadFile

Not found

This page does not exist

Interactive graph

On this page

FileView.onUnloadFile() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/CSS+variables
----

CSS variables

=============

### Foundations

Abstracted variables for colors, spacing, typography and more

*   [Borders](https://docs.obsidian.md/Reference/CSS+variables/Foundations/Borders)

*   [Colors](https://docs.obsidian.md/Reference/CSS+variables/Foundations/Colors)

*   [Cursor](https://docs.obsidian.md/Reference/CSS+variables/Foundations/Cursor)

*   [Icons](https://docs.obsidian.md/Reference/CSS+variables/Foundations/Icons)

*   [Layers](https://docs.obsidian.md/Reference/CSS+variables/Foundations/Layers)

*   [Radiuses](https://docs.obsidian.md/Reference/CSS+variables/Foundations/Radiuses)

*   [Spacing](https://docs.obsidian.md/Reference/CSS+variables/Foundations/Spacing)

*   [Typography](https://docs.obsidian.md/Reference/CSS+variables/Foundations/Typography)

### Components

Interactive components used throughout the app

*   [Button](https://docs.obsidian.md/Reference/CSS+variables/Components/Button)

*   [Checkbox](https://docs.obsidian.md/Reference/CSS+variables/Components/Checkbox)

*   [Color input](https://docs.obsidian.md/Reference/CSS+variables/Components/Color+input)

*   [Dialog](https://docs.obsidian.md/Reference/CSS+variables/Components/Dialog)

*   [Dragging](https://docs.obsidian.md/Reference/CSS+variables/Components/Dragging)

*   [Indentation guides](https://docs.obsidian.md/Reference/CSS+variables/Components/Indentation+guides)

*   [Modal](https://docs.obsidian.md/Reference/CSS+variables/Components/Modal)

*   [Multi-select](https://docs.obsidian.md/Reference/CSS+variables/Components/Multi-select)

*   [Navigation](https://docs.obsidian.md/Reference/CSS+variables/Components/Navigation)

*   [Popover](https://docs.obsidian.md/Reference/CSS+variables/Components/Popover)

*   [Slider](https://docs.obsidian.md/Reference/CSS+variables/Components/Slider)

*   [Tabs](https://docs.obsidian.md/Reference/CSS+variables/Components/Tabs)

*   [Text input](https://docs.obsidian.md/Reference/CSS+variables/Components/Text+input)

*   [Toggle](https://docs.obsidian.md/Reference/CSS+variables/Components/Toggle)

### Editor

Content types and variables used for editing and reading text files

*   [Block](https://docs.obsidian.md/Reference/CSS+variables/Editor/Block)

*   [Blockquote](https://docs.obsidian.md/Reference/CSS+variables/Editor/Blockquote)

*   [Callout](https://docs.obsidian.md/Reference/CSS+variables/Editor/Callout)

*   [Code](https://docs.obsidian.md/Reference/CSS+variables/Editor/Code)

*   [Embed](https://docs.obsidian.md/Reference/CSS+variables/Editor/Embed)

*   [File](https://docs.obsidian.md/Reference/CSS+variables/Editor/File)

*   [Footnote](https://docs.obsidian.md/Reference/CSS+variables/Editor/Footnote)

*   [Headings](https://docs.obsidian.md/Reference/CSS+variables/Editor/Headings)

*   [Horizontal rule](https://docs.obsidian.md/Reference/CSS+variables/Editor/Horizontal+rule)

*   [Inline title](https://docs.obsidian.md/Reference/CSS+variables/Editor/Inline+title)

*   [Link](https://docs.obsidian.md/Reference/CSS+variables/Editor/Link)

*   [List](https://docs.obsidian.md/Reference/CSS+variables/Editor/List)

*   [Properties](https://docs.obsidian.md/Reference/CSS+variables/Editor/Properties)

*   [Table](https://docs.obsidian.md/Reference/CSS+variables/Editor/Table)

*   [Tag](https://docs.obsidian.md/Reference/CSS+variables/Editor/Tag)

### Plugins

Variables related to interface elements in core plugins

*   [Canvas](https://docs.obsidian.md/Reference/CSS+variables/Plugins/Canvas)

*   [File explorer](https://docs.obsidian.md/Reference/CSS+variables/Plugins/File+explorer)

*   [Graph](https://docs.obsidian.md/Reference/CSS+variables/Plugins/Graph)

*   [Search](https://docs.obsidian.md/Reference/CSS+variables/Plugins/Search)

### Window

Variables related to the window chrome for the Obsidian app

*   [Divider](https://docs.obsidian.md/Reference/CSS+variables/Window/Divider)

*   [Ribbon](https://docs.obsidian.md/Reference/CSS+variables/Window/Ribbon)

*   [Scrollbar](https://docs.obsidian.md/Reference/CSS+variables/Window/Scrollbar)

*   [Status bar](https://docs.obsidian.md/Reference/CSS+variables/Window/Status+bar)

*   [Window frame](https://docs.obsidian.md/Reference/CSS+variables/Window/Window+frame)

*   [Workspace](https://docs.obsidian.md/Reference/CSS+variables/Window/Workspace)

### Obsidian Publish

Variables for Obsidian Publish sites

*   [Site fonts](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+fonts)

*   [Site header](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+header)

*   [Site navigation](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+navigation)

*   [Site components](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+components)

*   [Site sidebars](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+sidebars)

*   [Site pages](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+pages)

Links to this page

[About Obsidian Publish themes](https://docs.obsidian.md/Themes/Obsidian+Publish+themes/About+Obsidian+Publish+themes)

[About styling](https://docs.obsidian.md/Reference/CSS+variables/About+styling)

[Best practices for Publish themes](https://docs.obsidian.md/Themes/Obsidian+Publish+themes/Best+practices+for+Publish+themes)

[Build a Publish theme](https://docs.obsidian.md/Themes/Obsidian+Publish+themes/Build+a+Publish+theme)

[Build a theme](https://docs.obsidian.md/Themes/App+themes/Build+a+theme)

[Home](https://docs.obsidian.md/Home)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[Publish](https://docs.obsidian.md/Reference/CSS+variables/Publish/Publish)

[Site fonts](https://docs.obsidian.md/Reference/CSS+variables/Publish/Site+fonts)

CSS variables

Not found

This page does not exist

Interactive graph

On this page

Foundations

Components

Editor

Plugins

Window

Obsidian Publish

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath
----

resolveSubpath

==============

    aliases: "resolveSubpath"

    cssclasses: hide-title

[`resolveSubpath`](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)

resolveSubpath() function

-------------------------

Resolve the given subpath to a reference in the MetadataCache.

**Signature:**

    export function resolveSubpath(cache: CachedMetadata, subpath: string): HeadingSubpathResult | BlockSubpathResult | FootnoteSubpathResult | null;

Parameters

----------

Parameter

Type

Description

`cache`

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

`subpath`

`string`

**Returns:**

[`HeadingSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)`|`[`BlockSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)`|`[`FootnoteSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult) `| null`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

resolveSubpath

Not found

This page does not exist

Interactive graph

On this page

resolveSubpath() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesTextOption/default
----

default

=======

default

Not found

This page does not exist

Interactive graph

On this page

BasesTextOption.default property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/active
----

active

======

active

Not found

This page does not exist

Interactive graph

On this page

OpenViewState.active property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty/type
----

type

====

    aliases: "BasesProperty.type"

    cssclasses: hide-title

[`BasesProperty`](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty/type)

BasesProperty.type property

---------------------------

1.10.0

**Signature:**

    type: BasesPropertyType;

Links to this page

[BasesProperty](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty)

type

Not found

This page does not exist

Interactive graph

On this page

BasesProperty.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/scrollIntoView
----

scrollIntoView

==============

    aliases: "Editor.scrollIntoView"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`scrollIntoView`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/scrollIntoView)

Editor.scrollIntoView() method

------------------------------

0.13.0

**Signature:**

    abstract scrollIntoView(range: EditorRange, center?: boolean): void;

Parameters

----------

Parameter

Type

Description

`range`

[`EditorRange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)

`center`

`boolean`

_(Optional)_

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

scrollIntoView

Not found

This page does not exist

Interactive graph

On this page

Editor.scrollIntoView() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles/files
----

files

=====

    aliases: "ListedFiles.files"

    cssclasses: hide-title

[`ListedFiles`](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles) › [`files`](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles/files)

ListedFiles.files property

--------------------------

**Signature:**

    files: string[];

Links to this page

[ListedFiles](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)

files

Not found

This page does not exist

Interactive graph

On this page

ListedFiles.files property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/sourcePath
----

sourcePath

==========

    aliases: "MarkdownPostProcessorContext.sourcePath"

    cssclasses: hide-title

[`MarkdownPostProcessorContext`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext) › [`sourcePath`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/sourcePath)

MarkdownPostProcessorContext.sourcePath property

------------------------------------------------

The path to the associated file. Any links are assumed to be relative to the `sourcePath`.

**Signature:**

    sourcePath: string;

Links to this page

[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)

sourcePath

Not found

This page does not exist

Interactive graph

On this page

MarkdownPostProcessorContext.sourcePath property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue/toString
----

toString

========

toString

Not found

This page does not exist

Interactive graph

On this page

PrimitiveValue.toString() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection/anchor
----

anchor

======

    aliases: "EditorSelection.anchor"

    cssclasses: hide-title

[`EditorSelection`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection) › [`anchor`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection/anchor)

EditorSelection.anchor property

-------------------------------

**Signature:**

    anchor: EditorPosition;

Links to this page

[EditorSelection](https://docs.obsidian.md/Reference/TypeScript+API/EditorSelection)

anchor

Not found

This page does not exist

Interactive graph

On this page

EditorSelection.anchor property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache/link
----

link

====

    aliases: "ReferenceLinkCache.link"

    cssclasses: hide-title

[`ReferenceLinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache) › [`link`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache/link)

ReferenceLinkCache.link property

--------------------------------

**Signature:**

    link: string;

Links to this page

[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)

link

Not found

This page does not exist

Interactive graph

On this page

ReferenceLinkCache.link property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getGroupLeaves
----

getGroupLeaves

Not found

This page does not exist

Interactive graph

On this page

Workspace.getGroupLeaves() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption/type
----

type

====

    aliases: "BasesMultitextOption.type"

    cssclasses: hide-title

[`BasesMultitextOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption/type)

BasesMultitextOption.type property

----------------------------------

1.10.0

**Signature:**

    type: 'multitext';

Links to this page

[BasesMultitextOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption)

type

Not found

This page does not exist

Interactive graph

On this page

BasesMultitextOption.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setDisabled
----

setDisabled

===========

    aliases: "ButtonComponent.setDisabled"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`setDisabled`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setDisabled)

ButtonComponent.setDisabled() method

------------------------------------

1.2.3

**Signature:**

    setDisabled(disabled: boolean): this;

Parameters

----------

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

setDisabled

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.setDisabled() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/setHeading
----

setHeading

==========

    aliases: "SettingGroup.setHeading"

    cssclasses: hide-title

[`SettingGroup`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup) › [`setHeading`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/setHeading)

SettingGroup.setHeading() method

--------------------------------

1.11.0

**Signature:**

    setHeading(text: string | DocumentFragment): this;

Parameters

----------

Parameter

Type

Description

`text`

`string |` `DocumentFragment`

**Returns:**

`this`

Links to this page

[SettingGroup](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup)

setHeading

Not found

This page does not exist

Interactive graph

On this page

SettingGroup.setHeading() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild
----

addChild

========

    aliases: "Component.addChild"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component) › [`addChild`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild)

Component.addChild() method

---------------------------

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

0.12.0

**Signature:**

    addChild<T extends Component>(component: T): T;

Parameters

----------

Parameter

Type

Description

`component`

`T`

addChild

Not found

This page does not exist

Interactive graph

On this page

Component.addChild() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownCodeBlockProcessor
----

registerMarkdownCodeBlockProcessor

==================================

    aliases: "Plugin.registerMarkdownCodeBlockProcessor"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`registerMarkdownCodeBlockProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerMarkdownCodeBlockProcessor)

Plugin.registerMarkdownCodeBlockProcessor() method

--------------------------------------------------

Register a special post processor that handles fenced code given a language and a handler. This special post processor takes care of removing the `<pre><code>` and create a `<div>` that will be passed to the handler, and is expected to be filled with custom elements.

**Signature:**

    registerMarkdownCodeBlockProcessor(language: string, handler: (source: string, el: HTMLElement, ctx: MarkdownPostProcessorContext) => Promise<any> | void, sortOrder?: number): MarkdownPostProcessor;

Parameters

----------

`sortOrder`

`number`

_(Optional)_

**Returns:**

[`MarkdownPostProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)

Links to this page

[Markdown post processing](https://docs.obsidian.md/Plugins/Editor/Markdown+post+processing)

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

registerMarkdownCodeBlockProcessor

Not found

This page does not exist

Interactive graph

On this page

Plugin.registerMarkdownCodeBlockProcessor() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/groupBy
----

groupBy

=======

    aliases: "BasesConfigFileView.groupBy"

    cssclasses: hide-title

[`BasesConfigFileView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView) › [`groupBy`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/groupBy)

BasesConfigFileView.groupBy property

------------------------------------

Configuration for grouping the results of this view.

1.10.0

**Signature:**

    groupBy?: {

        };

Links to this page

[BasesConfigFileView](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)

groupBy

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFileView.groupBy property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Editor/Communicating+with+editor+extensions
----

Communicating with editor extensions

====================================

Once you've built your editor extension, you might want to communicate with it from outside the editor. For example, through a [command](https://docs.obsidian.md/Plugins/User+interface/Commands), or a [ribbon action](https://docs.obsidian.md/Plugins/User+interface/Ribbon+actions).

You can access the CodeMirror 6 editor from a [MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView). However, since the Obsidian API doesn't actually expose the editor, you need to tell TypeScript to trust that it's there, using `@ts-expect-error`.

    import { EditorView } from '@codemirror/view';

    // @ts-expect-error, not typed

    const editorView = view.editor.cm as EditorView;

View plugin

-----------

You can access the [view plugin](https://docs.obsidian.md/Plugins/Editor/View+plugins) instance from the `EditorView.plugin()` method.

    this.addCommand({

    	id: 'example-editor-command',

    	name: 'Example editor command',

    	editorCallback: (editor, view) => {

    		// @ts-expect-error, not typed

    		const editorView = view.editor.cm as EditorView;

    		const plugin = editorView.plugin(examplePlugin);

    		if (plugin) {

    			plugin.addPointerToSelection(editorView);

    		}

    	},

    });

State field

-----------

You can dispatch changes and [dispatch state effects](https://docs.obsidian.md/Plugins/Editor/State+fields#Dispatching state effects) directly on the editor view.

    this.addCommand({

    	id: 'example-editor-command',

    	name: 'Example editor command',

    	editorCallback: (editor, view) => {

    		// @ts-expect-error, not typed

    		const editorView = view.editor.cm as EditorView;

    		editorView.dispatch({

    			effects: [    				// ...

    			],

    		});

    	},

    });

Communicating with editor extensions

Not found

This page does not exist

Interactive graph

On this page

View plugin

State field

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getValue
----

getValue

========

    aliases: "AbstractInputSuggest.getValue"

    cssclasses: hide-title

[`AbstractInputSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest) › [`getValue`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getValue)

AbstractInputSuggest.getValue() method

--------------------------------------

Gets the value from the input element.

1.4.10

**Signature:**

    getValue(): string;

**Returns:**

`string`

Links to this page

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

getValue

Not found

This page does not exist

Interactive graph

On this page

AbstractInputSuggest.getValue() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext/file
----

file

====

    aliases: "EditorSuggestContext.file"

    cssclasses: hide-title

[`EditorSuggestContext`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext) › [`file`](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext/file)

EditorSuggestContext.file property

----------------------------------

**Signature:**

    file: TFile;

Links to this page

[EditorSuggestContext](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggestContext)

file

Not found

This page does not exist

Interactive graph

On this page

EditorSuggestContext.file property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/open
----

open

====

    aliases: "WorkspaceLeaf.open"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`open`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/open)

WorkspaceLeaf.open() method

---------------------------

**Signature:**

    open(view: View): Promise<View>;

Parameters

----------

Parameter

Type

Description

`view`

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/view)

**Returns:**

`Promise<`[`View`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/view)`>`

Links to this page

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

open

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.open() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/parent
----

parent

======

    aliases: "WorkspaceLeaf.parent"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/parent)

WorkspaceLeaf.parent property

-----------------------------

The direct parent of the leaf.

On desktop, a leaf is always a child of a `WorkspaceTabs` component. On mobile, a leaf might be a child of a `WorkspaceMobileDrawer`. Perform an `instanceof` check before making an assumption about the `parent`.

**Signature:**

    parent: WorkspaceTabs | WorkspaceMobileDrawer;

Links to this page

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

parent

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.parent property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then
----

then

Not found

This page does not exist

Interactive graph

On this page

BaseComponent.then() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/clientHeight
----

clientHeight

============

    aliases: "EditorScrollInfo.clientHeight"

    cssclasses: hide-title

[`EditorScrollInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo) › [`clientHeight`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/clientHeight)

EditorScrollInfo.clientHeight property

--------------------------------------

**Signature:**

    clientHeight: number;

clientHeight

Not found

This page does not exist

Interactive graph

On this page

EditorScrollInfo.clientHeight property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/setViewData
----

setViewData

===========

    aliases: "TextFileView.setViewData"

    cssclasses: hide-title

[`TextFileView`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView) › [`setViewData`](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView/setViewData)

TextFileView.setViewData() method

---------------------------------

Set the data to the editor. This is used to load the file contents.

If clear is set, then it means we're opening a completely different file. In that case, you should call clear(), or implement a slightly more efficient clearing mechanism given the new data to be set.

0.10.12

**Signature:**

    abstract setViewData(data: string, clear: boolean): void;

Parameters

----------

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

setViewData

Not found

This page does not exist

Interactive graph

On this page

TextFileView.setViewData() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/sliderEl
----

sliderEl

========

sliderEl

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.sliderEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/loadLocalStorage
----

loadLocalStorage

================

    aliases: "App.loadLocalStorage"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) › [`loadLocalStorage`](https://docs.obsidian.md/Reference/TypeScript+API/App/loadLocalStorage)

App.loadLocalStorage() method

-----------------------------

Retrieve value from `localStorage` for this vault.

**Signature:**

    loadLocalStorage(key: string): any | null;

Parameters

----------

Parameter

Type

Description

`key`

`string`

1.8.7

**Returns:**

`any | null`

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

loadLocalStorage

Not found

This page does not exist

Interactive graph

On this page

App.loadLocalStorage() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/delay
----

delay

=====

    aliases: "TooltipOptions.delay"

    cssclasses: hide-title

[`TooltipOptions`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions) › [`delay`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/delay)

TooltipOptions.delay property

-----------------------------

1.4.11

**Signature:**

    delay?: number;

Links to this page

[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)

delay

Not found

This page does not exist

Interactive graph

On this page

TooltipOptions.delay property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/collapsed
----

collapsed

=========

    aliases: "WorkspaceSidedock.collapsed"

    cssclasses: hide-title

[`WorkspaceSidedock`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock) › [`collapsed`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock/collapsed)

WorkspaceSidedock.collapsed property

------------------------------------

0.12.11

**Signature:**

    collapsed: boolean;

Links to this page

[WorkspaceSidedock](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceSidedock)

collapsed

Not found

This page does not exist

Interactive graph

On this page

WorkspaceSidedock.collapsed property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/footnoteRefs
----

footnoteRefs

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.footnoteRefs property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getSuggestions
----

getSuggestions

==============

    aliases: "FuzzySuggestModal.getSuggestions"

    cssclasses: hide-title

[`FuzzySuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal) › [`getSuggestions`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/getSuggestions)

FuzzySuggestModal.getSuggestions() method

-----------------------------------------

0.9.20

**Signature:**

    getSuggestions(query: string): FuzzyMatch<T>[];

Parameters

----------

Parameter

Type

Description

`query`

`string`

**Returns:**

[`FuzzyMatch`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzyMatch)`<T>[]`

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

getSuggestions

Not found

This page does not exist

Interactive graph

On this page

FuzzySuggestModal.getSuggestions() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/clientWidth
----

clientWidth

===========

    aliases: "EditorScrollInfo.clientWidth"

    cssclasses: hide-title

[`EditorScrollInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo) › [`clientWidth`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/clientWidth)

EditorScrollInfo.clientWidth property

-------------------------------------

**Signature:**

    clientWidth: number;

Links to this page

[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)

clientWidth

Not found

This page does not exist

Interactive graph

On this page

EditorScrollInfo.clientWidth property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command/name
----

name

====

    aliases: "Command.name"

    cssclasses: hide-title

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command) › [`name`](https://docs.obsidian.md/Reference/TypeScript+API/Command/name)

Command.name property

---------------------

Human friendly name for searching.

**Signature:**

    name: string;

Links to this page

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

name

Not found

This page does not exist

Interactive graph

On this page

Command.name property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch
----

prepareFuzzySearch

==================

    aliases: "prepareFuzzySearch"

    cssclasses: hide-title

[`prepareFuzzySearch`](https://docs.obsidian.md/Reference/TypeScript+API/prepareFuzzySearch)

prepareFuzzySearch() function

-----------------------------

Construct a fuzzy search callback that runs on a target string. Performance may be an issue if you are running the search for more than a few thousand times. If performance is a problem, consider using `prepareSimpleSearch` instead.

**Signature:**

    export function prepareFuzzySearch(query: string): (text: string) => SearchResult | null;

Parameters

----------

Parameter

Type

Description

`query`

`string`

the fuzzy query. fn - the callback function to apply the search on.

**Returns:**

`(text: string) =>` [`SearchResult`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult) `| null`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

prepareFuzzySearch

Not found

This page does not exist

Interactive graph

On this page

prepareFuzzySearch() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter
----

DataAdapter

===========

    aliases: "DataAdapter"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

DataAdapter interface

---------------------

Work directly with files and folders inside a vault. If possible prefer using the [Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault) API over this.

**Signature:**

    export interface DataAdapter 

Methods

-------

Method

Description

[`append(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/append)

Add text to the end of a plaintext file.

[`appendBinary(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/appendBinary)

Add data to the end of a binary file.

[`copy(normalizedPath, normalizedNewPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/copy)

Create a copy of a file. This will fail if there is already a file at `normalizedNewPath`.

[`exists(normalizedPath, sensitive)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/exists)

Check if something exists at the given path. For a faster way to synchronously check if a note or attachment is in the vault, use [Vault.getAbstractFileByPath()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAbstractFileByPath).

[`getName()`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/getName)

[`getResourcePath(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/getResourcePath)

Returns a URI for the browser engine to use, for example to embed an image.

[`list(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/list)

Retrieve a list of all files and folders inside the given folder, non-recursive.

[`mkdir(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/mkdir)

Create a directory.

[`process(normalizedPath, fn, options)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/process)

Atomically read, modify, and save the contents of a plaintext file.

[`read(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/read)

[`readBinary(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/readBinary)

[`remove(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/remove)

Delete a file.

[`rename(normalizedPath, normalizedNewPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/rename)

Rename a file or folder.

[`rmdir(normalizedPath, recursive)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/rmdir)

Remove a directory.

[`stat(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/stat)

Retrieve metadata about the given file/folder.

[`trashLocal(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/trashLocal)

Move to local trash. Files will be moved into the `.trash` folder at the root of the vault.

[`trashSystem(normalizedPath)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/trashSystem)

Try moving to system trash.

[`write(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/write)

Write to a plaintext file. If the file exists its content will be overwritten, otherwise the file will be created.

[`writeBinary(normalizedPath, data, options)`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/writeBinary)

Write to a binary file. If the file exists its content will be overwritten, otherwise the file will be created.

Links to this page

[append](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/append)

[appendBinary](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/appendBinary)

[CapacitorAdapter](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter)

[copy](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/copy)

[exists](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/exists)

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

[getName](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/getName)

[getResourcePath](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/getResourcePath)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[list](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/list)

[mkdir](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/mkdir)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

[write](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/write)

[writeBinary](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/writeBinary)

DataAdapter

Not found

This page does not exist

Interactive graph

On this page

DataAdapter interface

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags
----

parseFrontMatterTags

====================

    aliases: "parseFrontMatterTags"

    cssclasses: hide-title

[`parseFrontMatterTags`](https://docs.obsidian.md/Reference/TypeScript+API/parseFrontMatterTags)

parseFrontMatterTags() function

-------------------------------

**Signature:**

    export function parseFrontMatterTags(frontmatter: any | null): string[] | null;

Parameters

----------

Parameter

Type

Description

`frontmatter`

`any | null`

**Returns:**

`string[] | null`

parseFrontMatterTags

Not found

This page does not exist

Interactive graph

On this page

parseFrontMatterTags() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/set
----

set

===

    aliases: "MarkdownPreviewView.set"

    cssclasses: hide-title

[`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView) › [`set`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/set)

MarkdownPreviewView.set() method

--------------------------------

**Signature:**

    set(data: string, clear: boolean): void;

Parameters

----------

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

set

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewView.set() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/setDisabled
----

setDisabled

===========

    aliases: "Setting.setDisabled"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`setDisabled`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setDisabled)

Setting.setDisabled() method

----------------------------

1.2.3

**Signature:**

    setDisabled(disabled: boolean): this;

Parameters

----------

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

setDisabled

Not found

This page does not exist

Interactive graph

On this page

Setting.setDisabled() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer
----

WorkspaceMobileDrawer

=====================

    aliases: "WorkspaceMobileDrawer"

    cssclasses: hide-title

[`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

WorkspaceMobileDrawer class

---------------------------

1.6.6

**Signature:**

    export class WorkspaceMobileDrawer extends WorkspaceParent 

**Extends:** [`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

Properties

----------

Property

Modifiers

Type

Description

[`collapsed`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/collapsed)

`boolean`

[`parent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/parent)

[`WorkspaceParent`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceParent)

Methods

-------

Method

Modifiers

Description

[`collapse()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/collapse)

[`expand()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/expand)

[`toggle()`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/toggle)

[collapse](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/collapse)

[collapsed](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/collapsed)

[expand](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/expand)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[parent](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/parent)

[toggle](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/toggle)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

WorkspaceMobileDrawer

Not found

This page does not exist

Interactive graph

On this page

WorkspaceMobileDrawer class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorExtension
----

registerEditorExtension

=======================

    aliases: "Plugin.registerEditorExtension"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`registerEditorExtension`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerEditorExtension)

Plugin.registerEditorExtension() method

---------------------------------------

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()](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/updateOptions) will apply the changes.

**Signature:**

    registerEditorExtension(extension: Extension): void;

Parameters

----------

Parameter

Type

Description

`extension`

`Extension`

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

0.12.8

**Returns:**

`void`

Links to this page

[Editor extensions](https://docs.obsidian.md/Plugins/Editor/Editor+extensions)

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

registerEditorExtension

Not found

This page does not exist

Interactive graph

On this page

Plugin.registerEditorExtension() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('resize')
----

on('resize')

============

    aliases: "Workspace.on('resize')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('resize')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('resize'\))

Workspace.on('resize') method

-----------------------------

Triggered when a `WorkspaceItem` is resized or the workspace layout has changed.

0.9.7

**Signature:**

    on(name: 'resize', callback: () => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'resize'`

on('resize')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('resize') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileView/onRename
----

onRename

========

    aliases: "FileView.onRename"

    cssclasses: hide-title

[`FileView`](https://docs.obsidian.md/Reference/TypeScript+API/FileView) › [`onRename`](https://docs.obsidian.md/Reference/TypeScript+API/FileView/onRename)

FileView.onRename() method

--------------------------

**Signature:**

    onRename(file: TFile): Promise<void>;

Parameters

----------

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

onRename

Not found

This page does not exist

Interactive graph

On this page

FileView.onRename() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty
----

BasesProperty

=============

    aliases: "BasesProperty"

    cssclasses: hide-title

[`BasesProperty`](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty)

BasesProperty interface

-----------------------

A parsed version of the [BasesPropertyId](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId).

1.10.0

**Signature:**

    export interface BasesProperty 

Properties

----------

Property

Modifiers

Type

Description

[`name`](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty/name)

`string`

1.10.0

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty/type)

[`BasesPropertyType`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyType)

1.10.0

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[name](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty/name)

[parsePropertyId](https://docs.obsidian.md/Reference/TypeScript+API/parsePropertyId)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty/type)

BasesProperty

Not found

This page does not exist

Interactive graph

On this page

BasesProperty interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/LinkCache
----

LinkCache

=========

    aliases: "LinkCache"

    cssclasses: hide-title

[`LinkCache`](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

LinkCache interface

-------------------

0.9.7

**Signature:**

    export interface LinkCache extends ReferenceCache 

**Extends:** [`ReferenceCache`](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

Properties

----------

LinkCache

Not found

This page does not exist

Interactive graph

On this page

LinkCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/containerEl
----

containerEl

Not found

This page does not exist

Interactive graph

On this page

Workspace.containerEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1
----

registerDomEvent\_1

===================

    aliases: "Component.registerDomEvent_1"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component) › [`registerDomEvent`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1)

Component.registerDomEvent() method

-----------------------------------

Registers a DOM event to be detached when unloading

0.14.8

**Signature:**

    registerDomEvent<K extends keyof DocumentEventMap>(el: Document, type: K, callback: (this: HTMLElement, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;

Parameters

----------

Parameter

Type

Description

`el`

`Document`

`type`

`K`

`callback`

`(this:` `HTMLElement``, ev:` `DocumentEventMap``[K]) => any`

registerDomEvent\_1

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HoverParent
----

HoverParent

===========

    aliases: "HoverParent"

    cssclasses: hide-title

[`HoverParent`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)

HoverParent interface

---------------------

0.11.13

**Signature:**

    export interface HoverParent 

Properties

----------

Property

Modifiers

Type

Description

[`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent/hoverPopover)

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) `| null`

0.11.13

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover/\(constructor\))

[hoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent/hoverPopover)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

[MarkdownFileInfo](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

[RenderContext](https://docs.obsidian.md/Reference/TypeScript+API/RenderContext)

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

HoverParent

Not found

This page does not exist

Interactive graph

On this page

HoverParent interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventListener
----

KeymapEventListener

===================

KeymapEventListener

Not found

This page does not exist

Interactive graph

On this page

KeymapEventListener type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/file
----

file

====

    aliases: "MarkdownEditView.file"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView) › [`file`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/file)

MarkdownEditView.file property

------------------------------

**Signature:**

    get file(): TFile;

Links to this page

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

file

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView.file property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modifier
----

Modifier

========

    aliases: "Modifier"

    cssclasses: hide-title

[`Modifier`](https://docs.obsidian.md/Reference/TypeScript+API/Modifier)

Modifier type

-------------

Mod = Cmd on MacOS and Ctrl on other OS Ctrl = Ctrl key for every OS Meta = Cmd on MacOS and Win key on other OS

**Signature:**

    export type Modifier = 'Mod' | 'Ctrl' | 'Meta' | 'Shift' | 'Alt';

Links to this page

[Hotkey](https://docs.obsidian.md/Reference/TypeScript+API/Hotkey)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isModifier](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/isModifier)

[register](https://docs.obsidian.md/Reference/TypeScript+API/Scope/register)

Modifier

Not found

This page does not exist

Interactive graph

On this page

Modifier type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup
----

SettingGroup

============

SettingGroup

Not found

This page does not exist

Interactive graph

On this page

SettingGroup class

Constructors

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml
----

stringifyYaml

=============

    aliases: "stringifyYaml"

    cssclasses: hide-title

[`stringifyYaml`](https://docs.obsidian.md/Reference/TypeScript+API/stringifyYaml)

stringifyYaml() function

------------------------

**Signature:**

    export function stringifyYaml(obj: any): string;

Parameters

----------

Parameter

Type

Description

`obj`

`any`

**Returns:**

`string`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

stringifyYaml

Not found

This page does not exist

Interactive graph

On this page

stringifyYaml() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/onResize
----

onResize

========

    aliases: "View.onResize"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`onResize`](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize)

View.onResize() method

----------------------

Called when the size of this view is changed.

0.9.7

**Signature:**

    onResize(): void;

onResize

Not found

This page does not exist

Interactive graph

On this page

View.onResize() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin
----

Submit your plugin

==================

If you want to share your plugin with the Obsidian community, the best way is to submit it to the [official list of plugins](https://github.com/obsidianmd/obsidian-releases/blob/master/community-plugins.json). Once we've reviewed and published your plugin, users can install it directly from within Obsidian. It'll also be featured in the [plugin directory](https://obsidian.md/plugins) on the Obsidian website.

You only need to submit the initial version of your plugin. After your plugin has been published, users can download new releases from GitHub directly from within Obsidian.

Prerequisites

-------------

To complete this guide, you'll need:

*   A [GitHub](https://github.com/signup) account.

Before you begin

----------------

Before you submit your plugin, make sure you have the following files in the root folder of your repository:

*   A `README.md` that describes the purpose of the plugin, and how to use it.

*   A `LICENSE` that determines how others are allowed to use the plugin and its source code. If you need help to [add a license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository) for your plugin, refer to [Choose a License](https://choosealicense.com/).

*   A `manifest.json` that describes your plugin. For more information, refer to [Manifest](https://docs.obsidian.md/Reference/Manifest).

Also make sure that you follow the [Developer policies](https://docs.obsidian.md/Developer+policies) and the [submission requirements](https://docs.obsidian.md/Plugins/Releasing/Submission+requirements+for+plugins) before you submit your plugin.

Step 1: Publish your plugin to GitHub

-------------------------------------

Template repositories

If you created your plugin from one of our template repositories, you may skip this step.

To review your plugin, we need to access to the source code on GitHub. If you're unfamiliar with GitHub, refer to the GitHub docs for how to [Create a new repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository).

Step 2: Create a release

------------------------

In this step, you'll prepare a release for your plugin that's ready to be submitted.

1.  In `manifest.json`, update `version` to a new version that follows the [Semantic Versioning](https://semver.org/) specification, for example `1.0.0` for your initial release. Versions supported only in the format `x.y.z`.

2.  [Create a GitHub release](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release). The "Tag version" of the release must match the version in your `manifest.json`.

3.  Enter a name for the release, and describe it in the description field. Obsidian doesn't use the release name for anything, so feel free to name it however you like.

4.  Upload the following plugin assets to the release as binary attachments:

    *   `main.js`

    *   `manifest.json`

    *   `styles.css` (optional)

Step 3: Submit your plugin for review

-------------------------------------

In this step, you'll submit your plugin to the Obsidian team for review.

1.  In [community-plugins.json](https://github.com/obsidianmd/obsidian-releases/edit/master/community-plugins.json), add a new entry at the end of the JSON array.

        {

          "id": "doggo-dictation",

          "name": "Doggo Dictation",

          "author": "John Dolittle",

          "description": "Transcribes dog speech into notes.",

          "repo": "drdolittle/doggo-dictation"

        }

    *   `id`, `name`, `author`, and `description` determines how your plugin appears to the user, and should match the corresponding properties in your [Manifest](https://docs.obsidian.md/Reference/Manifest).

    *   `id` is unique to your plugin. Search `community-plugins.json` to confirm that there's no existing plugin with the same id. The `id` can't contain `obsidian`.

    *   `repo` is the path to your GitHub repository. For example, if your GitHub repo is located at [https://github.com/your-username/your-repo-name](https://github.com/your-username/your-repo-name), the path is `your-username/your-repo-name`.

    Remember to add a comma after the closing brace, `}`, of the previous entry.

2.  Select **Commit changes...** in the upper-right corner.

3.  Select **Propose changes**.

4.  Select **Create pull request**.

5.  Select **Preview**, and then select **Community Plugin**.

6.  Click **Create pull request**.

7.  In the name of the pull request, enter "Add plugin: \[...\]", where \[...\] is the name of your plugin.

8.  Fill in the details in the description for the pull request. For the checkboxes, insert an `x` between the brackets, `[x]`, to mark them as done.

9.  Click **Create pull request** (for the last time 🤞).

You've now submitted your plugin to the Obsidian plugin directory. Sit back and wait for an initial validation by our friendly bot. It may take a few minutes before the results are ready.

*   If you see a **Ready for review** label on your PR, your submission has passed the automatic validation.

*   If you see a **Validation failed** label on your PR, you need to address all listed issues until the bot assigns a **Ready for review** label.

Once your submission is ready for review, you can sit back and wait for the Obsidian team to review it.

How long does it take to review my plugin?

The time it takes to review your submission depends on the current workload of the Obsidian team. The team is still small, so please be patient while you wait for your plugin to be reviewed. We're currently unable to give any estimates on when we'll be able to review your submission.

Ignore merge conflicts

If you see in your PR GitHub's warning `This branch has conflicts that must be resolved`, just ignore it. Don't merge or rebase your PR.  

Once your plugin passes all reviews, the Obsidian team will resolve those conflicts before publishing your plugin.

Step 4: Address review comments

-------------------------------

Once a reviewer has reviewed your plugin, they'll add a comment to your pull request with the result of the review. The reviewer may require that you update your plugin, or they can offer suggestions on how you can improve it.

Address any required changes and update the GitHub release with the new changes. Leave a comment on the PR to let us know you've addressed the feedback. Don't open a new PR.

We'll publish the plugin as soon we've verified that all required changes have been addressed.

Note

While only Obsidian team members can publish your plugin, other community members may also offer to review your submission in the meantime.

Next steps

----------

Once we've reviewed and published your plugin, it's time to announce it to the community:

*   Announce in [Share & showcase](https://forum.obsidian.md/c/share-showcase/9) in the forums.

*   Announce in the `#updates` channel on [Discord](https://discord.gg/veuWUTm). You need the [`developer` role](https://discord.com/channels/686053708261228577/702717892533157999/830492034807758859) to post in `#updates`.

Links to this page

[Beta-testing plugins](https://docs.obsidian.md/Plugins/Releasing/Beta-testing+plugins)

[Home](https://docs.obsidian.md/Home)

[Release your plugin with GitHub Actions](https://docs.obsidian.md/Plugins/Releasing/Release+your+plugin+with+GitHub+Actions)

Submit your plugin

Not found

This page does not exist

Interactive graph

On this page

Prerequisites

Before you begin

Step 1: Publish your plugin to GitHub

Step 2: Create a release

Step 3: Submit your plugin for review

Step 4: Address review comments

Next steps

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload
----

onunload

========

    aliases: "Component.onunload"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component) › [`onunload`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload)

Component.onunload() method

---------------------------

Override this to unload your component

0.9.7

**Signature:**

    /** @virtual */

    onunload(): void;

**Returns:**

`void`

Links to this page

[Anatomy of a plugin](https://docs.obsidian.md/Plugins/Getting+started/Anatomy+of+a+plugin)

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

[Component](https://docs.obsidian.md/Reference/TypeScript+API/Component)

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[QueryController](https://docs.obsidian.md/Reference/TypeScript+API/QueryController)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

onunload

Not found

This page does not exist

Interactive graph

On this page

Component.onunload() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/changeLayout
----

changeLayout

============

    aliases: "Workspace.changeLayout"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`changeLayout`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/changeLayout)

Workspace.changeLayout() method

-------------------------------

0.9.7

**Signature:**

    changeLayout(workspace: any): Promise<void>;

Parameters

----------

Parameter

Type

Description

`workspace`

`any`

**Returns:**

`Promise<void>`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

changeLayout

Not found

This page does not exist

Interactive graph

On this page

Workspace.changeLayout() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/list
----

list

====

    aliases: "DataAdapter.list"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`list`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/list)

DataAdapter.list() method

-------------------------

Retrieve a list of all files and folders inside the given folder, non-recursive.

**Signature:**

    list(normalizedPath: string): Promise<ListedFiles>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

path to folder, use [normalizePath()](https://docs.obsidian.md/Reference/TypeScript+API/normalizePath) to normalize beforehand.

**Returns:**

`Promise<`[`ListedFiles`](https://docs.obsidian.md/Reference/TypeScript+API/ListedFiles)`>`

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

list

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.list() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/displayName
----

displayName

===========

    aliases: "BasesOptionGroup.displayName"

    cssclasses: hide-title

[`BasesOptionGroup`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup) › [`displayName`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup/displayName)

BasesOptionGroup.displayName property

-------------------------------------

1.10.0

**Signature:**

    displayName: string;

Links to this page

[BasesOptionGroup](https://docs.obsidian.md/Reference/TypeScript+API/BasesOptionGroup)

displayName

Not found

This page does not exist

Interactive graph

On this page

BasesOptionGroup.displayName property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/getMilliseconds
----

getMilliseconds

===============

    aliases: "DurationValue.getMilliseconds"

    cssclasses: hide-title

[`DurationValue`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue) › [`getMilliseconds`](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue/getMilliseconds)

DurationValue.getMilliseconds() method

--------------------------------------

Convert this duration into milliseconds.

1.10.0

**Signature:**

    getMilliseconds(): number;

**Returns:**

`number`

Links to this page

[DurationValue](https://docs.obsidian.md/Reference/TypeScript+API/DurationValue)

getMilliseconds

Not found

This page does not exist

Interactive graph

On this page

DurationValue.getMilliseconds() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/readLocalFile
----

readLocalFile

=============

    aliases: "FileSystemAdapter.readLocalFile"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`readLocalFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/readLocalFile)

FileSystemAdapter.readLocalFile() method

----------------------------------------

**Signature:**

    static readLocalFile(path: string): Promise<ArrayBuffer>;

Parameters

----------

Parameter

Type

Description

`path`

`string`

**Returns:**

`Promise<``ArrayBuffer``>`

Links to this page

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

readLocalFile

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.readLocalFile() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setEphemeralState
----

setEphemeralState

=================

    aliases: "WorkspaceLeaf.setEphemeralState"

    cssclasses: hide-title

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) › [`setEphemeralState`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setEphemeralState)

WorkspaceLeaf.setEphemeralState() method

----------------------------------------

**Signature:**

    setEphemeralState(state: any): void;

Parameters

----------

Parameter

Type

Description

`state`

`any`

**Returns:**

`void`

Links to this page

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

setEphemeralState

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.setEphemeralState() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/json
----

json

====

    aliases: "RequestUrlResponse.json"

    cssclasses: hide-title

[`RequestUrlResponse`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse) › [`json`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/json)

RequestUrlResponse.json property

--------------------------------

**Signature:**

    json: any;

Links to this page

[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)

json

Not found

This page does not exist

Interactive graph

On this page

RequestUrlResponse.json property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret/from
----

from

====

    aliases: "EditorRangeOrCaret.from"

    cssclasses: hide-title

[`EditorRangeOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret) › [`from`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret/from)

EditorRangeOrCaret.from property

--------------------------------

**Signature:**

    from: EditorPosition;

Links to this page

[EditorChange](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)

[EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)

from

Not found

This page does not exist

Interactive graph

On this page

EditorRangeOrCaret.from property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/y
----

y

=

    aliases: "MenuPositionDef.y"

    cssclasses: hide-title

[`MenuPositionDef`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef) › [`y`](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef/y)

MenuPositionDef.y property

--------------------------

**Signature:**

    y: number;

Links to this page

[MenuPositionDef](https://docs.obsidian.md/Reference/TypeScript+API/MenuPositionDef)

y

Not found

This page does not exist

Interactive graph

On this page

MenuPositionDef.y property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchResult/score
----

score

=====

    aliases: "SearchResult.score"

    cssclasses: hide-title

[`SearchResult`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult) › [`score`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult/score)

SearchResult.score property

---------------------------

**Signature:**

    score: number;

Links to this page

[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)

score

Not found

This page does not exist

Interactive graph

On this page

SearchResult.score property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Themes/Obsidian+Publish+themes/Build+a+Publish+theme
----

Build a Publish theme

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/isTruthy
----

isTruthy

========

    aliases: "ObjectValue.isTruthy"

    cssclasses: hide-title

[`ObjectValue`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue) › [`isTruthy`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/isTruthy)

ObjectValue.isTruthy() method

-----------------------------

1.10.0

**Signature:**

    isTruthy(): boolean;

**Returns:**

`boolean`

Links to this page

[ObjectValue](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue)

isTruthy

Not found

This page does not exist

Interactive graph

On this page

ObjectValue.isTruthy() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/unload
----

unload

======

    aliases: "Component.unload"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component) › [`unload`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Component.unload() method

-------------------------

Unload this component and its children

0.9.7

**Signature:**

    unload(): void;

unload

Not found

This page does not exist

Interactive graph

On this page

Component.unload() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/IconName
----

IconName

Not found

This page does not exist

Interactive graph

On this page

IconName type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Loc
----

Loc

===

    aliases: "Loc"

    cssclasses: hide-title

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

Loc interface

-------------

Location within a Markdown document

**Signature:**

    export interface Loc 

Properties

----------

Property

Modifiers

Type

Description

[`col`](https://docs.obsidian.md/Reference/TypeScript+API/Loc/col)

`number`

Column number.

[`line`](https://docs.obsidian.md/Reference/TypeScript+API/Loc/line)

`number`

Line number. 0-based.

[`offset`](https://docs.obsidian.md/Reference/TypeScript+API/Loc/offset)

`number`

Number of characters from the beginning of the file.

Loc

Not found

This page does not exist

Interactive graph

On this page

Loc interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('window-close')
----

on('window-close')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('window-close') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatter
----

frontmatter

===========

    aliases: "CachedMetadata.frontmatter"

    cssclasses: hide-title

[`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata) › [`frontmatter`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata/frontmatter)

CachedMetadata.frontmatter property

-----------------------------------

**Signature:**

    frontmatter?: FrontMatterCache;

Links to this page

[CachedMetadata](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)

frontmatter

Not found

This page does not exist

Interactive graph

On this page

CachedMetadata.frontmatter property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/placeholder
----

placeholder

===========

    aliases: "BasesPropertyOption.placeholder"

    cssclasses: hide-title

[`BasesPropertyOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption) › [`placeholder`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/placeholder)

BasesPropertyOption.placeholder property

----------------------------------------

1.10.0

**Signature:**

    placeholder?: string;

Links to this page

[BasesPropertyOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption)

placeholder

Not found

This page does not exist

Interactive graph

On this page

BasesPropertyOption.placeholder property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/isDesktopOnly
----

isDesktopOnly

=============

    aliases: "PluginManifest.isDesktopOnly"

    cssclasses: hide-title

[`PluginManifest`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest) › [`isDesktopOnly`](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/isDesktopOnly)

PluginManifest.isDesktopOnly property

-------------------------------------

Whether the plugin can be used only on desktop.

**Signature:**

    isDesktopOnly?: boolean;

Links to this page

[PluginManifest](https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest)

isDesktopOnly

Not found

This page does not exist

Interactive graph

On this page

PluginManifest.isDesktopOnly property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component
----

Component

=========

    aliases: "Component"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)

Component class

---------------

0.9.7

**Signature:**

    export class Component 

Methods

-------

Method

Modifiers

Description

[`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild)

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

0.12.0

[`load()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load)

Load this component and its children

0.9.7

[`onload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload)

Override this to load your component

0.9.7

[`onunload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload)

Override this to unload your component

0.9.7

[`register(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/register)

Registers a callback to be called when unloading

0.9.7

[`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent)

Registers a DOM event to be detached when unloading

0.14.8

[`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1)

Registers a DOM event to be detached when unloading

0.14.8

[`registerDomEvent(el, type, callback, options)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2)

Registers a DOM event to be detached when unloading

0.14.8

[`registerEvent(eventRef)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent)

Registers an event to be detached when unloading

0.9.7

[`registerInterval(id)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval)

Registers an interval (from setInterval) to be cancelled when unloading Use instead of to avoid TypeScript confusing between NodeJS vs Browser API

0.13.8

[`removeChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild)

Removes a child component, unloading it

0.12.0

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

Links to this page

[addChild](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild)

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[HoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[load](https://docs.obsidian.md/Reference/TypeScript+API/Component/load)

[MarkdownPreviewEvents](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents)

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

[onload](https://docs.obsidian.md/Reference/TypeScript+API/Component/onload)

[onunload](https://docs.obsidian.md/Reference/TypeScript+API/Component/onunload)

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[QueryController](https://docs.obsidian.md/Reference/TypeScript+API/QueryController)

[register](https://docs.obsidian.md/Reference/TypeScript+API/Component/register)

[registerDomEvent](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent)

[registerDomEvent\_1](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_1)

[registerDomEvent\_2](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerDomEvent_2)

[registerEvent](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerEvent)

[registerInterval](https://docs.obsidian.md/Reference/TypeScript+API/Component/registerInterval)

[removeChild](https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild)

[render](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/render)

[renderMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/renderMarkdown)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

[unload](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

Component

Not found

This page does not exist

Interactive graph

On this page

Component class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FormulaContext
----

FormulaContext

==============

    aliases: "FormulaContext"

    cssclasses: hide-title

[`FormulaContext`](https://docs.obsidian.md/Reference/TypeScript+API/FormulaContext)

FormulaContext interface

------------------------

The context in which a formula is evaluated. In most cases, [BasesEntry](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry) is the specific type to use.

1.10.0

**Signature:**

    export interface FormulaContext 

Links to this page

[BasesEntry](https://docs.obsidian.md/Reference/TypeScript+API/BasesEntry)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

FormulaContext

Not found

This page does not exist

Interactive graph

On this page

FormulaContext interface

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/contentEl
----

contentEl

=========

    aliases: "Modal.contentEl"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`contentEl`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/contentEl)

Modal.contentEl property

------------------------

**Signature:**

    contentEl: HTMLElement;

Links to this page

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[SuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal)

contentEl

Not found

This page does not exist

Interactive graph

On this page

Modal.contentEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/on('delete')
----

on('delete')

============

    aliases: "Vault.on('delete')"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [on('delete')](https://docs.obsidian.md/Reference/TypeScript+API/Vault/on\('delete'\))

Vault.on('delete') method

-------------------------

Called when a file is deleted.

0.9.7

**Signature:**

    on(name: 'delete', callback: (file: TAbstractFile) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'delete'`

on('delete')

Not found

This page does not exist

Interactive graph

On this page

Vault.on('delete') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions/ctime
----

ctime

=====

    aliases: "DataWriteOptions.ctime"

    cssclasses: hide-title

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions) › [`ctime`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions/ctime)

DataWriteOptions.ctime property

-------------------------------

Time of creation, represented as a unix timestamp, in milliseconds. Omit this if you want to keep the default behaviour.

**Signature:**

    ctime?: number;

Links to this page

[DataWriteOptions](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

ctime

Not found

This page does not exist

Interactive graph

On this page

DataWriteOptions.ctime property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent
----

MomentFormatComponent

=====================

    aliases: "MomentFormatComponent"

    cssclasses: hide-title

[`MomentFormatComponent`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

MomentFormatComponent class

---------------------------

0.9.7

**Signature:**

    export class MomentFormatComponent extends TextComponent 

**Extends:** [`TextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent/\(constructor\))

Constructs a new instance of the `TextComponent` class

(Inherited from [TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent))

Properties

----------

(Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent))

[`sampleEl`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/sampleEl)

`HTMLElement`

0.9.7

Methods

-------

[`onChanged()`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/onChanged)

0.9.7

[`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

0.9.7

(Inherited from [ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent))

[`setDefaultFormat(defaultFormat)`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setDefaultFormat)

Sets the default format when input is cleared. Also used for placeholder.

0.9.7

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setDisabled)

1.2.3

(Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent))

[`setPlaceholder(placeholder)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setPlaceholder)

0.9.7

(Inherited from [AbstractTextComponent](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent))

[`setSampleEl(sampleEl)`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setSampleEl)

0.9.7

[`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setValue)

0.9.7

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

[`updateSample()`](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/updateSample)

0.9.7

Links to this page

[addMomentFormat](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addMomentFormat)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onChanged](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/onChanged)

[sampleEl](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/sampleEl)

[setDefaultFormat](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setDefaultFormat)

[setSampleEl](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setSampleEl)

[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setValue)

[updateSample](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/updateSample)

MomentFormatComponent

Not found

This page does not exist

Interactive graph

On this page

MomentFormatComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('url-menu')
----

on('url-menu')

==============

    aliases: "Workspace.on('url-menu')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('url-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('url-menu'\))

Workspace.on('url-menu') method

-------------------------------

Triggered when the user opens the context menu on an external URL.

1.5.1

**Signature:**

    on(name: 'url-menu', callback: (menu: Menu, url: string) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'url-menu'`

`callback`

`(menu:` [`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu)`, url: string) => any`

on('url-menu')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('url-menu') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListValue/type
----

type

====

    aliases: "ListValue.type"

    cssclasses: hide-title

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/type)

ListValue.type property

-----------------------

1.10.0

**Signature:**

    static type: string;

Links to this page

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

type

Not found

This page does not exist

Interactive graph

On this page

ListValue.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TagValue
----

TagValue

========

    aliases: "TagValue"

    cssclasses: hide-title

[`TagValue`](https://docs.obsidian.md/Reference/TypeScript+API/TagValue)

TagValue class

--------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping an Obsidian tag.

1.10.0

**Signature:**

    export class TagValue extends StringValue 

**Extends:** [`StringValue`](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(value)`](https://docs.obsidian.md/Reference/TypeScript+API/TagValue/\(constructor\))

1.10.0

Properties

----------

-------

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/TagValue/\(constructor\))

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

TagValue

Not found

This page does not exist

Interactive graph

On this page

TagValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult/history
----

[history](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult/history)

history

=======

    aliases: "ViewStateResult.history"

    cssclasses: hide-title

[`ViewStateResult`](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult) › [`history`](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult/history)

ViewStateResult.history property

--------------------------------

Set this to true to indicate that there is a state change which should be recorded in the navigation history.

**Signature:**

    history: boolean;

Links to this page

[ViewStateResult](https://docs.obsidian.md/Reference/TypeScript+API/ViewStateResult)

history

Not found

This page does not exist

Interactive graph

On this page

ViewStateResult.history property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/getRange
----

getRange

========

    aliases: "Editor.getRange"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`getRange`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/getRange)

Editor.getRange() method

------------------------

0.11.11

**Signature:**

    abstract getRange(from: EditorPosition, to: EditorPosition): string;

Parameters

----------

Parameter

Type

Description

`from`

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

`to`

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

**Returns:**

`string`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

getRange

Not found

This page does not exist

Interactive graph

On this page

Editor.getRange() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/unregisterPostProcessor
----

unregisterPostProcessor

=======================

    aliases: "MarkdownPreviewRenderer.unregisterPostProcessor"

    cssclasses: hide-title

[`MarkdownPreviewRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer) › [`unregisterPostProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/unregisterPostProcessor)

MarkdownPreviewRenderer.unregisterPostProcessor() method

--------------------------------------------------------

0.9.7

**Signature:**

    static unregisterPostProcessor(postProcessor: MarkdownPostProcessor): void;

Parameters

----------

Parameter

Type

Description

`postProcessor`

[`MarkdownPostProcessor`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessor)

**Returns:**

`void`

Links to this page

[MarkdownPreviewRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)

unregisterPostProcessor

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewRenderer.unregisterPostProcessor() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue
----

BooleanValue

============

    aliases: "BooleanValue"

    cssclasses: hide-title

[`BooleanValue`](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue)

BooleanValue class

------------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a boolean.

1.10.0

**Signature:**

    export class BooleanValue extends PrimitiveValue<boolean> 

**Extends:** [`PrimitiveValue`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue)`<boolean>`

Constructors

------------

----------

Property

Modifiers

Type

Description

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue/type)

`static`

`string`

1.10.0

Methods

-------

[type](https://docs.obsidian.md/Reference/TypeScript+API/BooleanValue/type)

BooleanValue

Not found

This page does not exist

Interactive graph

On this page

BooleanValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setDisabled
----

setDisabled

===========

    aliases: "SliderComponent.setDisabled"

    cssclasses: hide-title

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent) › [`setDisabled`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setDisabled)

SliderComponent.setDisabled() method

------------------------------------

1.2.3

**Signature:**

    setDisabled(disabled: boolean): this;

Parameters

----------

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

setDisabled

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.setDisabled() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/default
----

default

=======

    aliases: "BasesFolderOption.default"

    cssclasses: hide-title

[`BasesFolderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption) › [`default`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/default)

BasesFolderOption.default property

----------------------------------

1.10.2

**Signature:**

    default?: string;

Links to this page

[BasesFolderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption)

default

Not found

This page does not exist

Interactive graph

On this page

BasesFolderOption.default property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/onChanged
----

onChanged

=========

    aliases: "SearchComponent.onChanged"

    cssclasses: hide-title

[`SearchComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent) › [`onChanged`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent/onChanged)

SearchComponent.onChanged() method

----------------------------------

**Signature:**

    onChanged(): void;

**Returns:**

`void`

Links to this page

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

onChanged

Not found

This page does not exist

Interactive graph

On this page

SearchComponent.onChanged() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/setValue
----

setValue

========

    aliases: "Editor.setValue"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/setValue)

Editor.setValue() method

------------------------

0.11.11

**Signature:**

    abstract setValue(content: string): void;

Parameters

----------

Parameter

Type

Description

`content`

`string`

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

setValue

Not found

This page does not exist

Interactive graph

On this page

Editor.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/addClass
----

addClass

========

    aliases: "SettingGroup.addClass"

    cssclasses: hide-title

[`SettingGroup`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup) › [`addClass`](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup/addClass)

SettingGroup.addClass() method

------------------------------

1.11.0

**Signature:**

    addClass(cls: string): this;

Parameters

----------

Parameter

Type

Description

`cls`

`string`

**Returns:**

`this`

Links to this page

[SettingGroup](https://docs.obsidian.md/Reference/TypeScript+API/SettingGroup)

addClass

Not found

This page does not exist

Interactive graph

On this page

SettingGroup.addClass() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead
----

cachedRead

==========

    aliases: "Vault.cachedRead"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`cachedRead`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/cachedRead)

Vault.cachedRead() method

-------------------------

Read the content of a plaintext file stored inside the vault Use this if you only want to display the content to the user. If you want to modify the file content afterward use [Vault.read()](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read)

0.9.7

**Signature:**

    cachedRead(file: TFile): Promise<string>;

Parameters

----------

[read](https://docs.obsidian.md/Reference/TypeScript+API/Vault/read)

[Vault](https://docs.obsidian.md/Plugins/Vault)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

cachedRead

Not found

This page does not exist

Interactive graph

On this page

Vault.cachedRead() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer
----

MarkdownRenderer

================

    aliases: "MarkdownRenderer"

    cssclasses: hide-title

[`MarkdownRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

MarkdownRenderer class

----------------------

0.9.7

**Signature:**

    export abstract class MarkdownRenderer extends MarkdownRenderChild implements MarkdownPreviewEvents, HoverParent 

**Extends:** [`MarkdownRenderChild`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild)

**Implements:** [`MarkdownPreviewEvents`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewEvents), [`HoverParent`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)

Constructors

------------

----------

Property

Modifiers

Type

Description

[`app`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/app)

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

[`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild/containerEl)

`HTMLElement`

(Inherited from [MarkdownRenderChild](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderChild))

[`file`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/file)

`abstract`

`readonly`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

[`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/hoverPopover)

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) `| null`

Methods

-------

Method

Modifiers

Description

[`addChild(component)`](https://docs.obsidian.md/Reference/TypeScript+API/Component/addChild)

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

0.12.0

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

[`renderMarkdown(markdown, el, sourcePath, component)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/renderMarkdown)

`static`

Renders Markdown string to an HTML element.

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[app](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/app)

[file](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/file)

[hoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/hoverPopover)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[render](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/render)

[renderMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/renderMarkdown)

MarkdownRenderer

Not found

This page does not exist

Interactive graph

On this page

MarkdownRenderer class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState
----

OpenViewState

=============

    aliases: "OpenViewState"

    cssclasses: hide-title

[`OpenViewState`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState)

OpenViewState interface

-----------------------

**Signature:**

    export interface OpenViewState 

Properties

----------

Property

Modifiers

Type

Description

[`active?`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/active)

`boolean`

_(Optional)_

[`eState?`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/eState)

`Record``<string, unknown>`

_(Optional)_

[`group?`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/group)

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

_(Optional)_

[`state?`](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/state)

`Record``<string, unknown>`

_(Optional)_

Links to this page

[active](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/active)

[eState](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/eState)

[group](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/group)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[openFile](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/openFile)

[openLinkText](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/openLinkText)

[state](https://docs.obsidian.md/Reference/TypeScript+API/OpenViewState/state)

OpenViewState

Not found

This page does not exist

Interactive graph

On this page

OpenViewState interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/arrayBuffer
----

arrayBuffer

===========

    aliases: "RequestUrlResponse.arrayBuffer"

    cssclasses: hide-title

[`RequestUrlResponse`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse) › [`arrayBuffer`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/arrayBuffer)

RequestUrlResponse.arrayBuffer property

---------------------------------------

**Signature:**

    arrayBuffer: ArrayBuffer;

Links to this page

[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)

arrayBuffer

Not found

This page does not exist

Interactive graph

On this page

RequestUrlResponse.arrayBuffer property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/collapsed
----

collapsed

=========

    aliases: "WorkspaceMobileDrawer.collapsed"

    cssclasses: hide-title

[`WorkspaceMobileDrawer`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer) › [`collapsed`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer/collapsed)

WorkspaceMobileDrawer.collapsed property

----------------------------------------

**Signature:**

    collapsed: boolean;

Links to this page

[WorkspaceMobileDrawer](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceMobileDrawer)

collapsed

Not found

This page does not exist

Interactive graph

On this page

WorkspaceMobileDrawer.collapsed property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/HTML+elements
----

HTML elements

=============

Several components in the Obsidian API, such as the [Settings](https://docs.obsidian.md/Plugins/User+interface/Settings), expose _container elements_:

    import { App, PluginSettingTab } from 'obsidian';

    class ExampleSettingTab extends PluginSettingTab {

      plugin: ExamplePlugin;

      constructor(app: App, plugin: ExamplePlugin) {

        super(app, plugin);

        this.plugin = plugin;

      }

      display(): void {

        // highlight-next-line

        let { containerEl } = this;

        // ...

      }

    }

Container elements are `HTMLElement` objects that make it possible to create custom interfaces within Obsidian.

Create HTML elements using `createEl()`

---------------------------------------

Every `HTMLElement`, including the container element, exposes a `createEl()` method that creates an `HTMLElement` under the original element.

For example, here's how you can add an `<h1>` heading element inside the container element:

    containerEl.createEl('h1', { text: 'Heading 1' });

`createEl()` returns a reference to the new element:

    const book = containerEl.createEl('div');

    book.createEl('div', { text: 'How to Take Smart Notes' });

    book.createEl('small', { text: 'Sönke Ahrens' });

Style your elements

-------------------

You can add custom CSS styles to your plugin by adding a `styles.css` file in the plugin root directory. To add some styles for the previous book example:

    .book {

      border: 1px solid var(--background-modifier-border);

      padding: 10px;

    }

    .book__title {

      font-weight: 600;

    }

    .book__author {

      color: var(--text-muted);

    }

Tip

`--background-modifier-border` and `--text-muted` are [CSS variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties) that are defined and used by Obsidian itself. If you use these variables for your styles, your plugin will look great even if the user has a different theme! 🌈

To make the HTML elements use the styles, set the `cls` property for the HTML element:

    const book = containerEl.createEl('div', { cls: 'book' });

    book.createEl('div', { text: 'How to Take Smart Notes', cls: 'book__title' });

    book.createEl('small', { text: 'Sönke Ahrens', cls: 'book__author' });

Now it looks much better! 🎉

### Conditional styles

Use the `toggleClass` method if you want to change the style of an element based on the user's settings or other values:

    element.toggleClass('danger', status === 'error');

Links to this page

[Icons](https://docs.obsidian.md/Plugins/User+interface/Icons)

[Markdown post processing](https://docs.obsidian.md/Plugins/Editor/Markdown+post+processing)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)

[Status bar](https://docs.obsidian.md/Plugins/User+interface/Status+bar)

[Use React in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+React+in+your+plugin)

[Use Svelte in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+Svelte+in+your+plugin)

[Views](https://docs.obsidian.md/Plugins/User+interface/Views)

HTML elements

Not found

This page does not exist

Interactive graph

On this page

Create HTML elements using createEl()

Style your elements

Conditional styles

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent
----

CloseableComponent

==================

    aliases: "CloseableComponent"

    cssclasses: hide-title

[`CloseableComponent`](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent)

CloseableComponent interface

----------------------------

A closeable component that can get dismissed via the Android 'back' button.

**Signature:**

    export interface CloseableComponent 

Methods

-------

Method

Description

[`close()`](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent/close)

Links to this page

[close](https://docs.obsidian.md/Reference/TypeScript+API/CloseableComponent/close)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)

CloseableComponent

Not found

This page does not exist

Interactive graph

On this page

CloseableComponent interface

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/name
----

name

====

    aliases: "TAbstractFile.name"

    cssclasses: hide-title

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile) › [`name`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile/name)

TAbstractFile.name property

---------------------------

0.9.7

**Signature:**

    name: string;

Links to this page

[TAbstractFile](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)

name

Not found

This page does not exist

Interactive graph

On this page

TAbstractFile.name property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValueRgb
----

getValueRgb

===========

    aliases: "ColorComponent.getValueRgb"

    cssclasses: hide-title

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent) › [`getValueRgb`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValueRgb)

ColorComponent.getValueRgb() method

-----------------------------------

1.0.0

**Signature:**

    getValueRgb(): RGB;

**Returns:**

[`RGB`](https://docs.obsidian.md/Reference/TypeScript+API/RGB)

Links to this page

[ColorComponent](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

getValueRgb

Not found

This page does not exist

Interactive graph

On this page

ColorComponent.getValueRgb() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler/scope
----

KeymapEventHandler

[scope](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler/scope)

scope

=====

    aliases: "KeymapEventHandler.scope"

    cssclasses: hide-title

[`KeymapEventHandler`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler) › [`scope`](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler/scope)

KeymapEventHandler.scope property

---------------------------------

**Signature:**

    scope: Scope;

Links to this page

[KeymapEventHandler](https://docs.obsidian.md/Reference/TypeScript+API/KeymapEventHandler)

[popScope](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/popScope)

[pushScope](https://docs.obsidian.md/Reference/TypeScript+API/Keymap/pushScope)

scope

Not found

This page does not exist

Interactive graph

On this page

KeymapEventHandler.scope property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/url
----

url

===

    aliases: "RequestUrlParam.url"

    cssclasses: hide-title

[`RequestUrlParam`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam) › [`url`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam/url)

RequestUrlParam.url property

----------------------------

**Signature:**

    url: string;

Links to this page

[RequestUrlParam](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam)

url

Not found

This page does not exist

Interactive graph

On this page

RequestUrlParam.url property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/setSecret
----

setSecret

=========

    aliases: "SecretStorage.setSecret"

    cssclasses: hide-title

[`SecretStorage`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage) › [`setSecret`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/setSecret)

SecretStorage.setSecret() method

--------------------------------

Sets a secret in the storage.

**Signature:**

    setSecret(id: string, secret: string): void;

Parameters

----------

Parameter

Type

Description

`id`

`string`

Lowercase alphanumeric ID with optional dashes

`secret`

`string`

The secret value to store

**Returns:**

`void`

Exceptions

----------

Error if ID is invalid

1.11.4

Links to this page

[SecretStorage](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage)

setSecret

Not found

This page does not exist

Interactive graph

On this page

SecretStorage.setSecret() method

Parameters

Exceptions

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration
----

BasesViewRegistration

=====================

    aliases: "BasesViewRegistration"

    cssclasses: hide-title

[`BasesViewRegistration`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration)

BasesViewRegistration interface

-------------------------------

Container for options when registering a new Bases view type.

1.10.0

**Signature:**

    export interface BasesViewRegistration 

Properties

----------

Property

Modifiers

Type

Description

[`factory`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/factory)

[`BasesViewFactory`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewFactory)

1.10.0

[`icon`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/icon)

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

Icon ID to be used in the Bases view selector. See [https://docs.obsidian.md/Plugins/User+interface/Icons](https://docs.obsidian.md/Plugins/User+interface/Icons) for available icons and how to add your own.

1.10.0

[`name`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/name)

`string`

1.10.0

[`options?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewRegistration/options)

`(config:` [`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)`) =>` [`BasesAllOptions`](https://docs.obsidian.md/Reference/TypeScript+API/BasesAllOptions)`[]`

_(Optional)_ 1.10.0

BasesViewRegistration

Not found

This page does not exist

Interactive graph

On this page

BasesViewRegistration interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('files-menu')
----

on('files-menu')

================

    aliases: "Workspace.on('files-menu')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('files-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('files-menu'\))

Workspace.on('files-menu') method

---------------------------------

Triggered when the user opens the context menu with multiple files selected in the File Explorer.

1.4.10

**Signature:**

    on(name: 'files-menu', callback: (menu: Menu, files: TAbstractFile[], source: string, leaf?: WorkspaceLeaf) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'files-menu'`

`callback`

`(menu:` [`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu)`, files:` [`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)`[], source: string, leaf?:` [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)`) => any`

on('files-menu')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('files-menu') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/name
----

name

====

    aliases: "BasesConfigFileView.name"

    cssclasses: hide-title

[`BasesConfigFileView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView) › [`name`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/name)

BasesConfigFileView.name property

---------------------------------

Friendly name for this view, displayed in the UI to select between views.

1.10.0

**Signature:**

    name: string;

Links to this page

[BasesConfigFileView](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)

name

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFileView.name property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on('changed')
----

on('changed')

=============

    aliases: "MetadataCache.on('changed')"

    cssclasses: hide-title

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache) › [on('changed')](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/on\('changed'\))

MetadataCache.on('changed') method

----------------------------------

Called when a file has been indexed, and its (updated) cache is now available.

Note: This is not called when a file is renamed for performance reasons. You must hook the vault rename event for those.

**Signature:**

    on(name: 'changed', callback: (file: TFile, data: string, cache: CachedMetadata) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'changed'`

`callback`

`(file:` [`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)`, data: string, cache:` [`CachedMetadata`](https://docs.obsidian.md/Reference/TypeScript+API/CachedMetadata)`) => any`

on('changed')

Not found

This page does not exist

Interactive graph

On this page

MetadataCache.on('changed') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Stat/mtime
----

mtime

=====

    aliases: "Stat.mtime"

    cssclasses: hide-title

[`Stat`](https://docs.obsidian.md/Reference/TypeScript+API/Stat) › [`mtime`](https://docs.obsidian.md/Reference/TypeScript+API/Stat/mtime)

Stat.mtime property

-------------------

Time of last modification, represented as a unix timestamp.

**Signature:**

    mtime: number;

Links to this page

[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)

mtime

Not found

This page does not exist

Interactive graph

On this page

Stat.mtime property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Popover
----

Popover

=======

    cssclasses: reference

This page lists CSS variables for popovers and file previews.

CSS variables

-------------

Variable

Description

`--popover-width`

Popover default width

`--popover-height`

Popover default height

`--popover-max-height`

Popover maximum height

`--popover-font-size`

Popover font size

`--popover-pdf-width`

PDF file preview width

`--popover-pdf-height`

PDF file preview height

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Popover

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CacheItem
----

CacheItem

=========

    aliases: "CacheItem"

    cssclasses: hide-title

[`CacheItem`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

CacheItem interface

-------------------

**Signature:**

    export interface CacheItem 

Properties

----------

Property

Modifiers

Type

Description

[`position`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem/position)

[`Pos`](https://docs.obsidian.md/Reference/TypeScript+API/Pos)

Position of this item in the note.

Links to this page

[BlockCache](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)

[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

[FootnoteCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)

[FootnoteRefCache](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteRefCache)

[HeadingCache](https://docs.obsidian.md/Reference/TypeScript+API/HeadingCache)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

[ListItemCache](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)

[position](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem/position)

[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

[ReferenceLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceLinkCache)

[SectionCache](https://docs.obsidian.md/Reference/TypeScript+API/SectionCache)

[TagCache](https://docs.obsidian.md/Reference/TypeScript+API/TagCache)

CacheItem

Not found

This page does not exist

Interactive graph

On this page

CacheItem interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/StringValue
----

StringValue

===========

    aliases: "StringValue"

    cssclasses: hide-title

[`StringValue`](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

StringValue class

-----------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a string.

1.10.0

**Signature:**

    export class StringValue extends PrimitiveValue<string> 

**Extends:** [`PrimitiveValue`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue)`<string>`

Constructors

------------

----------

Property

Modifiers

Type

Description

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/StringValue/type)

`static`

`string`

1.10.0

Methods

-------

[HTMLValue](https://docs.obsidian.md/Reference/TypeScript+API/HTMLValue)

[IconValue](https://docs.obsidian.md/Reference/TypeScript+API/IconValue)

[ImageValue](https://docs.obsidian.md/Reference/TypeScript+API/ImageValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[LinkValue](https://docs.obsidian.md/Reference/TypeScript+API/LinkValue)

[TagValue](https://docs.obsidian.md/Reference/TypeScript+API/TagValue)

[type](https://docs.obsidian.md/Reference/TypeScript+API/StringValue/type)

[UrlValue](https://docs.obsidian.md/Reference/TypeScript+API/UrlValue)

StringValue

Not found

This page does not exist

Interactive graph

On this page

StringValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions
----

TooltipOptions

==============

    aliases: "TooltipOptions"

    cssclasses: hide-title

[`TooltipOptions`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)

TooltipOptions interface

------------------------

**Signature:**

    export interface TooltipOptions 

Properties

----------

Property

Modifiers

Type

Description

[`classes?`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/classes)

`string[]`

_(Optional)_ 1.8.7

[`delay?`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/delay)

`number`

_(Optional)_ 1.4.11

[`gap?`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/gap)

`number`

_(Optional)_ 1.8.7

[`placement?`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/placement)

[`TooltipPlacement`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)

_(Optional)_

Links to this page

[classes](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/classes)

[delay](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/delay)

[displayTooltip](https://docs.obsidian.md/Reference/TypeScript+API/displayTooltip)

[gap](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/gap)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[placement](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions/placement)

[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/setTooltip)

[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/setTooltip)

[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/Setting/setTooltip)

[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setTooltip)

[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setTooltip)

TooltipOptions

Not found

This page does not exist

Interactive graph

On this page

TooltipOptions interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Window/Window+frame
----

Window frame

============

    cssclasses: reference

This page lists CSS variables for the window frame, including the title bar.

Note

To see the title bar, you need to change **Settings → Appearance → Window frame style** to **Obsidian frame**.

CSS variables

-------------

Variable

Description

`--titlebar-background`

Titlebar background color

`--titlebar-background-focused`

Titlebar background color (focused window)

`--titlebar-border-width`

Titlebar border width

`--titlebar-border-color`

Titlebar border color

`--titlebar-text-color`

Titlebar text color

`--titlebar-text-color-focused`

Titlebar text color (focused window)

`--titlebar-text-weight`

Titlebar font weight

`--header-height`

Default height for frame elements

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Window frame

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab
----

PluginSettingTab

================

    aliases: "PluginSettingTab"

    cssclasses: hide-title

[`PluginSettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab)

PluginSettingTab class

----------------------

Provides a unified interface for users to configure the plugin.

**Signature:**

    export abstract class PluginSettingTab extends SettingTab 

**Extends:** [`SettingTab`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(app, plugin)`](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab/\(constructor\))

Constructs a new instance of the `PluginSettingTab` class

Properties

----------

(Inherited from [SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab))

[`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/containerEl)

`HTMLElement`

HTML element for the setting tab content.

(Inherited from [SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab))

[`icon`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/icon)

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

The icon to display in the settings sidebar.

1.11.0

(Inherited from [SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab))

Methods

-------

Method

Modifiers

Description

[`display()`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/display)

`abstract`

Called when the settings tab should be rendered.

(Inherited from [SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab))

[`hide()`](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab/hide)

Hides the contents of the setting tab. Any registered components should be unloaded when the view is hidden. Override this if you need to perform additional cleanup.

(Inherited from [SettingTab](https://docs.obsidian.md/Reference/TypeScript+API/SettingTab))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/PluginSettingTab/\(constructor\))

[addSettingTab](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addSettingTab)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)

PluginSettingTab

Not found

This page does not exist

Interactive graph

On this page

PluginSettingTab class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorRange/from
----

from

====

    aliases: "EditorRange.from"

    cssclasses: hide-title

[`EditorRange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange) › [`from`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange/from)

EditorRange.from property

-------------------------

**Signature:**

    from: EditorPosition;

Links to this page

[EditorRange](https://docs.obsidian.md/Reference/TypeScript+API/EditorRange)

from

Not found

This page does not exist

Interactive graph

On this page

EditorRange.from property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SuggestModal/setInstructions
----

setInstructions

===============

setInstructions

Not found

This page does not exist

Interactive graph

On this page

SuggestModal.setInstructions() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent/setDefaultFormat
----

setDefaultFormat

Not found

This page does not exist

Interactive graph

On this page

MomentFormatComponent.setDefaultFormat() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Side
----

Side

====

    aliases: "Side"

    cssclasses: hide-title

[`Side`](https://docs.obsidian.md/Reference/TypeScript+API/Side)

Side type

---------

**Signature:**

    export type Side = 'left' | 'right';

Links to this page

[ensureSideLeaf](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/ensureSideLeaf)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

Side

Not found

This page does not exist

Interactive graph

On this page

Side type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TextComponent
----

TextComponent

=============

    aliases: "TextComponent"

    cssclasses: hide-title

[`TextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

TextComponent class

-------------------

0.9.21

**Signature:**

    export class TextComponent extends AbstractTextComponent<HTMLInputElement> 

**Extends:** [`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)`<``HTMLInputElement``>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent/\(constructor\))

Constructs a new instance of the `TextComponent` class

Properties

----------

-------

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent/\(constructor\))

[addText](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addText)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

TextComponent

Not found

This page does not exist

Interactive graph

On this page

TextComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/List
----

List

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView
----

MarkdownEditView

================

    aliases: "MarkdownEditView"

    cssclasses: hide-title

[`MarkdownEditView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

MarkdownEditView class

----------------------

This is the editor for Obsidian Mobile as well as the WYSIWYG editor.

**Signature:**

    export class MarkdownEditView implements MarkdownSubView, HoverParent, MarkdownFileInfo 

**Implements:** [`MarkdownSubView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView), [`HoverParent`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent), [`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(view)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/\(constructor\))

Constructs a new instance of the `MarkdownEditView` class

Properties

----------

Property

Modifiers

Type

Description

[`app`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/app)

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

[`file`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/file)

`readonly`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

[`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/hoverPopover)

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover)

Methods

-------

Method

Modifiers

Description

[`applyScroll(scroll)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/applyScroll)

[`clear()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/clear)

[`get()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/get)

[`getScroll()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/getScroll)

[`getSelection()`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/getSelection)

[`set(data, clear)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/set)

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/\(constructor\))

[app](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/app)

[applyScroll](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/applyScroll)

[clear](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/clear)

[file](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/file)

[get](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/get)

[getScroll](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/getScroll)

[getSelection](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/getSelection)

[hoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/hoverPopover)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[set](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView/set)

MarkdownEditView

Not found

This page does not exist

Interactive graph

On this page

MarkdownEditView class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/moment
----

moment

======

moment

Not found

This page does not exist

Interactive graph

On this page

moment variable

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/placeholder
----

placeholder

===========

    aliases: "BasesFolderOption.placeholder"

    cssclasses: hide-title

[`BasesFolderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption) › [`placeholder`](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption/placeholder)

BasesFolderOption.placeholder property

--------------------------------------

1.10.2

**Signature:**

    placeholder?: string;

Links to this page

[BasesFolderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesFolderOption)

placeholder

Not found

This page does not exist

Interactive graph

On this page

BasesFolderOption.placeholder property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/posToOffset
----

posToOffset

Not found

This page does not exist

Interactive graph

On this page

Editor.posToOffset() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/User+interface/Views
----

Views

=====

Views determine how Obsidian displays content. The file explorer, graph view, and the Markdown view are all examples of views, but you can also create your own custom views that display content in a way that makes sense for your plugin.

To create a custom view, create a class that extends the [ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView) interface:

    import { ItemView, WorkspaceLeaf } from 'obsidian';

    export const VIEW_TYPE_EXAMPLE = 'example-view';

    export class ExampleView extends ItemView {

      constructor(leaf: WorkspaceLeaf) {

        super(leaf);

      }

      getViewType() {

        return VIEW_TYPE_EXAMPLE;

      }

      getDisplayText() {

        return 'Example view';

      }

      async onOpen() {

        const container = this.contentEl;

        container.empty();

        container.createEl('h4', { text: 'Example view' });

      }

      async onClose() {

        // Nothing to clean up.

      }

    }

Note

For more information on how to use the `createEl()` method, refer to [HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements).

Each view is uniquely identified by a text string and several operations require that you specify the view you'd like to use. Extracting it to a constant, `VIEW_TYPE_EXAMPLE`, is a good idea — as you will see later in this guide.

*   `getViewType()` returns a unique identifier for the view.

*   `getDisplayText()` returns a human-readable name for the view.

*   `onOpen()` is called when the view is opened within a new leaf and is responsible for building the content of your view.

*   `onClose()` is called when the view should close and is responsible for cleaning up any resources used by the view.

Custom views need to be registered when the plugin is enabled, and cleaned up when the plugin is disabled:

    import { Plugin, WorkspaceLeaf } from 'obsidian';

    import { ExampleView, VIEW_TYPE_EXAMPLE } from './view';

    export default class ExamplePlugin extends Plugin {

      async onload() {

        this.registerView(

          VIEW_TYPE_EXAMPLE,

          (leaf) => new ExampleView(leaf)

        );

        this.addRibbonIcon('dice', 'Activate view', () => {

          this.activateView();

        });

      }

      async onunload() {

      }

      async activateView() {

        const { workspace } = this.app;

        let leaf: WorkspaceLeaf | null = null;

        const leaves = workspace.getLeavesOfType(VIEW_TYPE_EXAMPLE);

        if (leaves.length > 0) {

          // A leaf with our view already exists, use that

          leaf = leaves[0];

        } else {

          // Our view could not be found in the workspace, create a new leaf

          // in the right sidebar for it

          leaf = workspace.getRightLeaf(false);

          await leaf.setViewState({ type: VIEW_TYPE_EXAMPLE, active: true });

        }

        // "Reveal" the leaf in case it is in a collapsed sidebar

        workspace.revealLeaf(leaf);

      }

    }

The second argument to [registerView()](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/registerView) is a factory function that returns an instance of the view you want to register.

Warning

Never manage references to views in your plugin. Obsidian may call the view factory function multiple times. Avoid side effects in your view, and use `getLeavesOfType()` whenever you need to access your view instances.

    this.app.workspace.getLeavesOfType(VIEW_TYPE_EXAMPLE).forEach((leaf) => {

      if (leaf.view instanceof ExampleView) {

        // Access your view instance.

      }

    });

Links to this page

[About user interface](https://docs.obsidian.md/Plugins/User+interface/About+user+interface)

[Use React in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+React+in+your+plugin)

[Use Svelte in your plugin](https://docs.obsidian.md/Plugins/Getting+started/Use+Svelte+in+your+plugin)

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

Views

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFiles
----

getFiles

========

    aliases: "Vault.getFiles"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`getFiles`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getFiles)

Vault.getFiles() method

-----------------------

Get all files in the vault.

0.9.7

**Signature:**

    getFiles(): TFile[];

**Returns:**

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)`[]`

Links to this page

[Vault](https://docs.obsidian.md/Plugins/Vault)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

getFiles

Not found

This page does not exist

Interactive graph

On this page

Vault.getFiles() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent
----

AbstractTextComponent

=====================

    aliases: "AbstractTextComponent"

    cssclasses: hide-title

[`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent)

AbstractTextComponent class

---------------------------

0.9.21

**Signature:**

    export class AbstractTextComponent<T extends HTMLInputElement | HTMLTextAreaElement> extends ValueComponent<string> 

**Extends:** [`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)`<string>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(inputEl)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/\(constructor\))

Constructs a new instance of the `AbstractTextComponent` class

Properties

----------

Methods

-------

Method

Modifiers

Description

[`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/getValue)

0.9.7

[`onChange(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/onChange)

0.9.7

[`onChanged()`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/onChanged)

0.9.21

[`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

0.9.7

(Inherited from [ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent))

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setDisabled)

1.2.3

[`setPlaceholder(placeholder)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setPlaceholder)

0.9.7

[`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setValue)

0.9.7

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/\(constructor\))

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/getValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[inputEl](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/inputEl)

[MomentFormatComponent](https://docs.obsidian.md/Reference/TypeScript+API/MomentFormatComponent)

[onChange](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/onChange)

[onChanged](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/onChanged)

[SearchComponent](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)

[setDisabled](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setDisabled)

[setPlaceholder](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setPlaceholder)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setValue)

[TextAreaComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextAreaComponent)

[TextComponent](https://docs.obsidian.md/Reference/TypeScript+API/TextComponent)

AbstractTextComponent

Not found

This page does not exist

Interactive graph

On this page

AbstractTextComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches
----

SearchMatches

=============

    aliases: "SearchMatches"

    cssclasses: hide-title

[`SearchMatches`](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatches)

SearchMatches type

------------------

**Signature:**

    export type SearchMatches = SearchMatchPart[];

**References:** [`SearchMatchPart`](https://docs.obsidian.md/Reference/TypeScript+API/SearchMatchPart)

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[renderMatches](https://docs.obsidian.md/Reference/TypeScript+API/renderMatches)

[SearchResult](https://docs.obsidian.md/Reference/TypeScript+API/SearchResult)

SearchMatches

Not found

This page does not exist

Interactive graph

On this page

SearchMatches type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/then
----

then

====

    aliases: "Setting.then"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`then`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/then)

Setting.then() method

---------------------

Facilitates chaining

0.9.20

**Signature:**

    then(cb: (setting: this) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(setting: this) => any`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

then

Not found

This page does not exist

Interactive graph

On this page

Setting.then() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption/default
----

default

=======

    aliases: "BasesMultitextOption.default"

    cssclasses: hide-title

[`BasesMultitextOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption) › [`default`](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption/default)

BasesMultitextOption.default property

-------------------------------------

1.10.0

**Signature:**

    default?: string[];

Links to this page

[BasesMultitextOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesMultitextOption)

default

Not found

This page does not exist

Interactive graph

On this page

BasesMultitextOption.default property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/get
----

get

===

    aliases: "BasesViewConfig.get"

    cssclasses: hide-title

[`BasesViewConfig`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig) › [`get`](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig/get)

BasesViewConfig.get() method

----------------------------

Retrieve the user-configured value of options exposed in `BasesViewRegistration.options`.

1.10.0

**Signature:**

    get(key: string): unknown;

Parameters

----------

Parameter

Type

Description

`key`

`string`

**Returns:**

`unknown`

Links to this page

[BasesViewConfig](https://docs.obsidian.md/Reference/TypeScript+API/BasesViewConfig)

get

Not found

This page does not exist

Interactive graph

On this page

BasesViewConfig.get() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/NumberValue/type
----


[type](https://docs.obsidian.md/Reference/TypeScript+API/NumberValue/type)

type

====

    aliases: "NumberValue.type"

    cssclasses: hide-title

[`NumberValue`](https://docs.obsidian.md/Reference/TypeScript+API/NumberValue) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/NumberValue/type)

NumberValue.type property

-------------------------

1.10.0

**Signature:**

    static type: string;

Links to this page

[NumberValue](https://docs.obsidian.md/Reference/TypeScript+API/NumberValue)

type

Not found

This page does not exist

Interactive graph

On this page

NumberValue.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer
----

MarkdownPreviewRenderer

=======================

    aliases: "MarkdownPreviewRenderer"

    cssclasses: hide-title

[`MarkdownPreviewRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer)

MarkdownPreviewRenderer class

-----------------------------

0.9.7

**Signature:**

    export class MarkdownPreviewRenderer 

Methods

-------

Method

Modifiers

Description

[`createCodeBlockPostProcessor(language, handler)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/createCodeBlockPostProcessor)

`static`

0.12.11

[`registerPostProcessor(postProcessor, sortOrder)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/registerPostProcessor)

`static`

0.10.12

[`unregisterPostProcessor(postProcessor)`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/unregisterPostProcessor)

`static`

0.9.7

Links to this page

[createCodeBlockPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/createCodeBlockPostProcessor)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[registerPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/registerPostProcessor)

[unregisterPostProcessor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewRenderer/unregisterPostProcessor)

MarkdownPreviewRenderer

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewRenderer class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/delete
----

delete

======

    aliases: "Vault.delete"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`delete`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/delete)

Vault.delete() method

---------------------

Deletes the file completely.

**Signature:**

    delete(file: TAbstractFile, force?: boolean): Promise<void>;

Parameters

----------

Parameter

Type

Description

`file`

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

The file or folder to be deleted

`force`

`boolean`

_(Optional)_ Should attempt to delete folder even if it has hidden children

0.9.7

**Returns:**

`Promise<void>`

Links to this page

[Vault](https://docs.obsidian.md/Plugins/Vault)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

delete

Not found

This page does not exist

Interactive graph

On this page

Vault.delete() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/icon
----

icon

====

    aliases: "View.icon"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`icon`](https://docs.obsidian.md/Reference/TypeScript+API/View/icon)

View.icon property

------------------

1.1.0

**Signature:**

    icon: IconName;

icon

Not found

This page does not exist

Interactive graph

On this page

View.icon property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeEditor
----

activeEditor

============

    aliases: "Workspace.activeEditor"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`activeEditor`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/activeEditor)

Workspace.activeEditor property

-------------------------------

A component managing the current editor. This can be null if the active view has no editor.

**Signature:**

    activeEditor: MarkdownFileInfo | null;

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

activeEditor

Not found

This page does not exist

Interactive graph

On this page

Workspace.activeEditor property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/type
----

type

====

    aliases: "BasesSliderOption.type"

    cssclasses: hide-title

[`BasesSliderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/type)

BasesSliderOption.type property

-------------------------------

1.10.0

**Signature:**

    type: 'slider';

Links to this page

[BasesSliderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption)

type

Not found

This page does not exist

Interactive graph

On this page

BasesSliderOption.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Events/trigger
----

trigger

=======

    aliases: "Events.trigger"

    cssclasses: hide-title

[`Events`](https://docs.obsidian.md/Reference/TypeScript+API/Events) › [`trigger`](https://docs.obsidian.md/Reference/TypeScript+API/Events/trigger)

Events.trigger() method

-----------------------

0.9.7

**Signature:**

    trigger(name: string, ...data: unknown[]): void;

Parameters

----------

Parameter

Type

Description

`name`

`string`

`data`

trigger

Not found

This page does not exist

Interactive graph

On this page

Events.trigger() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/setUseNativeMenu
----

setUseNativeMenu

================

    aliases: "Menu.setUseNativeMenu"

    cssclasses: hide-title

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu) › [`setUseNativeMenu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/setUseNativeMenu)

Menu.setUseNativeMenu() method

------------------------------

Force this menu to use native or DOM. (Only works on the desktop app)

0.16.0

**Signature:**

    setUseNativeMenu(useNativeMenu: boolean): this;

Parameters

----------

Parameter

Type

Description

`useNativeMenu`

`boolean`

**Returns:**

`this`

Links to this page

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

setUseNativeMenu

Not found

This page does not exist

Interactive graph

On this page

Menu.setUseNativeMenu() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/get
----

get

===

    aliases: "ObjectValue.get"

    cssclasses: hide-title

[`ObjectValue`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue) › [`get`](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue/get)

ObjectValue.get() method

------------------------

**Signature:**

    get(key: string): Value | null;

Parameters

----------

Parameter

Type

Description

`key`

`string`

**Returns:**

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value) `| null`

the [Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) associated with the provided key, or [NullValue](https://docs.obsidian.md/Reference/TypeScript+API/NullValue). If the referenced property in the object is not a Value, it will be wrapped before returning.

1.10.0

Links to this page

[ObjectValue](https://docs.obsidian.md/Reference/TypeScript+API/ObjectValue)

get

Not found

This page does not exist

Interactive graph

On this page

ObjectValue.get() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent
----

ButtonComponent

===============

    aliases: "ButtonComponent"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

ButtonComponent class

---------------------

0.9.7

**Signature:**

    export class ButtonComponent extends BaseComponent 

**Extends:** [`BaseComponent`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/\(constructor\))

Constructs a new instance of the `ButtonComponent` class

Properties

----------

Property

Modifiers

Type

Description

[`buttonEl`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/buttonEl)

`HTMLButtonElement`

0.9.7

[`disabled`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/disabled)

`boolean`

0.10.3

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Methods

-------

Method

Modifiers

Description

[`onClick(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/onClick)

0.12.16

[`removeCta()`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/removeCta)

0.9.20

[`setButtonText(name)`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setButtonText)

0.9.7

[`setClass(cls)`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setClass)

0.9.7

[`setCta()`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setCta)

0.9.7

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setDisabled)

1.2.3

[`setIcon(icon)`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setIcon)

1.1.0

[`setTooltip(tooltip, options)`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setTooltip)

1.1.0

[`setWarning()`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setWarning)

0.11.0

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/\(constructor\))

[addButton](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addButton)

[buttonEl](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/buttonEl)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onClick](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/onClick)

[removeCta](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/removeCta)

[setButtonText](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setButtonText)

[setClass](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setClass)

[setCta](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setCta)

[setDisabled](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setDisabled)

[setIcon](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setIcon)

[setTooltip](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setTooltip)

[setWarning](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/setWarning)

ButtonComponent

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CliFlag
----

CliFlag

=======

CliFlag

Not found

This page does not exist

Interactive graph

On this page

CliFlag interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo
----

MarkdownFileInfo

================

    aliases: "MarkdownFileInfo"

    cssclasses: hide-title

[`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)

MarkdownFileInfo interface

--------------------------

**Signature:**

    export interface MarkdownFileInfo extends HoverParent 

**Extends:** [`HoverParent`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent)

Properties

----------

Property

Modifiers

Type

Description

[`app`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo/app)

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

[`editor?`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo/editor)

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

_(Optional)_

[`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent/hoverPopover)

[`HoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/HoverPopover) `| null`

0.11.13

(Inherited from [HoverParent](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent))

Links to this page

[app](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo/app)

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

[editor](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo/editor)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[MarkdownEditView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownEditView)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[on('editor-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-change'\))

[on('editor-drop')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-drop'\))

[on('editor-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-menu'\))

[on('editor-paste')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-paste'\))

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

MarkdownFileInfo

Not found

This page does not exist

Interactive graph

On this page

MarkdownFileInfo interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setDisabled
----

setDisabled

===========

    aliases: "ExtraButtonComponent.setDisabled"

    cssclasses: hide-title

[`ExtraButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent) › [`setDisabled`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/setDisabled)

ExtraButtonComponent.setDisabled() method

-----------------------------------------

1.2.3

**Signature:**

    setDisabled(disabled: boolean): this;

Parameters

----------

[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)

setDisabled

Not found

This page does not exist

Interactive graph

On this page

ExtraButtonComponent.setDisabled() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/onClick
----

onClick

=======

    aliases: "ToggleComponent.onClick"

    cssclasses: hide-title

[`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent) › [`onClick`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent/onClick)

ToggleComponent.onClick() method

--------------------------------

0.9.7

**Signature:**

    onClick(): void;

**Returns:**

`void`

Links to this page

[ToggleComponent](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)

onClick

Not found

This page does not exist

Interactive graph

On this page

ToggleComponent.onClick() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/scrollTo
----

scrollTo

========

    aliases: "Editor.scrollTo"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`scrollTo`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/scrollTo)

Editor.scrollTo() method

------------------------

0.11.11

**Signature:**

    abstract scrollTo(x?: number | null, y?: number | null): void;

Parameters

----------

Parameter

Type

Description

`x`

`number | null`

_(Optional)_

`y`

`number | null`

_(Optional)_

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

scrollTo

Not found

This page does not exist

Interactive graph

On this page

Editor.scrollTo() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Foundations/Icons
----

Icons

=====

    cssclasses: reference

Icons communicate messages at a glance, and draw attention to important information.

Obsidian uses the [Lucide](https://lucide.dev/) icon library, which includes more than 800 icons. You can find all available icons on their website.

Custom icons

If you want to create your own icons for Obsidian, you need to follow the [Icon Design Principles](https://lucide.dev/guide/design/icon-design-guide). You can find [templates and guides](https://github.com/lucide-icons/lucide/blob/main/CONTRIBUTING.md) for vector editors, such as Illustrator, Figma, and Inkscape.

Variable

Description

`--icon-size`

Shorthand for icon width and length

`--icon-stroke`

Shorthand for icon stroke width

`--icon-color`

Icon color

`--icon-color-hover`

Icon color (hovered)

`--icon-color-active`

Icon color (active)

`--icon-color-focused`

Icon color (focused)

`--icon-opacity`

Icon opacity

`--icon-opacity-hover`

Icon opacity (hovered)

`--icon-opacity-active`

Icon opacity (active)

`--clickable-icon-radius`

Clickable icon button radius

### Icon sizes

Variable

Default value

`--icon-xs`

`14px`

`--icon-s`

`16px`

`--icon-m`

`18px`

`--icon-l`

`18px`

`--icon-xl`

`32px`

`--icon-xs-stroke-width`

`2px`

`--icon-s-stroke-width`

`2px`

`--icon-m-stroke-width`

`1.75px`

`--icon-l-stroke-width`

`1.75px`

`--icon-xl-stroke-width`

`1.25px`

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Icons](https://docs.obsidian.md/Plugins/User+interface/Icons)

Icons

Not found

This page does not exist

Interactive graph

On this page

Icon sizes

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/default
----

default

=======

    aliases: "BasesPropertyOption.default"

    cssclasses: hide-title

[`BasesPropertyOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption) › [`default`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/default)

BasesPropertyOption.default property

------------------------------------

1.10.0

**Signature:**

    default?: string;

Links to this page

[BasesPropertyOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption)

default

Not found

This page does not exist

Interactive graph

On this page

BasesPropertyOption.default property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/append
----

append

======

    aliases: "Vault.append"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`append`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/append)

Vault.append() method

---------------------

Add text to the end of a plaintext file inside the vault.

**Signature:**

    append(file: TFile, data: string, options?: DataWriteOptions): Promise<void>;

Parameters

----------

Parameter

Type

Description

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

The file

`data`

`string`

the text to add

`options`

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

_(Optional)_ (Optional)

0.13.0

**Returns:**

append

Not found

This page does not exist

Interactive graph

On this page

Vault.append() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileManager/getNewFileParent
----

getNewFileParent

================

    aliases: "FileManager.getNewFileParent"

    cssclasses: hide-title

[`FileManager`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager) › [`getNewFileParent`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/getNewFileParent)

FileManager.getNewFileParent() method

-------------------------------------

Gets the folder that new files should be saved to, given the user's preferences.

**Signature:**

    getNewFileParent(sourcePath: string, newFilePath?: string): TFolder;

Parameters

----------

Parameter

Type

Description

`sourcePath`

`string`

The path to the current open/focused file, used when the user wants new files to be created 'in the same folder'. Use an empty string if there is no active file.

`newFilePath`

`string`

_(Optional)_ The path to the file that will be newly created, used to infer what settings to use based on the path's extension.

1.1.13

**Returns:**

[`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)

Links to this page

[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)

getNewFileParent

Not found

This page does not exist

Interactive graph

On this page

FileManager.getNewFileParent() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/type
----

type

====

    aliases: "BasesPropertyOption.type"

    cssclasses: hide-title

[`BasesPropertyOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption/type)

BasesPropertyOption.type property

---------------------------------

1.10.0

**Signature:**

    type: 'property';

Links to this page

[BasesPropertyOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyOption)

type

Not found

This page does not exist

Interactive graph

On this page

BasesPropertyOption.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/extraSettingsEl
----

extraSettingsEl

===============

    aliases: "ExtraButtonComponent.extraSettingsEl"

    cssclasses: hide-title

[`ExtraButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent) › [`extraSettingsEl`](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent/extraSettingsEl)

ExtraButtonComponent.extraSettingsEl property

---------------------------------------------

0.9.7

**Signature:**

    extraSettingsEl: HTMLElement;

Links to this page

[ExtraButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ExtraButtonComponent)

extraSettingsEl

Not found

This page does not exist

Interactive graph

On this page

ExtraButtonComponent.extraSettingsEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/getFullPath
----

getFullPath

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.getFullPath() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Modal/(constructor)
----

(constructor)

=============

    aliases: "Modal.(constructor)"

    cssclasses: hide-title

[`Modal`](https://docs.obsidian.md/Reference/TypeScript+API/Modal) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/\(constructor\))

Modal.(constructor)

-------------------

Constructs a new instance of the `Modal` class

**Signature:**

    constructor(app: App);

Parameters

----------

Parameter

Type

Description

`app`

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/Modal/app)

Links to this page

[Modal](https://docs.obsidian.md/Reference/TypeScript+API/Modal)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

Modal.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise/text
----

text

====

    aliases: "RequestUrlResponsePromise.text"

    cssclasses: hide-title

[`RequestUrlResponsePromise`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise) › [`text`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise/text)

RequestUrlResponsePromise.text property

---------------------------------------

**Signature:**

    text: Promise<string>;

Links to this page

[RequestUrlResponsePromise](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)

text

Not found

This page does not exist

Interactive graph

On this page

RequestUrlResponsePromise.text property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/controlEl
----

controlEl

=========

    aliases: "Setting.controlEl"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`controlEl`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/controlEl)

Setting.controlEl property

--------------------------

0.9.7

**Signature:**

    controlEl: HTMLElement;

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

controlEl

Not found

This page does not exist

Interactive graph

On this page

Setting.controlEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onExternalSettingsChange
----

onExternalSettingsChange

========================

    aliases: "Plugin.onExternalSettingsChange"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`onExternalSettingsChange`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/onExternalSettingsChange)

Plugin.onExternalSettingsChange() method

----------------------------------------

Called when the `data.json` file is modified on disk externally from Obsidian. This usually means that a Sync service or external program has modified the plugin settings.

Implement this method to reload plugin settings when they have changed externally.

1.5.7

**Signature:**

    onExternalSettingsChange?(): any;

**Returns:**

`any`

Links to this page

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

onExternalSettingsChange

Not found

This page does not exist

Interactive graph

On this page

Plugin.onExternalSettingsChange() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Foundations/Radiuses
----

Radiuses

========

    cssclasses: reference

Radiuses define the rounded corners for UI elements.

Variable

Default value

`--radius-s`

`4px`

`--radius-m`

`8px`

`--radius-l`

`12px`

`--radius-xl`

`16px`

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Radiuses

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView
----

BasesConfigFileView

===================

    aliases: "BasesConfigFileView"

    cssclasses: hide-title

[`BasesConfigFileView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)

BasesConfigFileView interface

-----------------------------

1.10.0

**Signature:**

    export interface BasesConfigFileView 

Properties

----------

Property

Modifiers

Type

Description

[`filters?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/filters)

[`BasesConfigFileFilter`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileFilter)

_(Optional)_ Additional filters, applied only to this view.

1.10.0

[`groupBy?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/groupBy)

`{ }`

_(Optional)_ Configuration for grouping the results of this view.

1.10.0

[`name`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/name)

`string`

Friendly name for this view, displayed in the UI to select between views.

1.10.0

[`order?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/order)

`string[]`

_(Optional)_ An ordered list of the properties to display in this view.

1.10.0

[`summaries?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/summaries)

`Record``<string, string>`

_(Optional)_ Configuration of summaries to display for each property in this view.

Key: Property name. Value: Summary formula name.

1.10.0

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/type)

`string`

Unique identifier for the view type. Used to select the correct view renderer.

1.10.0

Links to this page

[BasesConfigFile](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile)

[filters](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/filters)

[groupBy](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/groupBy)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[name](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/name)

[order](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/order)

[summaries](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/summaries)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/type)

BasesConfigFileView

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFileView interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Notice
----

Notice

======

    aliases: "Notice"

    cssclasses: hide-title

[`Notice`](https://docs.obsidian.md/Reference/TypeScript+API/Notice)

Notice class

------------

Notification component. Use to present timely, high-value information.

0.9.7

**Signature:**

    export class Notice 

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(message, duration)`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/\(constructor\))

Constructs a new instance of the `Notice` class

Properties

----------

Property

Modifiers

Type

Description

[`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/containerEl)

`HTMLElement`

1.8.7

[`messageEl`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/messageEl)

`HTMLElement`

1.8.7

[`noticeEl`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/noticeEl)

`HTMLElement`

Methods

-------

Method

Modifiers

Description

[`hide()`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/hide)

0.9.7

[`setMessage(message)`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/setMessage)

Change the message of this notice.

0.9.7

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/Notice/\(constructor\))

[containerEl](https://docs.obsidian.md/Reference/TypeScript+API/Notice/containerEl)

[hide](https://docs.obsidian.md/Reference/TypeScript+API/Notice/hide)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[messageEl](https://docs.obsidian.md/Reference/TypeScript+API/Notice/messageEl)

[noticeEl](https://docs.obsidian.md/Reference/TypeScript+API/Notice/noticeEl)

[setMessage](https://docs.obsidian.md/Reference/TypeScript+API/Notice/setMessage)

Notice

Not found

This page does not exist

Interactive graph

On this page

Notice class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/mkdir
----

mkdir

=====

    aliases: "FileSystemAdapter.mkdir"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`mkdir`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/mkdir)

FileSystemAdapter.mkdir() method

--------------------------------

**Signature:**

    static mkdir(path: string): Promise<void>;

Parameters

----------

Parameter

Type

Description

`path`

`string`

**Returns:**

`Promise<void>`

Links to this page

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

mkdir

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.mkdir() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/rerender
----

rerender

========

rerender

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewView.rerender() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/hoverPopover
----

hoverPopover

============

    aliases: "MarkdownRenderer.hoverPopover"

    cssclasses: hide-title

[`MarkdownRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer) › [`hoverPopover`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/hoverPopover)

MarkdownRenderer.hoverPopover property

--------------------------------------

**Signature:**

    hoverPopover: HoverPopover | null;

Links to this page

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

hoverPopover

Not found

This page does not exist

Interactive graph

On this page

MarkdownRenderer.hoverPopover property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Stat/ctime
----

ctime

=====

    aliases: "Stat.ctime"

    cssclasses: hide-title

[`Stat`](https://docs.obsidian.md/Reference/TypeScript+API/Stat) › [`ctime`](https://docs.obsidian.md/Reference/TypeScript+API/Stat/ctime)

Stat.ctime property

-------------------

Time of creation, represented as a unix timestamp.

**Signature:**

    ctime: number;

Links to this page

[Stat](https://docs.obsidian.md/Reference/TypeScript+API/Stat)

ctime

Not found

This page does not exist

Interactive graph

On this page

Stat.ctime property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Plugins/File+explorer
----

File explorer

=============

    cssclasses: reference

This page lists CSS variables used by the [File explorer](https://help.obsidian.md/Plugins/File+explorer) plugin. It currently shares the same variables as [Vault profile](https://docs.obsidian.md/Reference/CSS+variables/Window/Vault+profile).

CSS variables

-------------

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Navigation](https://docs.obsidian.md/Reference/CSS+variables/Components/Navigation)

File explorer

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent
----

ColorComponent

==============

    aliases: "ColorComponent"

    cssclasses: hide-title

[`ColorComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent)

ColorComponent class

--------------------

Color picker component. Values are by default 6-digit hash-prefixed hex strings like `#000000`.

1.0.0

**Signature:**

    export class ColorComponent extends ValueComponent<string> 

**Extends:** [`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)`<string>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/\(constructor\))

Constructs a new instance of the `ColorComponent` class

Properties

----------

-------

Method

Modifiers

Description

[`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValue)

1.0.0

[`getValueHsl()`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValueHsl)

1.0.0

[`getValueRgb()`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValueRgb)

1.0.0

[`onChange(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/onChange)

1.0.0

[`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

0.9.7

(Inherited from [ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent))

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setDisabled)

1.2.3

[`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValue)

1.0.0

[`setValueHsl(hsl)`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValueHsl)

1.0.0

[`setValueRgb(rgb)`](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValueRgb)

1.0.0

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/\(constructor\))

[addColorPicker](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addColorPicker)

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValue)

[getValueHsl](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValueHsl)

[getValueRgb](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValueRgb)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[onChange](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/onChange)

[setDisabled](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setDisabled)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValue)

[setValueHsl](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValueHsl)

[setValueRgb](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValueRgb)

ColorComponent

Not found

This page does not exist

Interactive graph

On this page

ColorComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/detachLeavesOfType
----

detachLeavesOfType

==================

    aliases: "Workspace.detachLeavesOfType"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`detachLeavesOfType`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/detachLeavesOfType)

Workspace.detachLeavesOfType() method

-------------------------------------

Remove all leaves of the given type.

0.9.7

**Signature:**

    detachLeavesOfType(viewType: string): void;

Parameters

----------

Parameter

Type

Description

`viewType`

`string`

**Returns:**

`void`

Links to this page

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

detachLeavesOfType

Not found

This page does not exist

Interactive graph

On this page

Workspace.detachLeavesOfType() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightSplit
----

rightSplit

==========

    aliases: "Workspace.rightSplit"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`rightSplit`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/rightSplit)

Workspace.rightSplit property

-----------------------------

0.9.7

**Signature:**

    rightSplit: WorkspaceSidedock | WorkspaceMobileDrawer;

rightSplit

Not found

This page does not exist

Interactive graph

On this page

Workspace.rightSplit property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/getFirstLinkpathDest
----

getFirstLinkpathDest

Not found

This page does not exist

Interactive graph

On this page

MetadataCache.getFirstLinkpathDest() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TFolder/isRoot
----

isRoot

======

    aliases: "TFolder.isRoot"

    cssclasses: hide-title

[`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder) › [`isRoot`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder/isRoot)

TFolder.isRoot() method

-----------------------

0.9.7

**Signature:**

    isRoot(): boolean;

**Returns:**

`boolean`

Links to this page

[TFolder](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)

isRoot

Not found

This page does not exist

Interactive graph

On this page

TFolder.isRoot() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/showTooltip
----

showTooltip

===========

    aliases: "SliderComponent.showTooltip"

    cssclasses: hide-title

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent) › [`showTooltip`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/showTooltip)

SliderComponent.showTooltip() method

------------------------------------

0.9.7

**Signature:**

    showTooltip(): void;

**Returns:**

`void`

showTooltip

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.showTooltip() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/rename
----

rename

======

    aliases: "CapacitorAdapter.rename"

    cssclasses: hide-title

[`CapacitorAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter) › [`rename`](https://docs.obsidian.md/Reference/TypeScript+API/CapacitorAdapter/rename)

CapacitorAdapter.rename() method

--------------------------------

1.7.2

**Signature:**

    rename(normalizedPath: string, normalizedNewPath: string): Promise<void>;

Parameters

----------

rename

Not found

This page does not exist

Interactive graph

On this page

CapacitorAdapter.rename() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/from
----

from

====

    aliases: "FrontMatterInfo.from"

    cssclasses: hide-title

[`FrontMatterInfo`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo) › [`from`](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo/from)

FrontMatterInfo.from property

-----------------------------

Start of the frontmatter contents (excluding the ---)

**Signature:**

    from: number;

Links to this page

[FrontMatterInfo](https://docs.obsidian.md/Reference/TypeScript+API/FrontMatterInfo)

from

Not found

This page does not exist

Interactive graph

On this page

FrontMatterInfo.from property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/getLanguage
----

getLanguage

===========

    aliases: "getLanguage"

    cssclasses: hide-title

[`getLanguage`](https://docs.obsidian.md/Reference/TypeScript+API/getLanguage)

getLanguage() function

----------------------

Get the ISO code for the currently configured app language. Defaults to 'en'. See [https://github.com/obsidianmd/obsidian-translations?tab=readme-ov-file#existing-languages](https://github.com/obsidianmd/obsidian-translations?tab=readme-ov-file#existing-languages) for list of options.

1.8.7

**Signature:**

    export function getLanguage(): string;

**Returns:**

`string`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

getLanguage

Not found

This page does not exist

Interactive graph

On this page

getLanguage() function

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/navigation
----

navigation

==========

    aliases: "View.navigation"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`navigation`](https://docs.obsidian.md/Reference/TypeScript+API/View/navigation)

View.navigation property

------------------------

Whether or not the view is intended for navigation. If your view is a static view that is not intended to be navigated away, set this to false. (For example: File explorer, calendar, etc.) If your view opens a file or can be otherwise navigated, set this to true. (For example: Markdown editor view, Kanban view, PDF view, etc.)

0.15.1

**Signature:**

    navigation: boolean;

Links to this page

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[View](https://docs.obsidian.md/Reference/TypeScript+API/View)

navigation

Not found

This page does not exist

Interactive graph

On this page

View.navigation property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseItem
----

onChooseItem

============

    aliases: "FuzzySuggestModal.onChooseItem"

    cssclasses: hide-title

[`FuzzySuggestModal`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal) › [`onChooseItem`](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal/onChooseItem)

FuzzySuggestModal.onChooseItem() method

---------------------------------------

0.9.20

**Signature:**

    abstract onChooseItem(item: T, evt: MouseEvent | KeyboardEvent): void;

Parameters

----------

[FuzzySuggestModal](https://docs.obsidian.md/Reference/TypeScript+API/FuzzySuggestModal)

onChooseItem

Not found

This page does not exist

Interactive graph

On this page

FuzzySuggestModal.onChooseItem() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/on('pinned-change')
----

on('pinned-change')

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.on('pinned-change') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Checkbox
----

Checkbox

========

    cssclasses: reference

This page lists CSS variables for checkboxes and text inside of task lists.

CSS variables

-------------

Variable

Description

`--checkbox-radius`

Radius

`--checkbox-size`

Height and width

`--checkbox-marker-color`

Marker color for the check itself

`--checkbox-color`

Background color

`--checkbox-color-hover`

Background color (hover)

`--checkbox-border-color`

Unchecked border color

`--checkbox-border-color-hover`

Unchecked border color (hover)

`--checklist-done-decoration`

Checked text decoration

`--checklist-done-color`

Checked text color

`--checkbox-margin-inline-start`

`start` margin

Links to this page

[Bases](https://docs.obsidian.md/Reference/CSS+variables/Editor/Bases)

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

[Properties](https://docs.obsidian.md/Reference/CSS+variables/Editor/Properties)

Checkbox

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/app
----

app

===

    aliases: "PopoverSuggest.app"

    cssclasses: hide-title

[`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest) › [`app`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/app)

PopoverSuggest.app property

---------------------------

**Signature:**

    app: App;

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/\(constructor\))

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

[EditorSuggest](https://docs.obsidian.md/Reference/TypeScript+API/EditorSuggest)

[PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)

app

Not found

This page does not exist

Interactive graph

On this page

PopoverSuggest.app property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/type
----

BlockSubpathResult.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DateValue/toString
----

toString

========

    aliases: "DateValue.toString"

    cssclasses: hide-title

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue) › [`toString`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/toString)

DateValue.toString() method

---------------------------

1.10.0

**Signature:**

    toString(): string;

**Returns:**

`string`

Links to this page

[DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[RelativeDateValue](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue)

toString

Not found

This page does not exist

Interactive graph

On this page

DateValue.toString() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/top
----

top

===

    aliases: "EditorScrollInfo.top"

    cssclasses: hide-title

[`EditorScrollInfo`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo) › [`top`](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo/top)

EditorScrollInfo.top property

-----------------------------

**Signature:**

    top: number;

Links to this page

[EditorScrollInfo](https://docs.obsidian.md/Reference/TypeScript+API/EditorScrollInfo)

top

Not found

This page does not exist

Interactive graph

On this page

EditorScrollInfo.top property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/stripHeading
----

stripHeading

============

stripHeading

Not found

This page does not exist

Interactive graph

On this page

stripHeading() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TFile/extension
----

extension

=========

    aliases: "TFile.extension"

    cssclasses: hide-title

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile) › [`extension`](https://docs.obsidian.md/Reference/TypeScript+API/TFile/extension)

TFile.extension property

------------------------

0.9.7

**Signature:**

    extension: string;

Links to this page

[TFile](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

extension

Not found

This page does not exist

Interactive graph

On this page

TFile.extension property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addComponent
----

addComponent

============

    aliases: "Setting.addComponent"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addComponent`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addComponent)

Setting.addComponent() method

-----------------------------

1.11.0

**Signature:**

    addComponent<T extends BaseComponent>(cb: (el: HTMLElement) => T): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(el:` `HTMLElement``) => T`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

addComponent

Not found

This page does not exist

Interactive graph

On this page

Setting.addComponent() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addToggle
----

addToggle

=========

    aliases: "Setting.addToggle"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addToggle`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addToggle)

Setting.addToggle() method

--------------------------

0.9.7

**Signature:**

    addToggle(cb: (component: ToggleComponent) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(component:` [`ToggleComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ToggleComponent)`) => any`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

addToggle

Not found

This page does not exist

Interactive graph

On this page

Setting.addToggle() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/apiVersion
----

apiVersion

==========

    aliases: "apiVersion"

    cssclasses: hide-title

[`apiVersion`](https://docs.obsidian.md/Reference/TypeScript+API/apiVersion)

apiVersion variable

-------------------

This is the API version of the app, which follows the release cycle of the desktop app. Example: '0.13.21'

**Signature:**

    apiVersion: string

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

apiVersion

Not found

This page does not exist

Interactive graph

On this page

apiVersion variable

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListValue/length
----

length

======

    aliases: "ListValue.length"

    cssclasses: hide-title

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue) › [`length`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/length)

ListValue.length() method

-------------------------

**Signature:**

    length(): number;

**Returns:**

`number`

the number of elements in this list.

1.10.0

Links to this page

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

length

Not found

This page does not exist

Interactive graph

On this page

ListValue.length() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField
----

editorLivePreviewField

======================

    aliases: "editorLivePreviewField"

    cssclasses: hide-title

[`editorLivePreviewField`](https://docs.obsidian.md/Reference/TypeScript+API/editorLivePreviewField)

editorLivePreviewField variable

-------------------------------

Use this StateField to check whether Live Preview is active

**Signature:**

    editorLivePreviewField: StateField<boolean>

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

editorLivePreviewField

Not found

This page does not exist

Interactive graph

On this page

editorLivePreviewField variable

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Tasks
----

Tasks

=====

    aliases: "Tasks"

    cssclasses: hide-title

[`Tasks`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks)

Tasks class

-----------

0.10.2

**Signature:**

    export class Tasks 

Methods

-------

Method

Modifiers

Description

[`add(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/add)

0.10.2

[`addPromise(promise)`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/addPromise)

0.10.2

[`isEmpty()`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/isEmpty)

0.10.2

[`promise()`](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/promise)

0.10.2

Links to this page

[add](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/add)

[addPromise](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/addPromise)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isEmpty](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/isEmpty)

[on('quit')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('quit'\))

[promise](https://docs.obsidian.md/Reference/TypeScript+API/Tasks/promise)

Tasks

Not found

This page does not exist

Interactive graph

On this page

Tasks class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View
----

View

====

    aliases: "View"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View)

View class

----------

0.9.7

**Signature:**

    export abstract class View extends Component 

**Extends:** [`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(leaf)`](https://docs.obsidian.md/Reference/TypeScript+API/View/\(constructor\))

0.9.7

Properties

----------

Property

Modifiers

Type

Description

[`app`](https://docs.obsidian.md/Reference/TypeScript+API/View/app)

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App)

0.9.7

[`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl)

`HTMLElement`

0.9.7

[`icon`](https://docs.obsidian.md/Reference/TypeScript+API/View/icon)

[`IconName`](https://docs.obsidian.md/Reference/TypeScript+API/IconName)

1.1.0

[`leaf`](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf)

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

0.9.7

[`navigation`](https://docs.obsidian.md/Reference/TypeScript+API/View/navigation)

`boolean`

Whether or not the view is intended for navigation. If your view is a static view that is not intended to be navigated away, set this to false. (For example: File explorer, calendar, etc.) If your view opens a file or can be otherwise navigated, set this to true. (For example: Markdown editor view, Kanban view, PDF view, etc.)

0.15.1

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/View/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope) `| null`

Assign an optional scope to your view to register hotkeys for when the view is in focus.

Methods

-------

[`getEphemeralState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState)

0.9.7

[`getIcon()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon)

1.1.0

[`getState()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getState)

0.9.7

[`getViewType()`](https://docs.obsidian.md/Reference/TypeScript+API/View/getViewType)

`abstract`

0.9.7

[`onPaneMenu(menu, source)`](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu)

Populates the pane menu.

(Replaces the previously removed `onHeaderMenu` and `onMoreOptionsMenu`)

0.15.3

[`onResize()`](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize)

Called when the size of this view is changed.

0.9.7

[`setState(state, result)`](https://docs.obsidian.md/Reference/TypeScript+API/View/setState)

0.9.7

[`unload()`](https://docs.obsidian.md/Reference/TypeScript+API/Component/unload)

Unload this component and its children

0.9.7

(Inherited from [Component](https://docs.obsidian.md/Reference/TypeScript+API/Component))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/View/\(constructor\))

[app](https://docs.obsidian.md/Reference/TypeScript+API/View/app)

[containerEl](https://docs.obsidian.md/Reference/TypeScript+API/View/containerEl)

[EditableFileView](https://docs.obsidian.md/Reference/TypeScript+API/EditableFileView)

[FileView](https://docs.obsidian.md/Reference/TypeScript+API/FileView)

[getDisplayText](https://docs.obsidian.md/Reference/TypeScript+API/View/getDisplayText)

[getEphemeralState](https://docs.obsidian.md/Reference/TypeScript+API/View/getEphemeralState)

[getIcon](https://docs.obsidian.md/Reference/TypeScript+API/View/getIcon)

[getState](https://docs.obsidian.md/Reference/TypeScript+API/View/getState)

[getViewType](https://docs.obsidian.md/Reference/TypeScript+API/View/getViewType)

[icon](https://docs.obsidian.md/Reference/TypeScript+API/View/icon)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[ItemView](https://docs.obsidian.md/Reference/TypeScript+API/ItemView)

[leaf](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf)

[MarkdownView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView)

[navigation](https://docs.obsidian.md/Reference/TypeScript+API/View/navigation)

[onClose](https://docs.obsidian.md/Reference/TypeScript+API/View/onClose)

[onOpen](https://docs.obsidian.md/Reference/TypeScript+API/View/onOpen)

[onPaneMenu](https://docs.obsidian.md/Reference/TypeScript+API/View/onPaneMenu)

[onResize](https://docs.obsidian.md/Reference/TypeScript+API/View/onResize)

[scope](https://docs.obsidian.md/Reference/TypeScript+API/View/scope)

[setEphemeralState](https://docs.obsidian.md/Reference/TypeScript+API/View/setEphemeralState)

[setState](https://docs.obsidian.md/Reference/TypeScript+API/View/setState)

[TextFileView](https://docs.obsidian.md/Reference/TypeScript+API/TextFileView)

[ViewCreator](https://docs.obsidian.md/Reference/TypeScript+API/ViewCreator)

[WorkspaceLeaf](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

View

Not found

This page does not exist

Interactive graph

On this page

View class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/(constructor)
----

(constructor)

=============

    aliases: "Setting.(constructor)"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/\(constructor\))

Setting.(constructor)

---------------------

Constructs a new instance of the `Setting` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

Setting.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/process
----

process

=======

    aliases: "Vault.process"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`process`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/process)

Vault.process() method

----------------------

Atomically read, modify, and save the contents of a note.

**Signature:**

    process(file: TFile, fn: (data: string) => string, options?: DataWriteOptions): Promise<string>;

Parameters

----------

Parameter

Type

Description

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

the file to be read and modified.

`fn`

`(data: string) => string`

a callback function which returns the new content of the note synchronously.

`options`

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

_(Optional)_ write options.

**Returns:**

`Promise<string>`

string - the text value of the note that was written.

Example

-------

    app.vault.process(file, (data) => {

     return data.replace('Hello', 'World');

    });

1.1.0

Links to this page

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

[Vault](https://docs.obsidian.md/Plugins/Vault)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

process

Not found

This page does not exist

Interactive graph

On this page

Vault.process() method

Parameters

Example

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Editor/Inline+title
----

Inline title

============

    cssclasses: reference

This page lists CSS variables for inline titles.

Note

To see inline titles, you need to enable **Settings → Appearance → Show inline title**.

CSS variables

-------------

Variable

Description

`--inline-title-color`

Inline title text color

`--inline-title-font`

Inline title font family

`--inline-title-line-height`

Inline title line height

`--inline-title-size`

Inline title font size

`--inline-title-style`

Inline title font style

`--inline-title-variant`

Inline title font variant

`--inline-title-weight`

Inline title font weight

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Inline title

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileManager/processFrontMatter
----

processFrontMatter

==================

    aliases: "FileManager.processFrontMatter"

    cssclasses: hide-title

[`FileManager`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager) › [`processFrontMatter`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/processFrontMatter)

FileManager.processFrontMatter() method

---------------------------------------

Atomically read, modify, and save the frontmatter of a note. The frontmatter is passed in as a JS object, and should be mutated directly to achieve the desired result.

Remember to handle errors thrown by this method.

**Signature:**

    processFrontMatter(file: TFile, fn: (frontmatter: any) => void, options?: DataWriteOptions): Promise<void>;

Parameters

----------

Parameter

Type

Description

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

the file to be modified. Must be a Markdown file.

`fn`

`(frontmatter: any) => void`

a callback function which mutates the frontmatter object synchronously.

`options`

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

_(Optional)_ write options.

**Returns:**

`Promise<void>`

Exceptions

----------

YAMLParseError if the YAML parsing fails

any errors that your callback function throws

Example

-------

    app.fileManager.processFrontMatter(file, (frontmatter) => {

        frontmatter['key1'] = value;

        delete frontmatter['key2'];

    });

1.4.4

Links to this page

[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

processFrontMatter

Not found

This page does not exist

Interactive graph

On this page

FileManager.processFrontMatter() method

Parameters

Exceptions

Example

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/loadPdfJs
----

loadPdfJs

Not found

This page does not exist

Interactive graph

On this page

loadPdfJs() function

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/create
----

create

======

    aliases: "Vault.create"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`create`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/create)

Vault.create() method

---------------------

Create a new plaintext file inside the vault.

**Signature:**

    create(path: string, data: string, options?: DataWriteOptions): Promise<TFile>;

Parameters

----------

`string`

text content for the new file.

`options`

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

_(Optional)_ (Optional)

0.9.7

**Returns:**

create

Not found

This page does not exist

Interactive graph

On this page

Vault.create() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Getting+started/Use+React+in+your+plugin
----

Use React in your plugin

========================

In this guide, you'll configure your plugin to use [React](https://react.dev/). It assumes that you already have a plugin with a [custom view](https://docs.obsidian.md/Plugins/User+interface/Views) that you want to convert to use React.

While you don't need to use a separate framework to build a plugin, there are a few reasons why you'd want to use React:

*   You have existing experience of React and want to use a familiar technology.

*   You have existing React components that you want to reuse in your plugin.

*   Your plugin requires complex state management or other features that can be cumbersome to implement with regular [HTML elements](https://docs.obsidian.md/Plugins/User+interface/HTML+elements).

Configure your plugin

---------------------

1.  Add React to your plugin dependencies:

        npm install react react-dom

2.  Add type definitions for React:

        npm install --save-dev @types/react @types/react-dom

3.  In `tsconfig.json`, enable JSX support on the `compilerOptions` object:

        {

          "compilerOptions": {

            "jsx": "react-jsx"

          }

        }

Create a React component

------------------------

Create a new file called `ReactView.tsx` in the plugin root directory, with the following content:

    export const ReactView = () => {

      return <h4>Hello, React!</h4>;

    };

Mount the React component

-------------------------

To use the React component, it needs to be mounted on a [HTML element](https://docs.obsidian.md/Plugins/User+interface/HTML+elements). The following example mounts the `ReactView` component on the `this.contentEl` element:

    import { StrictMode } from 'react';

    import { ItemView, WorkspaceLeaf } from 'obsidian';

    import { Root, createRoot } from 'react-dom/client';

    import { ReactView } from './ReactView';

    const VIEW_TYPE_EXAMPLE = 'example-view';

    class ExampleView extends ItemView {

    	root: Root | null = null;

    	constructor(leaf: WorkspaceLeaf) {

    		super(leaf);

    	}

    	getViewType() {

    		return VIEW_TYPE_EXAMPLE;

    	}

    	getDisplayText() {

    		return 'Example view';

    	}

    	async onOpen() {

    		this.root = createRoot(this.contentEl);

    		this.root.render(

    			<StrictMode>

    				<ReactView />,

    			</StrictMode>,

    		);

    	}

    	async onClose() {

    		this.root?.unmount();

    	}

    }

For more information on `createRoot` and `unmount()`, refer to the documentation on [ReactDOM](https://react.dev/reference/react-dom/client/createRoot#root-render).

You can mount your React component on any `HTMLElement`, for example [status bar items](https://docs.obsidian.md/Plugins/User+interface/Status+bar). Just make sure to clean up properly by calling `this.root.unmount()` when you're done.

Create an App context

---------------------

If you want to access the [App](https://docs.obsidian.md/Reference/TypeScript+API/App) object from one of your React components, you need to pass it as a dependency. As your plugin grows, even though you're only using the `App` object in a few places, you start passing it through the whole component tree.

Another alternative is to create a React context for the app to make it globally available to all components inside your React view.

1.  Use `createContext()` to create a new app context.

        import { createContext } from 'react';

        import { App } from 'obsidian';

        export const AppContext = createContext<App | undefined>(undefined);

2.  Wrap the `ReactView` with a context provider and pass the app as the value.

        this.root = createRoot(this.contentEl);

        this.root.render(

          <AppContext.Provider value={this.app}>

            <ReactView />

          </AppContext.Provider>

        );

3.  Create a custom hook to make it easier to use the context in your components.

        import { useContext } from 'react';

        import { AppContext } from './context';

        export const useApp = (): App | undefined => {

          return useContext(AppContext);

        };

4.  Use the hook in any React component within `ReactView` to access the app.

        import { useApp } from './hooks';

        export const ReactView = () => {

          const { vault } = useApp();

          return <h4>{vault.getName()}</h4>;

        };

For more information, refer to the React documentation for [Passing Data Deeply with Context](https://react.dev/learn/passing-data-deeply-with-context) and [Reusing Logic with Custom Hooks](https://react.dev/learn/reusing-logic-with-custom-hooks).

Use React in your plugin

Not found

This page does not exist

Interactive graph

On this page

Configure your plugin

Create a React component

Mount the React component

Create an App context

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addCommand
----

addCommand

==========

    aliases: "Plugin.addCommand"

    cssclasses: hide-title

[`Plugin`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin) › [`addCommand`](https://docs.obsidian.md/Reference/TypeScript+API/Plugin/addCommand)

Plugin.addCommand() method

--------------------------

Register a command globally. Registered commands will be available from the . The command id and name will be automatically prefixed with this plugin's id and name.

0.9.7

**Signature:**

    addCommand(command: Command): Command;

Parameters

----------

Parameter

Type

Description

`command`

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command)

**Returns:**

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command)

Links to this page

[Commands](https://docs.obsidian.md/Plugins/User+interface/Commands)

[Plugin](https://docs.obsidian.md/Reference/TypeScript+API/Plugin)

[Plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines)

addCommand

Not found

This page does not exist

Interactive graph

On this page

Plugin.addCommand() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData
----

ObsidianProtocolData

====================

    aliases: "ObsidianProtocolData"

    cssclasses: hide-title

[`ObsidianProtocolData`](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData)

ObsidianProtocolData interface

------------------------------

**Signature:**

    export interface ObsidianProtocolData 

Properties

----------

Property

Modifiers

Type

Description

[`action`](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData/action)

`string`

Links to this page

[action](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData/action)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[ObsidianProtocolHandler](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolHandler)

ObsidianProtocolData

Not found

This page does not exist

Interactive graph

On this page

ObsidianProtocolData interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setPlaceholder
----

setPlaceholder

==============

    aliases: "AbstractTextComponent.setPlaceholder"

    cssclasses: hide-title

[`AbstractTextComponent`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent) › [`setPlaceholder`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractTextComponent/setPlaceholder)

AbstractTextComponent.setPlaceholder() method

---------------------------------------------

0.9.7

**Signature:**

    setPlaceholder(placeholder: string): this;

Parameters

----------

Parameter

Type

Description

`placeholder`

`string`

setPlaceholder

Not found

This page does not exist

Interactive graph

On this page

AbstractTextComponent.setPlaceholder() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListValue/get
----

get

===

    aliases: "ListValue.get"

    cssclasses: hide-title

[`ListValue`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue) › [`get`](https://docs.obsidian.md/Reference/TypeScript+API/ListValue/get)

ListValue.get() method

----------------------

**Signature:**

    get(index: number): Value;

Parameters

----------

Parameter

Type

Description

`index`

`number`

**Returns:**

[`Value`](https://docs.obsidian.md/Reference/TypeScript+API/Value)

the value at the provided index, or [NullValue](https://docs.obsidian.md/Reference/TypeScript+API/NullValue).

1.10.0

Links to this page

[ListValue](https://docs.obsidian.md/Reference/TypeScript+API/ListValue)

get

Not found

This page does not exist

Interactive graph

On this page

ListValue.get() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSearch
----

addSearch

=========

    aliases: "Setting.addSearch"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addSearch`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSearch)

Setting.addSearch() method

--------------------------

0.9.21

**Signature:**

    addSearch(cb: (component: SearchComponent) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(component:` [`SearchComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SearchComponent)`) => any`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

addSearch

Not found

This page does not exist

Interactive graph

On this page

Setting.addSearch() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest
----

AbstractInputSuggest

====================

    aliases: "AbstractInputSuggest"

    cssclasses: hide-title

[`AbstractInputSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

AbstractInputSuggest class

--------------------------

Attach to an `<input>` element or a `<div contentEditable>` to add type-ahead support.

1.4.10

**Signature:**

    export abstract class AbstractInputSuggest<T> extends PopoverSuggest<T> 

**Extends:** [`PopoverSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest)`<T>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(app, textInputEl)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/\(constructor\))

Accepts an `<input>` text box or a contenteditable div.

Properties

----------

[`limit`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/limit)

`number`

Limit to the number of elements rendered at once. Set to 0 to disable. Defaults to 100.

1.4.10

[`scope`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/scope)

[`Scope`](https://docs.obsidian.md/Reference/TypeScript+API/Scope)

(Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest))

Methods

-------

Method

Modifiers

Description

[`close()`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/close)

(Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest))

[`getSuggestions(query)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getSuggestions)

`protected`

`abstract`

1.5.7

[`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getValue)

Gets the value from the input element.

1.4.10

[`onSelect(callback)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/onSelect)

Registers a callback to handle when a suggestion is selected by the user.

1.4.10

[`open()`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/open)

(Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest))

[`renderSuggestion(value, el)`](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest/renderSuggestion)

`abstract`

(Inherited from [PopoverSuggest](https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest))

[`selectSuggestion(value, evt)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/selectSuggestion)

1.6.6

[`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/setValue)

Sets the value into the input element.

1.4.10

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/\(constructor\))

[getSuggestions](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getSuggestions)

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[limit](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/limit)

[onSelect](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/onSelect)

[selectSuggestion](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/selectSuggestion)

[Settings](https://docs.obsidian.md/Plugins/User+interface/Settings)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/setValue)

AbstractInputSuggest

Not found

This page does not exist

Interactive graph

On this page

AbstractInputSuggest class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HexString
----

HexString

=========

    aliases: "HexString"

    cssclasses: hide-title

[`HexString`](https://docs.obsidian.md/Reference/TypeScript+API/HexString)

HexString type

--------------

Hex strings are 6-digit hash-prefixed rgb strings in lowercase form. Example: #ffffff

**Signature:**

    export type HexString = string;

Links to this page

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/getValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/ColorComponent/setValue)

HexString

Not found

This page does not exist

Interactive graph

On this page

HexString type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileManager/renameFile
----

renameFile

==========

    aliases: "FileManager.renameFile"

    cssclasses: hide-title

[`FileManager`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager) › [`renameFile`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/renameFile)

FileManager.renameFile() method

-------------------------------

Rename or move a file safely, and update all links to it depending on the user's preferences.

**Signature:**

    renameFile(file: TAbstractFile, newPath: string): Promise<void>;

Parameters

----------

Parameter

Type

Description

`file`

[`TAbstractFile`](https://docs.obsidian.md/Reference/TypeScript+API/TAbstractFile)

the file to rename

`newPath`

`string`

the new path for the file

0.11.0

**Returns:**

`Promise<void>`

Links to this page

[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)

[rename](https://docs.obsidian.md/Reference/TypeScript+API/Vault/rename)

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

renameFile

Not found

This page does not exist

Interactive graph

On this page

FileManager.renameFile() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Dialog
----

Dialog

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf
----

setActiveLeaf

=============

    aliases: "Workspace.setActiveLeaf"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`setActiveLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/setActiveLeaf)

Workspace.setActiveLeaf() method

--------------------------------

Sets the active leaf

**Signature:**

    setActiveLeaf(leaf: WorkspaceLeaf, params?: {

            focus?: boolean;

        }): void;

Parameters

----------

Parameter

Type

Description

`leaf`

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf)

The new active leaf

`params`

`{ focus?: boolean; }`

_(Optional)_ Parameter object of whether to set the focus.

0.16.3

**Returns:**

`void`

Links to this page

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

setActiveLeaf

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/unresolvedLinks
----

unresolvedLinks

===============

    aliases: "MetadataCache.unresolvedLinks"

    cssclasses: hide-title

[`MetadataCache`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache) › [`unresolvedLinks`](https://docs.obsidian.md/Reference/TypeScript+API/MetadataCache/unresolvedLinks)

MetadataCache.unresolvedLinks property

--------------------------------------

Contains all unresolved links. This object maps each source file to an object of unknown destinations with count. Source paths are all vault absolute paths, similar to `resolvedLinks`.

**Signature:**

    unresolvedLinks: Record<string, Record<string, number>>;

unresolvedLinks

Not found

This page does not exist

Interactive graph

On this page

MetadataCache.unresolvedLinks property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile
----

BasesConfigFile

===============

    aliases: "BasesConfigFile"

    cssclasses: hide-title

[`BasesConfigFile`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile)

BasesConfigFile interface

-------------------------

Represents the serialized format of a Bases query as stored in a `.base` file.

1.10.0

**Signature:**

    export interface BasesConfigFile 

Properties

----------

Property

Modifiers

Type

Description

[`filters?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/filters)

[`BasesConfigFileFilter`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileFilter)

_(Optional)_ 1.10.0

[`formulas?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/formulas)

`Record``<string, string>`

_(Optional)_ Configuration for formulas used in this Base.

Key: Formula property name. Value: Formula string.

1.10.0

[`properties?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/properties)

`Record``<string,` `Record``<string, any>>`

_(Optional)_ Configuration for properties in this Base.

Valid keys for this object currently include:

\- displayName: string

1.10.0

[`summaries?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/summaries)

`Record``<string, string>`

_(Optional)_ Configuration for summary formulas used in this Base.

Key: Summary formula name. Value: Formula string.

1.10.0

[`views?`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/views)

[`BasesConfigFileView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)`[]`

_(Optional)_ Configuration for views used in this Base.

1.10.0

Links to this page

[filters](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/filters)

[formulas](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/formulas)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[properties](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/properties)

[summaries](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/summaries)

[views](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFile/views)

BasesConfigFile

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFile interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/min
----

min

===

    aliases: "BasesSliderOption.min"

    cssclasses: hide-title

[`BasesSliderOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption) › [`min`](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption/min)

BasesSliderOption.min property

------------------------------

1.10.0

**Signature:**

    min?: number;

Links to this page

[BasesSliderOption](https://docs.obsidian.md/Reference/TypeScript+API/BasesSliderOption)

min

Not found

This page does not exist

Interactive graph

On this page

BasesSliderOption.min property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions
----

DataWriteOptions

================

    aliases: "DataWriteOptions"

    cssclasses: hide-title

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

DataWriteOptions interface

--------------------------

**Signature:**

    export interface DataWriteOptions 

Properties

----------

Property

Modifiers

Type

Description

[`ctime?`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions/ctime)

`number`

_(Optional)_ Time of creation, represented as a unix timestamp, in milliseconds. Omit this if you want to keep the default behaviour.

[`mtime?`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions/mtime)

`number`

_(Optional)_ Time of last modification, represented as a unix timestamp, in milliseconds. Omit this if you want to keep the default behaviour.

DataWriteOptions

Not found

This page does not exist

Interactive graph

On this page

DataWriteOptions interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PopoverSuggest
----

PopoverSuggest

Not found

This page does not exist

Interactive graph

On this page

PopoverSuggest class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue/toString
----

toString

========

    aliases: "RegExpValue.toString"

    cssclasses: hide-title

[`RegExpValue`](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue) › [`toString`](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue/toString)

RegExpValue.toString() method

-----------------------------

1.10.0

**Signature:**

    toString(): string;

**Returns:**

`string`

Links to this page

[RegExpValue](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue)

toString

Not found

This page does not exist

Interactive graph

On this page

RegExpValue.toString() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/View/leaf
----

leaf

====

    aliases: "View.leaf"

    cssclasses: hide-title

[`View`](https://docs.obsidian.md/Reference/TypeScript+API/View) › [`leaf`](https://docs.obsidian.md/Reference/TypeScript+API/View/leaf)

View.leaf property

------------------

0.9.7

**Signature:**

    leaf: WorkspaceLeaf;

leaf

Not found

This page does not exist

Interactive graph

On this page

View.leaf property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesView/type
----

type

====

    aliases: "BasesView.type"

    cssclasses: hide-title

[`BasesView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/BasesView/type)

BasesView.type property

-----------------------

The type ID of this view

1.10.0

**Signature:**

    abstract type: string;

Links to this page

[BasesView](https://docs.obsidian.md/Reference/TypeScript+API/BasesView)

type

Not found

This page does not exist

Interactive graph

On this page

BasesView.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState
----

livePreviewState

================

    aliases: "livePreviewState"

    cssclasses: hide-title

[`livePreviewState`](https://docs.obsidian.md/Reference/TypeScript+API/livePreviewState)

livePreviewState variable

-------------------------

**Signature:**

    livePreviewState: ViewPlugin<LivePreviewStateType, undefined>

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)

livePreviewState

Not found

This page does not exist

Interactive graph

On this page

livePreviewState variable

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Platform
----

Platform

========

    aliases: "Platform"

    cssclasses: hide-title

[`Platform`](https://docs.obsidian.md/Reference/TypeScript+API/Platform)

Platform variable

-----------------

0.12.2

**Signature:**

    Platform: {

        isDesktop: boolean;

        isMobile: boolean;

        isDesktopApp: boolean;

        isMobileApp: boolean;

        isIosApp: boolean;

        isAndroidApp: boolean;

        isPhone: boolean;

        isTablet: boolean;

        isMacOS: boolean;

        isWin: boolean;

        isLinux: boolean;

        isSafari: boolean;

        resourcePathPrefix: string;

    }

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[Mobile development](https://docs.obsidian.md/Plugins/Getting+started/Mobile+development)

Platform

Not found

This page does not exist

Interactive graph

On this page

Platform variable

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/requestUrl
----

requestUrl

==========

    aliases: "requestUrl"

    cssclasses: hide-title

[`requestUrl`](https://docs.obsidian.md/Reference/TypeScript+API/requestUrl)

requestUrl() function

---------------------

Similar to `fetch()`, request a URL using HTTP/HTTPS, without any CORS restrictions.

**Signature:**

    export function requestUrl(request: RequestUrlParam | string): RequestUrlResponsePromise;

Parameters

----------

Parameter

Type

Description

`request`

[`RequestUrlParam`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlParam) `| string`

**Returns:**

[`RequestUrlResponsePromise`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponsePromise)

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

requestUrl

Not found

This page does not exist

Interactive graph

On this page

requestUrl() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/setClass
----

setClass

Not found

This page does not exist

Interactive graph

On this page

Setting.setClass() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setValue
----

setValue

========

    aliases: "SliderComponent.setValue"

    cssclasses: hide-title

[`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent) › [`setValue`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent/setValue)

SliderComponent.setValue() method

---------------------------------

0.9.7

**Signature:**

    setValue(value: number): this;

Parameters

----------

Parameter

Type

Description

`value`

`number`

**Returns:**

`this`

Links to this page

[SliderComponent](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)

setValue

Not found

This page does not exist

Interactive graph

On this page

SliderComponent.setValue() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/shouldHide
----

shouldHide

==========

    aliases: "BasesOption.shouldHide"

    cssclasses: hide-title

[`BasesOption`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption) › [`shouldHide`](https://docs.obsidian.md/Reference/TypeScript+API/BasesOption/shouldHide)

BasesOption.shouldHide property

-------------------------------

If provided, the option will be hidden if the function returns true.

1.10.2

**Signature:**

    shouldHide?: () => boolean;

shouldHide

Not found

This page does not exist

Interactive graph

On this page

BasesOption.shouldHide property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Reference/link
----

link

====

    aliases: "Reference.link"

    cssclasses: hide-title

[`Reference`](https://docs.obsidian.md/Reference/TypeScript+API/Reference) › [`link`](https://docs.obsidian.md/Reference/TypeScript+API/Reference/link)

Reference.link property

-----------------------

Link destination.

**Signature:**

    link: string;

Links to this page

[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)

[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)

[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

link

Not found

This page does not exist

Interactive graph

On this page

Reference.link property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Command/icon
----

icon

====

    aliases: "Command.icon"

    cssclasses: hide-title

[`Command`](https://docs.obsidian.md/Reference/TypeScript+API/Command) › [`icon`](https://docs.obsidian.md/Reference/TypeScript+API/Command/icon)

Command.icon property

---------------------

Icon ID to be used in the toolbar. See [https://docs.obsidian.md/Plugins/User+interface/Icons](https://docs.obsidian.md/Plugins/User+interface/Icons) for available icons and how to add your own.

**Signature:**

    icon?: IconName;

Links to this page

[Command](https://docs.obsidian.md/Reference/TypeScript+API/Command)

icon

Not found

This page does not exist

Interactive graph

On this page

Command.icon property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAllFolders
----

getAllFolders

=============

    aliases: "Vault.getAllFolders"

    cssclasses: hide-title

[`Vault`](https://docs.obsidian.md/Reference/TypeScript+API/Vault) › [`getAllFolders`](https://docs.obsidian.md/Reference/TypeScript+API/Vault/getAllFolders)

Vault.getAllFolders() method

----------------------------

Get all folders in the vault.

**Signature:**

    getAllFolders(includeRoot?: boolean): TFolder[];

Parameters

----------

Parameter

Type

Description

`includeRoot`

`boolean`

_(Optional)_ Should the root folder (`/`) be returned

1.6.6

**Returns:**

[`TFolder`](https://docs.obsidian.md/Reference/TypeScript+API/TFolder)`[]`

Links to this page

[Vault](https://docs.obsidian.md/Reference/TypeScript+API/Vault)

getAllFolders

Not found

This page does not exist

Interactive graph

On this page

Vault.getAllFolders() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Plugin/removeCommand
----

removeCommand

Not found

This page does not exist

Interactive graph

On this page

Plugin.removeCommand() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/start
----

start

=====

    aliases: "SubpathResult.start"

    cssclasses: hide-title

[`SubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult) › [`start`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/start)

SubpathResult.start property

----------------------------

**Signature:**

    start: Loc;

Links to this page

[BlockSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)

[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)

[HeadingSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/HeadingSubpathResult)

[SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)

start

Not found

This page does not exist

Interactive graph

On this page

SubpathResult.start property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/removeChild
----

removeChild

Not found

This page does not exist

Interactive graph

On this page

Component.removeChild() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileManager/generateMarkdownLink
----

generateMarkdownLink

====================

    aliases: "FileManager.generateMarkdownLink"

    cssclasses: hide-title

[`FileManager`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager) › [`generateMarkdownLink`](https://docs.obsidian.md/Reference/TypeScript+API/FileManager/generateMarkdownLink)

FileManager.generateMarkdownLink() method

-----------------------------------------

Generate a Markdown link based on the user's preferences.

**Signature:**

    generateMarkdownLink(file: TFile, sourcePath: string, subpath?: string, alias?: string): string;

Parameters

----------

Parameter

Type

Description

`file`

[`TFile`](https://docs.obsidian.md/Reference/TypeScript+API/TFile)

the file to link to.

`sourcePath`

`string`

where the link is stored in, used to compute relative links.

`subpath`

`string`

_(Optional)_ A subpath, starting with `#`, used for linking to headings or blocks.

`alias`

`string`

_(Optional)_ The display text if it's to be different than the file name. Pass empty string to use file name.

0.12.0

**Returns:**

`string`

Links to this page

[FileManager](https://docs.obsidian.md/Reference/TypeScript+API/FileManager)

generateMarkdownLink

Not found

This page does not exist

Interactive graph

On this page

FileManager.generateMarkdownLink() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/render
----

render

======

    aliases: "MarkdownRenderer.render"

    cssclasses: hide-title

[`MarkdownRenderer`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer) › [`render`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/render)

MarkdownRenderer.render() method

--------------------------------

Renders Markdown string to an HTML element.

**Signature:**

    static render(app: App, markdown: string, el: HTMLElement, sourcePath: string, component: Component): Promise<void>;

Parameters

----------

Parameter

Type

Description

`app`

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/app)

A reference to the app object

`markdown`

`string`

The Markdown source code

`el`

`HTMLElement`

The element to append to

`sourcePath`

`string`

The normalized path of this Markdown file, used to resolve relative internal links

`component`

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component)

A parent component to manage the lifecycle of the rendered child components.

**Returns:**

`Promise<void>`

Links to this page

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

[MarkdownRenderer](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer)

[renderMarkdown](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownRenderer/renderMarkdown)

render

Not found

This page does not exist

Interactive graph

On this page

MarkdownRenderer.render() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/get
----

get

===

    aliases: "MarkdownSubView.get"

    cssclasses: hide-title

[`MarkdownSubView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView) › [`get`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView/get)

MarkdownSubView.get() method

----------------------------

**Signature:**

    get(): string;

**Returns:**

`string`

Links to this page

[MarkdownSubView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownSubView)

get

Not found

This page does not exist

Interactive graph

On this page

MarkdownSubView.get() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue
----

RegExpValue

===========

    aliases: "RegExpValue"

    cssclasses: hide-title

[`RegExpValue`](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue)

RegExpValue class

-----------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a RegExp pattern.

1.10.0

**Signature:**

    export class RegExpValue extends NotNullValue 

**Extends:** [`NotNullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NotNullValue)

Properties

----------

-------

[`isTruthy()`](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue/isTruthy)

[`toString()`](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue/toString)

1.10.0

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[isTruthy](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue/isTruthy)

[toString](https://docs.obsidian.md/Reference/TypeScript+API/RegExpValue/toString)

RegExpValue

Not found

This page does not exist

Interactive graph

On this page

RegExpValue class

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/selection
----

selection

=========

    aliases: "EditorTransaction.selection"

    cssclasses: hide-title

[`EditorTransaction`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction) › [`selection`](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction/selection)

EditorTransaction.selection property

------------------------------------

**Signature:**

    selection?: EditorRangeOrCaret;

Links to this page

[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)

selection

Not found

This page does not exist

Interactive graph

On this page

EditorTransaction.selection property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RGB/r
----

r

Not found

This page does not exist

Interactive graph

On this page

RGB.r property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/list
----

list

====

    aliases: "FileSystemAdapter.list"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`list`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/list)

FileSystemAdapter.list() method

-------------------------------

**Signature:**

    list(normalizedPath: string): Promise<ListedFiles>;

Parameters

----------

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

list

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.list() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType/mousedown
----

ListedFiles

ListItemCache

ListValue

LivePreviewStateType

[mousedown](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType/mousedown)

mousedown

=========

    aliases: "LivePreviewStateType.mousedown"

    cssclasses: hide-title

[`LivePreviewStateType`](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType) › [`mousedown`](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType/mousedown)

LivePreviewStateType.mousedown property

---------------------------------------

True if the left mouse is currently held down in the editor (for example, when drag-to-select text).

**Signature:**

    mousedown: boolean;

Links to this page

[LivePreviewStateType](https://docs.obsidian.md/Reference/TypeScript+API/LivePreviewStateType)

mousedown

Not found

This page does not exist

Interactive graph

On this page

LivePreviewStateType.mousedown property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/focus
----

focus

=====

    aliases: "Editor.focus"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`focus`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/focus)

Editor.focus() method

---------------------

0.11.11

**Signature:**

    abstract focus(): void;

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

focus

Not found

This page does not exist

Interactive graph

On this page

Editor.focus() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/y
----

y

=

    aliases: "WorkspaceWindowInitData.y"

    cssclasses: hide-title

[`WorkspaceWindowInitData`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData) › [`y`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceWindowInitData/y)

WorkspaceWindowInitData.y property

----------------------------------

**Signature:**

    y?: number;

y

Not found

This page does not exist

Interactive graph

On this page

WorkspaceWindowInitData.y property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/EditorChange
----

EditorChange

============

    aliases: "EditorChange"

    cssclasses: hide-title

[`EditorChange`](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange)

EditorChange interface

----------------------

0.12.11

**Signature:**

    export interface EditorChange extends EditorRangeOrCaret 

**Extends:** [`EditorRangeOrCaret`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret)

Properties

----------

Property

Modifiers

Type

Description

[`from`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret/from)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

(Inherited from [EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret))

[`text`](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange/text)

`string`

[`to?`](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret/to)

[`EditorPosition`](https://docs.obsidian.md/Reference/TypeScript+API/EditorPosition)

_(Optional)_

(Inherited from [EditorRangeOrCaret](https://docs.obsidian.md/Reference/TypeScript+API/EditorRangeOrCaret))

Links to this page

[EditorTransaction](https://docs.obsidian.md/Reference/TypeScript+API/EditorTransaction)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[processLines](https://docs.obsidian.md/Reference/TypeScript+API/Editor/processLines)

[text](https://docs.obsidian.md/Reference/TypeScript+API/EditorChange/text)

EditorChange

Not found

This page does not exist

Interactive graph

On this page

EditorChange interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache
----

ListItemCache

=============

    aliases: "ListItemCache"

    cssclasses: hide-title

[`ListItemCache`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)

ListItemCache interface

-----------------------

**Signature:**

    export interface ListItemCache extends CacheItem 

**Extends:** [`CacheItem`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

Properties

----------

Property

Modifiers

Type

Description

[`id?`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache/id)

`string | undefined`

_(Optional)_ The block ID of this list item, if defined.

[`parent`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache/parent)

`number`

Line number of the parent list item (position.start.line). If this item has no parent (e.g. it's a root level list), then this value is the negative of the line number of the first list item (start of the list).

Can be used to deduce which list items belongs to the same group (item1.parent \= item2.parent). Can be used to reconstruct hierarchy information (parentItem.position.start.line = childItem.parent).

[`position`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem/position)

[`Pos`](https://docs.obsidian.md/Reference/TypeScript+API/Pos)

Position of this item in the note.

(Inherited from [CacheItem](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem))

[`task?`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache/task)

`string | undefined`

_(Optional)_ A single character indicating the checked status of a task. The space character `' '` is interpreted as an incomplete task. Any other character is interpreted as completed task. `undefined` if this item isn't a task.

ListItemCache

Not found

This page does not exist

Interactive graph

On this page

ListItemCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/summaries
----

summaries

=========

    aliases: "BasesConfigFileView.summaries"

    cssclasses: hide-title

[`BasesConfigFileView`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView) › [`summaries`](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView/summaries)

BasesConfigFileView.summaries property

--------------------------------------

Configuration of summaries to display for each property in this view.

Key: Property name. Value: Summary formula name.

1.10.0

**Signature:**

    summaries?: Record<string, string>;

Links to this page

[BasesConfigFileView](https://docs.obsidian.md/Reference/TypeScript+API/BasesConfigFileView)

summaries

Not found

This page does not exist

Interactive graph

On this page

BasesConfigFileView.summaries property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Component/load
----

load

====

    aliases: "Component.load"

    cssclasses: hide-title

[`Component`](https://docs.obsidian.md/Reference/TypeScript+API/Component) › [`load`](https://docs.obsidian.md/Reference/TypeScript+API/Component/load)

Component.load() method

-----------------------

Load this component and its children

0.9.7

**Signature:**

    load(): void;

load

Not found

This page does not exist

Interactive graph

On this page

Component.load() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ImageValue
----

ImageValue

==========

    aliases: "ImageValue"

    cssclasses: hide-title

[`ImageValue`](https://docs.obsidian.md/Reference/TypeScript+API/ImageValue)

ImageValue class

----------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a path to an image resource in the vault.

1.10.0

**Signature:**

    export class ImageValue extends StringValue 

**Extends:** [`StringValue`](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

Constructors

------------

----------

-------

ImageValue

Not found

This page does not exist

Interactive graph

On this page

ImageValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/NullValue/isTruthy
----

isTruthy

========

    aliases: "NullValue.isTruthy"

    cssclasses: hide-title

[`NullValue`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue) › [`isTruthy`](https://docs.obsidian.md/Reference/TypeScript+API/NullValue/isTruthy)

NullValue.isTruthy() method

---------------------------

1.10.0

**Signature:**

    isTruthy(): boolean;

**Returns:**

`boolean`

Links to this page

[NullValue](https://docs.obsidian.md/Reference/TypeScript+API/NullValue)

isTruthy

Not found

This page does not exist

Interactive graph

On this page

NullValue.isTruthy() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeftLeaf
----

getLeftLeaf

===========

    aliases: "Workspace.getLeftLeaf"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [`getLeftLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/getLeftLeaf)

Workspace.getLeftLeaf() method

------------------------------

Create a new leaf inside the left sidebar.

**Signature:**

    getLeftLeaf(split: boolean): WorkspaceLeaf | null;

Parameters

----------

Parameter

Type

Description

`split`

`boolean`

Should the existing split be split up?

0.9.7

**Returns:**

[`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) `| null`

Links to this page

[Workspace](https://docs.obsidian.md/Plugins/User+interface/Workspace)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

getLeftLeaf

Not found

This page does not exist

Interactive graph

On this page

Workspace.getLeftLeaf() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/NumberValue
----

NumberValue

===========

    aliases: "NumberValue"

    cssclasses: hide-title

[`NumberValue`](https://docs.obsidian.md/Reference/TypeScript+API/NumberValue)

NumberValue class

-----------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a number.

1.10.0

**Signature:**

    export class NumberValue extends PrimitiveValue<number> 

**Extends:** [`PrimitiveValue`](https://docs.obsidian.md/Reference/TypeScript+API/PrimitiveValue)`<number>`

Constructors

------------

----------

Property

Modifiers

Type

Description

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/NumberValue/type)

`static`

`string`

1.10.0

Methods

-------

[type](https://docs.obsidian.md/Reference/TypeScript+API/NumberValue/type)

NumberValue

Not found

This page does not exist

Interactive graph

On this page

NumberValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent
----

ProgressBarComponent

====================

    aliases: "ProgressBarComponent"

    cssclasses: hide-title

[`ProgressBarComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent)

ProgressBarComponent class

--------------------------

1.4.4

**Signature:**

    export class ProgressBarComponent extends ValueComponent<number> 

**Extends:** [`ValueComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent)`<number>`

Constructors

------------

Constructor

Modifiers

Description

[`(constructor)(containerEl)`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/\(constructor\))

Constructs a new instance of the `ProgressBarComponent` class

Properties

----------

-------

Method

Modifiers

Description

[`getValue()`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/getValue)

[`registerOptionListener(listeners, key)`](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent/registerOptionListener)

0.9.7

(Inherited from [ValueComponent](https://docs.obsidian.md/Reference/TypeScript+API/ValueComponent))

[`setDisabled(disabled)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/setDisabled)

1.2.3

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

[`setValue(value)`](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/setValue)

[`then(cb)`](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent/then)

Facilitates chaining

0.9.7

(Inherited from [BaseComponent](https://docs.obsidian.md/Reference/TypeScript+API/BaseComponent))

Links to this page

[(constructor)](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/\(constructor\))

[addProgressBar](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addProgressBar)

[getValue](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/getValue)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[setValue](https://docs.obsidian.md/Reference/TypeScript+API/ProgressBarComponent/setValue)

ProgressBarComponent

Not found

This page does not exist

Interactive graph

On this page

ProgressBarComponent class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/trashSystem
----

trashSystem

===========

    aliases: "DataAdapter.trashSystem"

    cssclasses: hide-title

[`DataAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter) › [`trashSystem`](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter/trashSystem)

DataAdapter.trashSystem() method

--------------------------------

Try moving to system trash.

**Signature:**

    trashSystem(normalizedPath: string): Promise<boolean>;

Parameters

----------

`Promise<boolean>`

Returns true if succeeded. This can fail due to system trash being disabled.

Links to this page

[DataAdapter](https://docs.obsidian.md/Reference/TypeScript+API/DataAdapter)

trashSystem

Not found

This page does not exist

Interactive graph

On this page

DataAdapter.trashSystem() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64
----

arrayBufferToBase64

===================

    aliases: "arrayBufferToBase64"

    cssclasses: hide-title

[`arrayBufferToBase64`](https://docs.obsidian.md/Reference/TypeScript+API/arrayBufferToBase64)

arrayBufferToBase64() function

------------------------------

**Signature:**

    export function arrayBufferToBase64(buffer: ArrayBuffer): string;

Parameters

----------

Parameter

Type

Description

`buffer`

`ArrayBuffer`

**Returns:**

`string`

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

arrayBufferToBase64

Not found

This page does not exist

Interactive graph

On this page

arrayBufferToBase64() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DateValue/isTruthy
----

isTruthy

========

    aliases: "DateValue.isTruthy"

    cssclasses: hide-title

[`DateValue`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue) › [`isTruthy`](https://docs.obsidian.md/Reference/TypeScript+API/DateValue/isTruthy)

DateValue.isTruthy() method

---------------------------

1.10.0

**Signature:**

    isTruthy(): boolean;

**Returns:**

`boolean`

Links to this page

[DateValue](https://docs.obsidian.md/Reference/TypeScript+API/DateValue)

[RelativeDateValue](https://docs.obsidian.md/Reference/TypeScript+API/RelativeDateValue)

isTruthy

Not found

This page does not exist

Interactive graph

On this page

DateValue.isTruthy() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Debouncer
----

Debouncer

=========

    aliases: "Debouncer"

    cssclasses: hide-title

[`Debouncer`](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer)

Debouncer interface

-------------------

**Signature:**

    export interface Debouncer<T extends unknown[], V> 

Methods

-------

Method

Description

[`cancel()`](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer/cancel)

Cancel any pending debounced function call.

[`run()`](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer/run)

If there is any pending function call, clear the timer and call the function immediately.

1.4.4

Links to this page

[cancel](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer/cancel)

[debounce](https://docs.obsidian.md/Reference/TypeScript+API/debounce)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[run](https://docs.obsidian.md/Reference/TypeScript+API/Debouncer/run)

[Workspace](https://docs.obsidian.md/Reference/TypeScript+API/Workspace)

Debouncer

Not found

This page does not exist

Interactive graph

On this page

Debouncer interface

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Menu/setNoIcon
----

setNoIcon

=========

    aliases: "Menu.setNoIcon"

    cssclasses: hide-title

[`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu) › [`setNoIcon`](https://docs.obsidian.md/Reference/TypeScript+API/Menu/setNoIcon)

Menu.setNoIcon() method

-----------------------

**Signature:**

    setNoIcon(): this;

**Returns:**

`this`

Links to this page

[Menu](https://docs.obsidian.md/Reference/TypeScript+API/Menu)

setNoIcon

Not found

This page does not exist

Interactive graph

On this page

Menu.setNoIcon() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/lastLine
----

lastLine

========

    aliases: "Editor.lastLine"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`lastLine`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/lastLine)

Editor.lastLine() method

------------------------

0.11.11

**Signature:**

    abstract lastLine(): number;

**Returns:**

`number`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

lastLine

Not found

This page does not exist

Interactive graph

On this page

Editor.lastLine() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Components/Navigation
----

Navigation

==========

    cssclasses: reference

This page lists CSS variables for navigational items, such as files and folders in [File explorer](https://docs.obsidian.md/Reference/CSS+variables/Plugins/File+explorer).

CSS variables

-------------

Variable

Description

`--nav-item-size`

Nav item font size

`--nav-item-color`

Nav item text color

`--nav-item-color-hover`

Nav item text color (hover)

`--nav-item-color-active`

Nav item text color (active)

`--nav-item-color-selected`

Nav item text color (selected)

`--nav-item-color-highlighted`

Nav item text color (highlighted)

`--nav-item-background-hover`

Nav item background color (hover)

`--nav-item-background-active`

Nav item background color (active)

`--nav-item-background-selected`

Nav item background color (selected)

`--nav-item-padding`

Nav item padding

`--nav-item-parent-padding`

Nav item padding for parent elements

`--nav-item-children-padding-start`

Nav item children `start` padding

`--nav-item-children-margin-start`

Nav item children `start` margin

`--nav-item-weight`

Nav item font weight

`--nav-item-weight-hover`

Nav item font weight (hover)

`--nav-item-weight-active`

Nav item font weight (active)

`--nav-item-white-space`

Nav item `white-space`

`--nav-indentation-guide-width`

Nav item indentation guide border width

`--nav-indentation-guide-color`

Nav item indentation guide border color

`--nav-collapse-icon-color`

Nav item collapse chevron color

`--nav-collapse-icon-color-collapsed`

Nav item collapse chevron color (collapsed)

### Navigation headings

Navigation headings are used for collapsible navigation sections, such as linked mentions in the Backlinks and Outlinks plugin.

Variable

Description

`--nav-heading-color`

Nav heading text color

`--nav-heading-color-hover`

Nav heading text color (hover)

`--nav-heading-color-collapsed`

Collapsed nav heading text color

`--nav-heading-color-colapsed-hover`

Collapsed nav heading text color (hover)

`--nav-heading-weight`

Nav heading font weight

`--nav-heading-weight-hover`

Nav heading font weight (hover)

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Navigation

Not found

This page does not exist

Interactive graph

On this page

CSS variables

Navigation headings

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/HoverParent/hoverPopover
----

FuzzyMatch

FuzzySuggestModal

HeadingCache

HeadingSubpathResult

Hotkey

HoverLinkSource

HoverParent

[hoverPopover](https://docs.obsidian.md/Reference/TypeScript+API/HoverParent/hoverPopover)

hoverPopover

Not found

This page does not exist

Interactive graph

On this page

HoverParent.hoverPopover property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setSection
----

setSection

==========

    aliases: "MenuItem.setSection"

    cssclasses: hide-title

[`MenuItem`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem) › [`setSection`](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem/setSection)

MenuItem.setSection() method

----------------------------

Sets the section this menu item should belong in. To find the section IDs of an existing menu, inspect the DOM elements to see their `data-section` attribute.

**Signature:**

    setSection(section: string): this;

Parameters

----------

Parameter

Type

Description

`section`

`string`

**Returns:**

`this`

Links to this page

[MenuItem](https://docs.obsidian.md/Reference/TypeScript+API/MenuItem)

setSection

Not found

This page does not exist

Interactive graph

On this page

MenuItem.setSection() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/PluginManifest/dir
----

dir

===

dir

Not found

This page does not exist

Interactive graph

On this page

PluginManifest.dir property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/setViewState
----

setViewState

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.setViewState() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Plugins/Releasing/Release+your+plugin+with+GitHub+Actions
----

Release your plugin with GitHub Actions

=======================================

Manually releasing your plugin can be time-consuming and error-prone. In this guide, you'll configure your plugin to use [GitHub Actions](https://github.com/features/actions) to automatically create a release when you create a new tag.

1.  In the root directory of your plugin, create a file called `release.yml` under `.github/workflows` with the following content:

        name: Release Obsidian plugin

        on:

          push:

            tags:

              - "*"

        jobs:

          build:

            runs-on: ubuntu-latest

            permissions:

              contents: write

            steps:

              - uses: actions/checkout@v3

              - name: Use Node.js

                uses: actions/setup-node@v3

                with:

                  node-version: "18.x"

              - name: Build plugin

                run: |

                  npm install

                  npm run build

              - name: Create release

                env:

                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

                run: |

                  tag="${GITHUB_REF#refs/tags/}"

                  gh release create "$tag" \

                    --title="$tag" \

                    --draft \

                    main.js manifest.json styles.css

2.  In your terminal, commit the workflow.

        git add .github/workflows/release.yml

        git commit -m "Add release workflow"

        git push origin main

3.  Browse to your repository on GitHub and select the **Settings** tab. Expand the **Actions** menu in the left sidebar, navigate to the **General** menu, scroll to the **Workflow permissions** section, select the **Read and write permissions** option, and save.

4.  Create a tag that matches the version in the `manifest.json` file.

        git tag -a 1.0.1 -m "1.0.1"

        git push origin 1.0.1

    *   `-a` creates an [annotated tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging#_creating_tags).

    *   `-m` specifies the name of your release. For Obsidian plugins, this must be the same as the version.

5.  Browse to your repository on GitHub and select the **Actions** tab. Your workflow might still be running, or it might have finished already.

6.  When the workflow finishes, go back to the main page of your repository and select **Releases** in the sidebar on the right side. The workflow has created a draft GitHub release and uploaded the required assets as binary attachments.

7.  Select **Edit** (pencil icon) on the right side of the release name.

8.  Add release notes to let users know what happened in this release, and then select **Publish release**.

You've successfully set up your plugin to automatically create a GitHub release whenever you create a new tag.

*   If this is the first release for this plugin, you're now ready to [Submit your plugin](https://docs.obsidian.md/Plugins/Releasing/Submit+your+plugin).

*   If this is an update to an already published plugin, your users can now update to the latest version.

Release your plugin with GitHub Actions

Not found

This page does not exist

Interactive graph

On this page

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult
----

BlockSubpathResult

==================

    aliases: "BlockSubpathResult"

    cssclasses: hide-title

[`BlockSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult)

BlockSubpathResult interface

----------------------------

0.13.26

**Signature:**

    export interface BlockSubpathResult extends SubpathResult 

**Extends:** [`SubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult)

Properties

----------

Property

Modifiers

Type

Description

[`block`](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/block)

[`BlockCache`](https://docs.obsidian.md/Reference/TypeScript+API/BlockCache)

[`end`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/end)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc) `| null`

(Inherited from [SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult))

[`list?`](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/list)

[`ListItemCache`](https://docs.obsidian.md/Reference/TypeScript+API/ListItemCache)

_(Optional)_

[`start`](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult/start)

[`Loc`](https://docs.obsidian.md/Reference/TypeScript+API/Loc)

(Inherited from [SubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/SubpathResult))

[`type`](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/type)

`'block'`

Links to this page

[block](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/block)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[list](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/list)

[resolveSubpath](https://docs.obsidian.md/Reference/TypeScript+API/resolveSubpath)

[type](https://docs.obsidian.md/Reference/TypeScript+API/BlockSubpathResult/type)

BlockSubpathResult

Not found

This page does not exist

Interactive graph

On this page

BlockSubpathResult interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/App/keymap
----

keymap

======

    aliases: "App.keymap"

    cssclasses: hide-title

[`App`](https://docs.obsidian.md/Reference/TypeScript+API/App) › [`keymap`](https://docs.obsidian.md/Reference/TypeScript+API/App/keymap)

App.keymap property

-------------------

0.9.7

**Signature:**

    keymap: Keymap;

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

keymap

Not found

This page does not exist

Interactive graph

On this page

App.keymap property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Reference/displayText
----

displayText

===========

    aliases: "Reference.displayText"

    cssclasses: hide-title

[`Reference`](https://docs.obsidian.md/Reference/TypeScript+API/Reference) › [`displayText`](https://docs.obsidian.md/Reference/TypeScript+API/Reference/displayText)

Reference.displayText property

------------------------------

Available if title is different from link text, in the case of `[[page name|display name]]` this will return `display name`

**Signature:**

    displayText?: string;

Links to this page

[EmbedCache](https://docs.obsidian.md/Reference/TypeScript+API/EmbedCache)

[FrontmatterLinkCache](https://docs.obsidian.md/Reference/TypeScript+API/FrontmatterLinkCache)

[LinkCache](https://docs.obsidian.md/Reference/TypeScript+API/LinkCache)

[Reference](https://docs.obsidian.md/Reference/TypeScript+API/Reference)

[ReferenceCache](https://docs.obsidian.md/Reference/TypeScript+API/ReferenceCache)

displayText

Not found

This page does not exist

Interactive graph

On this page

Reference.displayText property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Notice/containerEl
----

containerEl

===========

    aliases: "Notice.containerEl"

    cssclasses: hide-title

[`Notice`](https://docs.obsidian.md/Reference/TypeScript+API/Notice) › [`containerEl`](https://docs.obsidian.md/Reference/TypeScript+API/Notice/containerEl)

Notice.containerEl property

---------------------------

1.8.7

**Signature:**

    containerEl: HTMLElement;

Links to this page

[Notice](https://docs.obsidian.md/Reference/TypeScript+API/Notice)

containerEl

Not found

This page does not exist

Interactive graph

On this page

Notice.containerEl property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('editor-menu')
----

on('editor-menu')

=================

    aliases: "Workspace.on('editor-menu')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('editor-menu')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('editor-menu'\))

Workspace.on('editor-menu') method

----------------------------------

Triggered when the user opens the context menu on an editor.

1.1.0

**Signature:**

    on(name: 'editor-menu', callback: (menu: Menu, editor: Editor, info: MarkdownView | MarkdownFileInfo) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'editor-menu'`

`callback`

`(menu:` [`Menu`](https://docs.obsidian.md/Reference/TypeScript+API/Menu)`, editor:` [`Editor`](https://docs.obsidian.md/Plugins/Editor/Editor)`, info:` [`MarkdownView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownView) `|` [`MarkdownFileInfo`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownFileInfo)`) => any`

on('editor-menu')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('editor-menu') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getSuggestions
----

getSuggestions

==============

    aliases: "AbstractInputSuggest.getSuggestions"

    cssclasses: hide-title

[`AbstractInputSuggest`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest) › [`getSuggestions`](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest/getSuggestions)

AbstractInputSuggest.getSuggestions() method

--------------------------------------------

1.5.7

**Signature:**

    protected abstract getSuggestions(query: string): T[] | Promise<T[]>;

Parameters

----------

Parameter

Type

Description

`query`

`string`

**Returns:**

`T[] | ``Promise<T[]>`

Links to this page

[AbstractInputSuggest](https://docs.obsidian.md/Reference/TypeScript+API/AbstractInputSuggest)

getSuggestions

Not found

This page does not exist

Interactive graph

On this page

AbstractInputSuggest.getSuggestions() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf/getIcon
----

getIcon

=======

getIcon

Not found

This page does not exist

Interactive graph

On this page

WorkspaceLeaf.getIcon() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/CSS+variables/Plugins/Graph
----

Graph

=====

    cssclasses: reference

This page lists CSS variables used by the [Graph view](https://help.obsidian.md/Plugins/Graph+view) plugin.

CSS variables

-------------

Variable

Description

`--graph-controls-width`

Graph controls width

`--graph-text`

Node text color

`--graph-line`

Line color

`--graph-node`

Resolved node color

`--graph-node-unresolved`

Unresolved node color

`--graph-node-focused`

Focused node color

`--graph-node-tag`

Tag node color

`--graph-node-attachment`

Attachment node color

Links to this page

[CSS variables](https://docs.obsidian.md/Reference/CSS+variables/CSS+variables)

Graph

Not found

This page does not exist

Interactive graph

On this page

CSS variables

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache
----

FootnoteCache

=============

    aliases: "FootnoteCache"

    cssclasses: hide-title

[`FootnoteCache`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache)

FootnoteCache interface

-----------------------

**Signature:**

    export interface FootnoteCache extends CacheItem 

**Extends:** [`CacheItem`](https://docs.obsidian.md/Reference/TypeScript+API/CacheItem)

Properties

----------

Property

Modifiers

Type

Description

[`id`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache/id)

[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)

[id](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteCache/id)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

FootnoteCache

Not found

This page does not exist

Interactive graph

On this page

FootnoteCache interface

Properties

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/(constructor)
----

(constructor)

=============

    aliases: "ButtonComponent.(constructor)"

    cssclasses: hide-title

[`ButtonComponent`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent) › [`(constructor)`](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent/\(constructor\))

ButtonComponent.(constructor)

-----------------------------

Constructs a new instance of the `ButtonComponent` class

**Signature:**

    constructor(containerEl: HTMLElement);

Parameters

----------

Parameter

Type

Description

`containerEl`

`HTMLElement`

Links to this page

[ButtonComponent](https://docs.obsidian.md/Reference/TypeScript+API/ButtonComponent)

(constructor)

Not found

This page does not exist

Interactive graph

On this page

ButtonComponent.(constructor)

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/stat
----

stat

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.stat() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/get
----

get

===

    aliases: "MarkdownPreviewView.get"

    cssclasses: hide-title

[`MarkdownPreviewView`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView) › [`get`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView/get)

MarkdownPreviewView.get() method

--------------------------------

**Signature:**

    get(): string;

**Returns:**

`string`

Links to this page

[MarkdownPreviewView](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPreviewView)

get

Not found

This page does not exist

Interactive graph

On this page

MarkdownPreviewView.get() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSlider
----

addSlider

=========

    aliases: "Setting.addSlider"

    cssclasses: hide-title

[`Setting`](https://docs.obsidian.md/Reference/TypeScript+API/Setting) › [`addSlider`](https://docs.obsidian.md/Reference/TypeScript+API/Setting/addSlider)

Setting.addSlider() method

--------------------------

0.9.7

**Signature:**

    addSlider(cb: (component: SliderComponent) => any): this;

Parameters

----------

Parameter

Type

Description

`cb`

`(component:` [`SliderComponent`](https://docs.obsidian.md/Reference/TypeScript+API/SliderComponent)`) => any`

**Returns:**

`this`

Links to this page

[Setting](https://docs.obsidian.md/Reference/TypeScript+API/Setting)

addSlider

Not found

This page does not exist

Interactive graph

On this page

Setting.addSlider() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage
----

SecretStorage

=============

    aliases: "SecretStorage"

    cssclasses: hide-title

[`SecretStorage`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage)

SecretStorage class

-------------------

1.11.4

**Signature:**

    export class SecretStorage 

Methods

-------

Method

Modifiers

Description

[`getSecret(id)`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/getSecret)

Gets a secret from storage

[`listSecrets()`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/listSecrets)

Lists all secrets in storage

[`setSecret(id, secret)`](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/setSecret)

Sets a secret in the storage.

Links to this page

[App](https://docs.obsidian.md/Reference/TypeScript+API/App)

[getSecret](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/getSecret)

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[listSecrets](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/listSecrets)

[setSecret](https://docs.obsidian.md/Reference/TypeScript+API/SecretStorage/setSecret)

[Store secrets](https://docs.obsidian.md/plugins/guides/secret-storage)

SecretStorage

Not found

This page does not exist

Interactive graph

On this page

SecretStorage class

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on('active-leaf-change')
----

on('active-leaf-change')

========================

    aliases: "Workspace.on('active-leaf-change')"

    cssclasses: hide-title

[`Workspace`](https://docs.obsidian.md/Reference/TypeScript+API/Workspace) › [on('active-leaf-change')](https://docs.obsidian.md/Reference/TypeScript+API/Workspace/on\('active-leaf-change'\))

Workspace.on('active-leaf-change') method

-----------------------------------------

Triggered when the active leaf changes.

0.10.9

**Signature:**

    on(name: 'active-leaf-change', callback: (leaf: WorkspaceLeaf | null) => any, ctx?: any): EventRef;

Parameters

----------

Parameter

Type

Description

`name`

`'active-leaf-change'`

`callback`

`(leaf:` [`WorkspaceLeaf`](https://docs.obsidian.md/Reference/TypeScript+API/WorkspaceLeaf) `| null) => any`

on('active-leaf-change')

Not found

This page does not exist

Interactive graph

On this page

Workspace.on('active-leaf-change') method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/appendBinary
----

appendBinary

============

    aliases: "FileSystemAdapter.appendBinary"

    cssclasses: hide-title

[`FileSystemAdapter`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter) › [`appendBinary`](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter/appendBinary)

FileSystemAdapter.appendBinary() method

---------------------------------------

1.12.3

**Signature:**

    appendBinary(normalizedPath: string, data: ArrayBuffer, options?: DataWriteOptions): Promise<void>;

Parameters

----------

Parameter

Type

Description

`normalizedPath`

`string`

`data`

`ArrayBuffer`

`options`

[`DataWriteOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DataWriteOptions)

_(Optional)_

**Returns:**

`Promise<void>`

Links to this page

[FileSystemAdapter](https://docs.obsidian.md/Reference/TypeScript+API/FileSystemAdapter)

appendBinary

Not found

This page does not exist

Interactive graph

On this page

FileSystemAdapter.appendBinary() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement
----

TooltipPlacement

================

    aliases: "TooltipPlacement"

    cssclasses: hide-title

[`TooltipPlacement`](https://docs.obsidian.md/Reference/TypeScript+API/TooltipPlacement)

TooltipPlacement type

---------------------

**Signature:**

    export type TooltipPlacement = 'bottom' | 'right' | 'left' | 'top';

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

[TooltipOptions](https://docs.obsidian.md/Reference/TypeScript+API/TooltipOptions)

TooltipPlacement

Not found

This page does not exist

Interactive graph

On this page

TooltipPlacement type

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/Editor/redo
----

redo

====

    aliases: "Editor.redo"

    cssclasses: hide-title

[`Editor`](https://docs.obsidian.md/Reference/TypeScript+API/Editor) › [`redo`](https://docs.obsidian.md/Reference/TypeScript+API/Editor/redo)

Editor.redo() method

--------------------

0.11.11

**Signature:**

    abstract redo(): void;

**Returns:**

`void`

Links to this page

[Editor](https://docs.obsidian.md/Reference/TypeScript+API/Editor)

redo

Not found

This page does not exist

Interactive graph

On this page

Editor.redo() method

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult/footnote
----

footnote

========

    aliases: "FootnoteSubpathResult.footnote"

    cssclasses: hide-title

[`FootnoteSubpathResult`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult) › [`footnote`](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult/footnote)

FootnoteSubpathResult.footnote property

---------------------------------------

**Signature:**

    footnote: FootnoteCache;

Links to this page

[FootnoteSubpathResult](https://docs.obsidian.md/Reference/TypeScript+API/FootnoteSubpathResult)

footnote

Not found

This page does not exist

Interactive graph

On this page

FootnoteSubpathResult.footnote property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ViewState/type
----

type

====

    aliases: "ViewState.type"

    cssclasses: hide-title

[`ViewState`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState) › [`type`](https://docs.obsidian.md/Reference/TypeScript+API/ViewState/type)

ViewState.type property

-----------------------

**Signature:**

    type: string;

Links to this page

[ViewState](https://docs.obsidian.md/Reference/TypeScript+API/ViewState)

type

Not found

This page does not exist

Interactive graph

On this page

ViewState.type property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults
----

sortSearchResults

=================

    aliases: "sortSearchResults"

    cssclasses: hide-title

[`sortSearchResults`](https://docs.obsidian.md/Reference/TypeScript+API/sortSearchResults)

sortSearchResults() function

----------------------------

**Signature:**

    export function sortSearchResults(results: SearchResultContainer[]): void;

Parameters

----------

Parameter

Type

Description

`results`

[`SearchResultContainer`](https://docs.obsidian.md/Reference/TypeScript+API/SearchResultContainer)`[]`

**Returns:**

`void`

sortSearchResults

Not found

This page does not exist

Interactive graph

On this page

sortSearchResults() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/IconValue
----

IconValue

=========

    aliases: "IconValue"

    cssclasses: hide-title

[`IconValue`](https://docs.obsidian.md/Reference/TypeScript+API/IconValue)

IconValue class

---------------

[Value](https://docs.obsidian.md/Reference/TypeScript+API/Value) wrapping a renderable icon.

1.10.0

**Signature:**

    export class IconValue extends StringValue 

**Extends:** [`StringValue`](https://docs.obsidian.md/Reference/TypeScript+API/StringValue)

Constructors

------------

----------

-------

IconValue

Not found

This page does not exist

Interactive graph

On this page

IconValue class

Constructors

Properties

Methods

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/headers
----

headers

=======

    aliases: "RequestUrlResponse.headers"

    cssclasses: hide-title

[`RequestUrlResponse`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse) › [`headers`](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse/headers)

RequestUrlResponse.headers property

-----------------------------------

**Signature:**

    headers: Record<string, string>;

Links to this page

[RequestUrlResponse](https://docs.obsidian.md/Reference/TypeScript+API/RequestUrlResponse)

headers

Not found

This page does not exist

Interactive graph

On this page

RequestUrlResponse.headers property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/frontmatter
----

frontmatter

===========

    aliases: "MarkdownPostProcessorContext.frontmatter"

    cssclasses: hide-title

[`MarkdownPostProcessorContext`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext) › [`frontmatter`](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext/frontmatter)

MarkdownPostProcessorContext.frontmatter property

-------------------------------------------------

**Signature:**

    frontmatter: any | null | undefined;

Links to this page

[MarkdownPostProcessorContext](https://docs.obsidian.md/Reference/TypeScript+API/MarkdownPostProcessorContext)

frontmatter

Not found

This page does not exist

Interactive graph

On this page

MarkdownPostProcessorContext.frontmatter property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData/action
----

[action](https://docs.obsidian.md/Reference/TypeScript+API/ObsidianProtocolData/action)

OpenViewState

Plugin

PluginManifest

PluginSettingTab

action

Not found

This page does not exist

Interactive graph

On this page

ObsidianProtocolData.action property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/ViewState/group
----

group

=====

group

Not found

This page does not exist

Interactive graph

On this page

ViewState.group property

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/parsePropertyId
----

parsePropertyId

===============

    aliases: "parsePropertyId"

    cssclasses: hide-title

[`parsePropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/parsePropertyId)

parsePropertyId() function

--------------------------

Split a Bases property ID into constituent parts.

1.10.0

**Signature:**

    export function parsePropertyId(propertyId: BasesPropertyId): BasesProperty;

Parameters

----------

Parameter

Type

Description

`propertyId`

[`BasesPropertyId`](https://docs.obsidian.md/Reference/TypeScript+API/BasesPropertyId)

**Returns:**

[`BasesProperty`](https://docs.obsidian.md/Reference/TypeScript+API/BasesProperty)

Links to this page

[index](https://docs.obsidian.md/Reference/TypeScript+API/index)

parsePropertyId

Not found

This page does not exist

Interactive graph

On this page

parsePropertyId() function

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)

----
url: https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/addOptions
----

addOptions

==========

    aliases: "DropdownComponent.addOptions"

    cssclasses: hide-title

[`DropdownComponent`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent) › [`addOptions`](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent/addOptions)

DropdownComponent.addOptions() method

-------------------------------------

0.9.7

**Signature:**

    addOptions(options: Record<string, string>): this;

Parameters

----------

Parameter

Type

Description

`options`

`Record``<string, string>`

**Returns:**

`this`

Links to this page

[DropdownComponent](https://docs.obsidian.md/Reference/TypeScript+API/DropdownComponent)

addOptions

Not found

This page does not exist

Interactive graph

On this page

DropdownComponent.addOptions() method

Parameters

[Powered by Obsidian Publish](https://publish.obsidian.md)