Skip to content

MarkdownBaseView

Unofficial

Base interface for markdown editor views, providing CodeMirror integration and editing capabilities.

Import:

import type { MarkdownBaseView } from '@obsidian-typings/obsidian-public-latest';

Signature:

export interface MarkdownBaseView extends Component

Extends: Component

Constructor

new MarkdownBaseView()

Constructor.

To extract the constructor type, use ExtractConstructor<Component>.

Properties

Property Type Description
_children Component[] Child Components attached to current component, will be unloaded on unloading parent component.
(Inherited from Component)
_events EventRef[] Events that are attached to the current component, will be detached on unloading parent component.
(Inherited from Component)
_loaded boolean Whether the component and its children are loaded.
(Inherited from Component)
app App Reference to the app.
cleanupLivePreview (() => void) | null Callback to clear all elements.
clipboardManager ClipboardManager Manager that handles pasting text, html and images into the editor.
cm EditorView Codemirror editor instance.
cmInit boolean Whether CodeMirror is initialized.
containerEl HTMLElement Container element of the editor view.
cursorPopupEl HTMLElement | null Popup element for internal link.
editor? Editor Obsidian editor instance.
editorEl HTMLElement Element in which the CodeMirror editor resides.
editorSuggest EditorSuggests Editor suggester for autocompleting files, links, aliases, etc.
livePreviewPlugin Extension[] The CodeMirror plugins that handle the rendering of, and interaction with Obsidian's Markdown.
localExtensions Extension[] Local (always active) extensions for the editor.
owner MarkdownFileInfo Controller of the editor view.
sourceMode boolean Whether live preview rendering is disabled.
tableCell null | TableCellEditor Reference to editor attached to table cell, if any.

Methods

Method Returns Description
addChild(component) T Adds a child component, loading it if this component is loaded.
(Inherited from Component)
applyFoldInfo(info) void Apply fold history to editor.
buildLocalExtensions() Extension[] Constructs local (always active) extensions for the editor.
clear() void Cleanup live preview, remove and then re-add all editor extensions.
destroy() void Clean up live preview, remove all extensions, destroy editor.
destroyTableCell(cell?) void Removes specified tablecell.
editTableCell(cell, newCell) TableCellEditor Edit a specified table cell, creating a table cell editor.
get() string Get the current editor document as a string.
getDynamicExtensions() Extension[] Constructs extensions for the editor based on user settings.
getFoldInfo() FoldInfo | null Get the current folds of the editor.
getLocalExtensions() unknown Builds all local extensions and assigns to this.localExtensions.
load() void Load this component and its children.
(Inherited from Component)
onContextMenu(event, x) Promise<void> Creates menu on right mouse click.
onEditorClick(event, element?) void Execute click functionality on token on mouse click.
onEditorDragStart(event) void Execute drag functionality on drag start.
onEditorLinkMouseover(event, target) void Execute hover functionality on mouse over event.
onload() void Override this to load your component.
(Inherited from Component)
onMenu(event) void Execute context menu functionality on right mouse click.
onResize() void Reposition suggest and scroll position on resize.
onunload() void Override this to unload your component
(Inherited from Component)
onUpdate(update, changed) void Execute functionality on CM editor state update.
register(cb) void Registers a callback to be called when unloading.
(Inherited from Component)
registerDomEvent(el, type, callback, options?) void Registers a DOM event to be detached when unloading.
(Inherited from Component)
registerDomEvent(el, type, callback, options?) void Registers a DOM event to be detached when unloading
(Inherited from Component)
registerDomEvent(el, type, callback, options?) void Registers a DOM event to be detached when unloading
(Inherited from Component)
registerEvent(eventRef) void Registers an event to be detached when unloading.
(Inherited from Component)
registerInterval(id) number Registers an interval (from setInterval) to be cancelled when unloading. Use window.setInterval instead of setInterval to avoid TypeScript confusing between NodeJS vs Browser API
(Inherited from Component)
registerScopeEvent(keymapEventHandler) void Register a scope keymap event handler to be removed on unload.
(Inherited from Component)
reinit() void Reinitialize the editor inside new container.
removeChild(component) T Removes a child component, unloading it.
(Inherited from Component)
reparent(newContainer) void Move the editor into the new container.
resetSyntaxHighlighting() void Bodge to reset the syntax highlighting.
saveHistory() void Save history of file and data (for caching, for faster reopening of same file in editor).
set(data, clear) void Set the state of the editor.
toggleFoldFrontmatter() void Enables/disables frontmatter folding.
toggleSource() void Toggle source mode for editor and dispatch effect.
triggerClickableToken(token, newLeaf) void Execute functionality of token (open external link, open internal link in leaf, ...).
unload() void Override this to unload your component.
(Inherited from Component)
updateEvent() (update: ViewUpdate) => void Callback for onUpdate functionality added as an extension.
updateLinkPopup() void In mobile, creates a popover link on clickable token, if exists.
updateOptions() void Reconfigure/re-add all the dynamic extensions.

Links to this page: