StackEdit uses RequireJS for asynchronous module definition (AMD).
The core module is responsible for:
- creating the layout (using UI Layout)
- creating the editor (using PageDown)
- Loading/saving the settings
- detecting the offline status
The fileMgr module is responsible for:
- creating/deleting local files
- switching from one file to another
- setting/removing file's sync/publish location
The synchronizer module is responsible for:
- creating a new local file from a sync location (import)
- creating a new sync location from a local file (export)
- running 2 ways synchronization (upload and download) for all sync locations
The publisher module is responsible for:
- creating new publish locations
- updating existing publish locations
A provider module can be associated with the publisher module if it implements the following functions:
-
newPublishAttributes(): returns a newpublishAttributesobject in order to create a new publish location -
publish(): performs publishing of one publish location
A publishAttributes object is an object that describes a publish location. Attributes list differs from one provider to another except for the following attributes:
publishIndex: the unique index of the publish locationprovider: theprovidermodule that handles the publish locationformat: the publishing format for the publish location. It can be:markdownfor Markdown formathtmlfor HTML formattemplatefor template format
Written with StackEdit.
