2.2 KiB
2.2 KiB
Developer guide
Architecture
StackEdit uses RequireJS for asynchronous module definition (AMD).
core
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
fileMgr
The fileMgr module is responsible for:
- creating/deleting local files
- switching from one file to another
- setting/removing file's sync/publish location
synchronizer
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
publisher
The publisher module is responsible for:
- creating new publish locations
- updating existing publish locations
publisher's providers
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 locationpublish(): performs publishing of one publish location
publishAttributes
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
provider
Written with StackEdit.
