Skip to content

CustomCSS

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:18

_children: Component[]

Defined in: src/obsidian/augmentations/Components/Component.d.ts:13

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

Component._children


_events: EventRef[]

Defined in: src/obsidian/augmentations/Components/Component.d.ts:20

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

Component._events


_loaded: boolean

Defined in: src/obsidian/augmentations/Components/Component.d.ts:27

Whether the component and its children are loaded.

Component._loaded


app: App

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:22

Reference to App.


csscache: Map<string, string>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:27

Cache of CSS snippet filepath (relative to vault root) to CSS snippet contents.


enabledSnippets: Set<string>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:32

Set of enabled snippet, given by filenames.


extraStyleEls: HTMLStyleElement[]

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:37

Contains references to Style elements containing custom CSS snippets.


oldThemes: string[]

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:42

List of theme names not fully updated to post v1.0.0 theme guidelines.


queue: PromisedQueue

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:45

requestLoadSnippets: Debouncer<[], void>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:48

requestLoadTheme: Debouncer<[], void>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:51

requestReadThemes: Debouncer<[], void>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:54

snippets: string[]

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:59

List of snippets detected by Obsidian, given by their filenames.


theme: string

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:66

Currently active theme, given by its name.

themes: CustomCSSThemesRecord

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:71

Mapping of theme names to their manifest.


updates: CustomCSSUpdatesRecord

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:74

addChild<T>(component): T

Defined in: obsidian.d.ts:911

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

T extends Component

T

T

Component.addChild

addChild<T>(component): T

Defined in: src/obsidian/augmentations/Components/Component.d.ts:41

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

T extends Component

The type of the component to add.

T

The component to add.

T

The added component.

component.addChild(childComponent);

Component.addChild


boundRaw(themeName): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:77

string

void

checkForUpdate(themeName): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:84

Check whether a specific theme can be updated.

string

Name of the theme to check.

void


checkForUpdates(): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:89

Check all themes for updates.

void


disableTranslucency(): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:94

Disable translucency of application background.

void


downloadLegacyTheme(options): Promise<string>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:101

Fetch legacy theme CSS using the pre-v1.0.0 theme download pipeline.

DownloadLegacyThemeOptions

Promise<string>

String obsidian.css contents.


enableTranslucency(): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:106

Enable translucency of application background.

void


getManifest(repoUrl): Promise<ThemeManifest>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:113

Fetch a theme’s manifest using repository URL.

string

Promise<ThemeManifest>

getSnippetPath(snippetName): string

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:120

Convert snippet name to its corresponding filepath (relative to vault root).

string

string

String .obsidian/snippets/${snippetName}.css.


getSnippetsFolder(): string

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:125

Returns the folder path where snippets are stored (relative to vault root).

string


getThemeFolder(): string

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:130

Returns the folder path where themes are stored (relative to vault root).

string


getThemePath(themeName): string

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:137

Convert theme name to its corresponding filepath (relative to vault root).

string

string

String .obsidian/themes/${themeName}/theme.css.


hasUpdates(): boolean

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:142

Returns whether there are themes that can be updated.

boolean


installLegacyTheme(options): Promise<void>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:150

Install a legacy theme using the pre-v1.0.0 theme download pipeline
Will create a corresponding. dummy manifest for the theme.

InstallThemeOptions

Promise<void>

installTheme(options, version): Promise<void>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:155

Install a theme using the regular theme download pipeline.

InstallThemeOptions

string

Promise<void>


isThemeInstalled(themeName): boolean

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:160

Check whether a specific theme is installed by theme name.

string

boolean


load(): void

Defined in: obsidian.d.ts:889

Load this component and its children

void

Component.load

load(): void

Defined in: src/obsidian/augmentations/Components/Component.d.ts:48

Load this component and its children.

void

Component.load


loadCss(arg1): Promise<unknown>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:163

unknown

Promise<unknown>

loadData(): unknown

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:166

unknown

loadSnippets(): unknown

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:169

unknown

loadTheme(arg1): unknown

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:172

unknown

unknown

onload(): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:175

void

Component.onload


onRaw(themeName): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:178

string

void

onunload(): void

Defined in: obsidian.d.ts:906

Override this to unload your component

void

Component.onunload


readSnippets(): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:181

void

readThemes(): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:184

void

register(cb): void

Defined in: obsidian.d.ts:921

Registers a callback to be called when unloading

() => any

void

Component.register

register(cb): void

Defined in: src/obsidian/augmentations/Components/Component.d.ts:78

Registers a callback to be called when unloading.

() => any

The callback to be called when unloading.

void

component.register(() => {
console.log('MyComponent unloaded');
});

Component.register


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

Defined in: obsidian.d.ts:931

Registers an DOM event to be detached when unloading

K extends keyof WindowEventMap

Window

K

(this, ev) => any

boolean | AddEventListenerOptions

void

Component.registerDomEvent

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

Defined in: obsidian.d.ts:936

Registers an DOM event to be detached when unloading

K extends keyof DocumentEventMap

Document

K

(this, ev) => any

boolean | AddEventListenerOptions

void

Component.registerDomEvent

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

Defined in: obsidian.d.ts:941

Registers an DOM event to be detached when unloading

K extends keyof HTMLElementEventMap

HTMLElement

K

(this, ev) => any

boolean | AddEventListenerOptions

void

Component.registerDomEvent

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

Defined in: src/obsidian/augmentations/Components/Component.d.ts:96

Registers an DOM event to be detached when unloading.

K extends keyof DocumentEventMap

The type of the event to register.

Document

The element to register the event on.

K

The type of the event to register.

(this, ev) => any

The callback to be called when the event is triggered.

The options for the event.

boolean | AddEventListenerOptions

void

component.registerDomEvent(document, 'click', () => {
console.log('Document clicked');
});

Component.registerDomEvent

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

Defined in: src/obsidian/augmentations/Components/Component.d.ts:119

Registers an DOM event to be detached when unloading.

K extends keyof HTMLElementEventMap

The type of the event to register.

HTMLElement

The element to register the event on.

K

The type of the event to register.

(this, ev) => any

The callback to be called when the event is triggered.

The options for the event.

boolean | AddEventListenerOptions

void

component.registerDomEvent(document.body, 'click', () => {
console.log('Body clicked');
});

Component.registerDomEvent

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

Defined in: src/obsidian/augmentations/Components/Component.d.ts:142

Registers an DOM event to be detached when unloading.

K extends keyof WindowEventMap

The type of the event to register.

Window

The element to register the event on.

K

The type of the event to register.

(this, ev) => any

The callback to be called when the event is triggered.

The options for the event.

boolean | AddEventListenerOptions

void

component.registerDomEvent(window, 'click', () => {
console.log('Window clicked');
});

Component.registerDomEvent


registerEvent(eventRef): void

Defined in: obsidian.d.ts:926

Registers an event to be detached when unloading

EventRef

void

Component.registerEvent

registerEvent(eventRef): void

Defined in: src/obsidian/augmentations/Components/Component.d.ts:159

Registers an event to be detached when unloading.

EventRef

The event to be registered.

void

component.registerEvent(eventRef);

Component.registerEvent


registerInterval(id): number

Defined in: obsidian.d.ts:948

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

number

number

Component.registerInterval

registerInterval(id): number

Defined in: src/obsidian/augmentations/Components/Component.d.ts:175

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

number

The id of the interval to register.

number

The id of the interval.

component.registerInterval(window.setInterval(() => {
console.log('Interval');
}, 1000));

Component.registerInterval


registerScopeEvent(keymapEventHandler): void

Defined in: src/obsidian/augmentations/Components/Component.d.ts:181

KeymapEventHandler

void

Component.registerScopeEvent


removeChild<T>(component): T

Defined in: obsidian.d.ts:916

Removes a child component, unloading it

T extends Component

T

T

Component.removeChild

removeChild<T>(component): T

Defined in: src/obsidian/augmentations/Components/Component.d.ts:195

Removes a child component, unloading it.

T extends Component

The type of the component to remove.

T

The component to remove.

T

The removed component.

component.removeChild(childComponent);

Component.removeChild


removeTheme(themeName): Promise<void>

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:189

Remove a theme by theme name.

string

Promise<void>


setCssEnabledStatus(snippetName, enabled): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:194

Set the activation status of a snippet by snippet name.

string

boolean

void


setTheme(themeName): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:199

Set the active theme by theme name.

string

void


setTranslucency(translucency): void

Defined in: src/obsidian/internals/CustomCSS/CustomCSS.d.ts:204

Set the translucency of application background.

boolean

void


unload(): void

Defined in: obsidian.d.ts:900

Unload this component and its children

void

Component.unload

unload(): void

Defined in: src/obsidian/augmentations/Components/Component.d.ts:211

Override this to unload your component.

void

class MyComponent extends Component {
public override onunload(): void {
console.log('MyComponent unloaded');
}
}

Component.unload