Skip to content

MarkdownBaseView

Extends

Extended by

Properties

_children

_children: Component[]

Child Components attached to current component, will be unloaded on unloading parent component

Inherited from

Component._children


_events

_events: EventRef[]

Events that are attached to the current component, will be detached on unloading parent component

Inherited from

Component._events


_loaded

_loaded: boolean

Whether the component and its children are loaded

Inherited from

Component._loaded


app

app: App

Reference to the app


cleanupLivePreview

cleanupLivePreview: null | () => void

Callback to clear all elements


clipboardManager

clipboardManager: ClipBoardManager

Manager that handles pasting text, html and images into the editor


cm

cm: EditorView

Codemirror editor instance


cmInit

cmInit: boolean

Whether CodeMirror is initialized


containerEl

containerEl: HTMLElement

Container element of the editor view


cursorPopupEl

cursorPopupEl: null | HTMLElement

Popup element for internal link


editor?

optional editor: Editor

Obsidian editor instance


editorEl

editorEl: HTMLElement

Element in which the CodeMirror editor resides


editorSuggest

editorSuggest: EditorSuggests

Editor suggester for autocompleting files, links, aliases, etc.


livePreviewPlugin

livePreviewPlugin: Extension[]

The CodeMirror plugins that handle the rendering of, and interaction with Obsidian’s Markdown


localExtensions

localExtensions: Extension[]

Local (always active) extensions for the editor


owner

owner: MarkdownFileInfo

Controller of the editor view


sourceMode

sourceMode: boolean

Whether live preview rendering is disabled


tableCell

tableCell: null | TableCellEditor

Reference to editor attached to table cell, if any

Accessors

activeCM

get activeCM(): EditorView

Currently active CM instance (table cell CM or main CM)

Returns

EditorView


file

get file(): null | TFile

Returns attached file of the owner instance

Returns

null | TFile


path

get path(): string

Returns path of the attached file

Returns

string

Methods

addChild()

addChild<T>(component): T

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

Type Parameters

T extends Component

Parameters

component: T

Returns

T

Inherited from

Component.addChild


applyFoldInfo()

applyFoldInfo(info): void

Apply fold history to editor

Parameters

info: FoldInfo

Returns

void


buildLocalExtensions()

buildLocalExtensions(): Extension[]

Constructs local (always active) extensions for the editor

Returns

Extension[]


clear()

clear(): void

Cleanup live preview, remove and then re-add all editor extensions

Returns

void


destroy()

destroy(): void

Clean up live preview, remove all extensions, destroy editor

Returns

void


destroyTableCell()

destroyTableCell(cell?): void

Removes specified tablecell

Parameters

cell?: TableCellEditor

Returns

void


editTableCell()

editTableCell(cell, new_cell): TableCellEditor

Edit a specified table cell, creating a table cell editor

Parameters

cell: TableEditor

new_cell: TableCell

Returns

TableCellEditor


get()

get(): string

Get the current editor document as a string

Returns

string


getDynamicExtensions()

getDynamicExtensions(): Extension[]

Constructs extensions for the editor based on user settings

Returns

Extension[]


load()

load(): void

Load this component and its children

Returns

void

Inherited from

Component.load


onContextMenu()

onContextMenu(event, x): Promise<void>

Creates menu on right mouse click

Parameters

event: PointerEvent

x: boolean

Returns

Promise<void>


onEditorClick()

onEditorClick(event, element?): void

Execute click functionality on token on mouse click

Parameters

event: MouseEvent

element?: HTMLElement

Returns

void


onEditorDragStart()

onEditorDragStart(event): void

Execute drag functionality on drag start

Parameters

event: DragEvent

Returns

void


onEditorLinkMouseover()

onEditorLinkMouseover(event, target): void

Execute hover functionality on mouse over event

Parameters

event: MouseEvent

target: HTMLElement

Returns

void


onload()

onload(): void

Override this to load your component

Returns

void

Inherited from

Component.onload


onMenu()

onMenu(event): void

Execute context menu functionality on right mouse click

Parameters

event: MouseEvent

Returns

void


onResize()

onResize(): void

Reposition suggest and scroll position on resize

Returns

void


onunload()

onunload(): void

Override this to unload your component

Returns

void

Inherited from

Component.onunload


onUpdate()

onUpdate(update, changed): void

Execute functionality on CM editor state update

Parameters

update: ViewUpdate

changed: boolean

Returns

void


register()

register(cb): void

Registers a callback to be called when unloading

Parameters

cb

Returns

void

Inherited from

Component.register


registerDomEvent()

registerDomEvent(el, type, callback, options)

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

Registers an DOM event to be detached when unloading

Type Parameters

K extends keyof WindowEventMap

Parameters

el: Window

type: K

callback

options?: boolean | AddEventListenerOptions

Returns

void

Inherited from

Component.registerDomEvent

registerDomEvent(el, type, callback, options)

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

Registers an DOM event to be detached when unloading

Type Parameters

K extends keyof DocumentEventMap

Parameters

el: Document

type: K

callback

options?: boolean | AddEventListenerOptions

Returns

void

Inherited from

Component.registerDomEvent

registerDomEvent(el, type, callback, options)

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

Registers an DOM event to be detached when unloading

Type Parameters

K extends keyof HTMLElementEventMap

Parameters

el: HTMLElement

type: K

callback

options?: boolean | AddEventListenerOptions

Returns

void

Inherited from

Component.registerDomEvent


registerEvent()

registerEvent(eventRef): void

Registers an event to be detached when unloading

Parameters

eventRef: EventRef

Returns

void

Inherited from

Component.registerEvent


registerInterval()

registerInterval(id): number

Registers an interval (from setInterval) to be cancelled when unloading Use setInterval instead of setInterval to avoid TypeScript confusing between NodeJS vs Browser API

Parameters

id: number

Returns

number

Inherited from

Component.registerInterval


registerScopeEvent()

registerScopeEvent(keymapEventHandler): void

Parameters

keymapEventHandler: KeymapEventHandler

Returns

void

Inherited from

Component.registerScopeEvent


reinit()

reinit(): void

Reinitialize the editor inside new container

Returns

void


removeChild()

removeChild<T>(component): T

Removes a child component, unloading it

Type Parameters

T extends Component

Parameters

component: T

Returns

T

Inherited from

Component.removeChild


reparent()

reparent(new_container): void

Move the editor into the new container

Parameters

new_container: HTMLElement

Returns

void


resetSyntaxHighlighting()

resetSyntaxHighlighting(): void

Bodge to reset the syntax highlighting

Returns

void


set()

set(data, clear): void

Set the state of the editor

Parameters

data: string

clear: boolean

Returns

void


toggleFoldFrontmatter()

toggleFoldFrontmatter(): void

Enables/disables frontmatter folding

Returns

void


toggleSource()

toggleSource(): void

Toggle source mode for editor and dispatch effect

Returns

void


triggerClickableToken()

triggerClickableToken(token, new_leaf): void

Execute functionality of token (open external link, open internal link in leaf, …)

Parameters

token: Token

new_leaf: boolean

Returns

void


unload()

unload(): void

Unload this component and its children

Returns

void

Inherited from

Component.unload


updateLinkPopup()

updateLinkPopup(): void

In mobile, creates a popover link on clickable token, if exists

Returns

void


updateOptions()

updateOptions(): void

Reconfigure/re-add all the dynamic extensions

Returns

void