Options
All
  • Public
  • Public/Protected
  • All
Menu

Joplin Plugin API Documentation

Index

Enumerations

Classes

Interfaces

Type aliases

Variables

Functions

Type aliases

ActivationCheckCallback

ActivationCheckCallback: () => Promise<boolean>

Type declaration

    • (): Promise<boolean>

ButtonId

ButtonId: string

ChangeHandler

ChangeHandler: (event: ChangeEvent) => void

Type declaration

ColumnName

ColumnName: typeof columnNames[number]

EditorCommandCallback

EditorCommandCallback: (...args: any[]) => any

Type declaration

    • (...args: any[]): any
    • Parameters

      • Rest ...args: any[]

FilterHandler

FilterHandler<T>: (object: T) => Promise<T>

Type parameters

  • T

Type declaration

    • (object: T): Promise<T>
    • Parameters

      • object: T

Handle

Handle: string

ItemChangeHandler

ListRendererDatabaseDependency

ListRendererDatabaseDependency: "folder.created_time" | "folder.deleted_time" | "folder.encryption_applied" | "folder.encryption_cipher_text" | "folder.icon" | "folder.id" | "folder.is_shared" | "folder.master_key_id" | "folder.parent_id" | "folder.share_id" | "folder.title" | "folder.updated_time" | "folder.user_created_time" | "folder.user_data" | "folder.user_updated_time" | "folder.type_" | "note.altitude" | "note.application_data" | "note.author" | "note.body" | "note.conflict_original_id" | "note.created_time" | "note.deleted_time" | "note.encryption_applied" | "note.encryption_cipher_text" | "note.id" | "note.is_conflict" | "note.is_shared" | "note.is_todo" | "note.latitude" | "note.longitude" | "note.markup_language" | "note.master_key_id" | "note.order" | "note.parent_id" | "note.share_id" | "note.source" | "note.source_application" | "note.source_url" | "note.title" | "note.todo_completed" | "note.todo_due" | "note.updated_time" | "note.user_created_time" | "note.user_data" | "note.user_updated_time" | "note.type_"

ListRendererDependency

ListRendererDependency: ListRendererDatabaseDependency | "item.index" | "item.selected" | "item.size.height" | "item.size.width" | "note.folder.title" | "note.isWatched" | "note.tags" | "note.todoStatusText" | "note.titleHtml"

Most of these are the built-in note properties, such as note.title, note.todo_completed, etc. complemented with special properties such as note.isWatched, to know if a note is currently opened in the external editor, and note.tags to get the list tags associated with the note.

The note.todoStatusText property is a localised description of the to-do status (e.g. "to-do, incomplete"). If you include an <input type='checkbox' ... /> for to-do items that would otherwise be unlabelled, consider adding note.todoStatusText as the checkbox's aria-label.

Item properties

The item.* properties are specific to the rendered item. The most important being item.selected, which you can use to display the selected note in a different way.

ListRendererItemValueTemplates

ListRendererItemValueTemplates: Record<string, string>

NoteListColumns

NoteListColumns: NoteListColumn[]

OnChangeHandler

OnChangeHandler: (event: OnChangeEvent) => Promise<void>

Type declaration

OnClickHandler

OnClickHandler: (event: OnClickEvent) => Promise<void>

Type declaration

OnRenderNoteHandler

OnRenderNoteHandler: (props: any) => Promise<RenderNoteView>

Type declaration

Path

Path: string[]

An array of at least one element and at most three elements.

  • [0]: Resource name (eg. "notes", "folders", "tags", etc.)
  • [1]: (Optional) Resource ID.
  • [2]: (Optional) Resource link.

PostMessageHandler

PostMessageHandler: (message: any) => Promise<any>

Type declaration

    • (message: any): Promise<any>
    • Parameters

      • message: any

RenderNoteView

RenderNoteView: Record<string, any>

ResourceChangeHandler

SyncStartHandler

SyncStartHandler: () => void

Type declaration

    • (): void

UpdateCallback

UpdateCallback: () => Promise<void>

Type declaration

    • (): Promise<void>

ViewHandle

ViewHandle: string

VisibleHandler

VisibleHandler: () => Promise<void>

Type declaration

    • (): Promise<void>

WorkspaceEventHandler

WorkspaceEventHandler<EventType>: (event: EventType) => void

Type parameters

  • EventType

Type declaration

    • (event: EventType): void
    • Parameters

      • event: EventType

Variables

Const columnNames

columnNames: ["note.folder.title", "note.is_todo", "note.latitude", "note.longitude", "note.source_url", "note.tags", "note.title", "note.todo_completed", "note.todo_due", "note.user_created_time", "note.user_updated_time"] = ['note.folder.title','note.is_todo','note.latitude','note.longitude','note.source_url','note.tags','note.title','note.todo_completed','note.todo_due','note.user_created_time','note.user_updated_time',] as const

Const defaultWidth

defaultWidth: 100 = 100

Const logger

logger: LoggerWrapper = Logger.create('joplin.plugins')

Const registerSettingAllowedPluginIds

registerSettingAllowedPluginIds: string[] = ['b53da1f6-868c-468d-b60c-2897a27166ac','com.andrejilderda.macOSTheme','com.export-to-ssg.aman-d-1-n-only','com.github.BeatLink.joplin-plugin-untagged','com.github.joplin.kanban','com.github.marc0l92.joplin-plugin-jira-issue','com.github.uphy.PlantUmlPlugin','com.gitlab.BeatLink.joplin-plugin-repeating-todos','com.joplin_plugin.nlr','com.lki.homenote','com.plugin.randomNotePlugin','com.shantanugoel.JoplinCMLineNumbersPlugin','com.whatever.inline-tags','com.whatever.quick-links','com.xUser5000.bibtex','cx.evermeet.tessus.menu-shortcut-toolbar','fd117a99-b165-4824-893c-5825439a842d','io.github.jackgruber.backup','io.github.jackgruber.combine-notes','io.github.jackgruber.copytags','io.github.jackgruber.hotfolder','io.github.jackgruber.note-overview','io.treymo.LinkGraph','joplin-insert-date','joplin-plugin-conflict-resolution','joplin.plugin.ambrt.backlinksToNote','joplin.plugin.ambrt.convertToNewNote','joplin.plugin.ambrt.copyNoteLink','joplin.plugin.ambrt.embedSearch','joplin.plugin.ambrt.fold-cm','joplin.plugin.ambrt.goToItem','joplin.plugin.anki-sync','joplin.plugin.benji.favorites','joplin.plugin.benji.persistentLayout','joplin.plugin.benji.quick-move','joplin.plugin.forcewake.tags-generator','joplin.plugin.note.tabs','joplin.plugin.quick.html.tags','joplin.plugin.spoiler.cards','joplin.plugin.templates','net.rmusin.joplin-table-formatter','net.rmusin.resource-search','org.joplinapp.plugins.AbcSheetMusic','org.joplinapp.plugins.admonition','org.joplinapp.plugins.ToggleSidebars','osw.joplin.markdowncalc','outline','plugin.azamahJunior.note-statistics','plugin.calebjohn.MathMode','plugin.calebjohn.rich-markdown',]

Functions

Const defaultListColumns

Const getResourcePath

  • getResourcePath(resourceId: string): Promise<string>
  • Parameters

    • resourceId: string

isContextMenuItemLocation