Options
All
  • Public
  • Public/Protected
  • All
Menu

ExportModule

Used to implement a module to export data from Joplin. View the demo plugin for an example.

In general, all the event handlers you'll need to implement take a context object as a first argument. This object will contain the export or import path as well as various optional properties, such as which notes or notebooks need to be exported.

To get a better sense of what it will contain it can be useful to print it using console.info(context).

Index

Properties

description

description: string

The description that will appear in the UI, for example in the menu item.

Optional fileExtensions

fileExtensions: string[]

The extensions of the files exported by your module. For example, it is ["htm", "html"] for the HTML module, and just ["jex"] for the JEX module.

format

format: string

The format to be exported, eg "enex", "jex", "json", etc.

isNoteArchive

isNoteArchive: boolean

Only applies to single file exporters or importers It tells whether the format can package multiple notes into one file. For example JEX or ENEX can, but HTML cannot.

target

Whether the module will export a single file or multiple files in a directory. It affects the open dialog that will be presented to the user when using your exporter.

Methods

onClose

  • Called when the export process is done.

    Parameters

onInit

  • Called when the export process starts.

    Parameters

onProcessItem

  • onProcessItem(context: ExportContext, itemType: number, item: any): Promise<void>
  • Called when an item needs to be processed. An "item" can be any Joplin object, such as a note, a folder, a notebook, etc.

    Parameters

onProcessResource

  • onProcessResource(context: ExportContext, resource: any, filePath: string): Promise<void>
  • Called when a resource file needs to be exported.

    Parameters