## Classes
Generates the blog index page
Generates an RSS feed XML file
Generates the static assets required for the blog
Generates a TXT version of the blog
Promise.<undefined>
* [.update(postLocation)](#Blog+update) ⇒ Promise.<undefined>
* [.publish()](#Blog+publish) ⇒ Promise.<undefined>
* [.publishArchive()](#Blog+publishArchive) ⇒ Promise.<undefined>
* [.addRemote()](#Blog+addRemote) ⇒ Promise.<undefined>
* [.removeRemote()](#Blog+removeRemote) ⇒ Promise.<undefined>
* [.syncDown()](#Blog+syncDown) ⇒ Promise.<undefined>
* [.syncUp()](#Blog+syncUp) ⇒ Promise.<undefined>
### new Blog(config)
The Blog class is the blog generator, it's in charge of adding and
updating posts, and handling the publishing.
| Param | Type | Description |
| --- | --- | --- |
| config | Blog.tConfiguration | the initialization options to extend the instance |
### blog.add(postLocation) ⇒ Promise.<undefined>
Shifts the blog posts, adds the passed file to slot 0, and
generates files.
**Kind**: instance method of [Blog](#Blog)
**Returns**: Promise.<undefined> - empty promise, returns no value
| Param | Type | Description |
| --- | --- | --- |
| postLocation | string | the path to the blog post file |
### blog.update(postLocation) ⇒ Promise.<undefined>
Update slot 0 with the passed gmi file, and generates files.
**Kind**: instance method of [Blog](#Blog)
**Returns**: Promise.<undefined> - empty promise, returns no value
| Param | Type | Description |
| --- | --- | --- |
| postLocation | string | the path to the blog post file |
### blog.publish() ⇒ Promise.<undefined>
Publishes the files to a static host.
**Kind**: instance method of [Blog](#Blog)
**Returns**: Promise.<undefined> - empty promise, returns no value
### blog.publishArchive() ⇒ Promise.<undefined>
Publishes the archive to a host using rsync. Currently assumes
gemlog archive.
**Kind**: instance method of [Blog](#Blog)
**Returns**: Promise.<undefined> - empty promise, returns no value
### blog.addRemote() ⇒ Promise.<undefined>
Adds a remote
**Kind**: instance method of [Blog](#Blog)
**Returns**: Promise.<undefined> - empty promise, returns no value
### blog.removeRemote() ⇒ Promise.<undefined>
Removes a remote
**Kind**: instance method of [Blog](#Blog)
**Returns**: Promise.<undefined> - empty promise, returns no value
### blog.syncDown() ⇒ Promise.<undefined>
Pulls the posts and archive from the remote
**Kind**: instance method of [Blog](#Blog)
**Returns**: Promise.<undefined> - empty promise, returns no value
### blog.syncUp() ⇒ Promise.<undefined>
Pushes the posts and archive to the remote
**Kind**: instance method of [Blog](#Blog)
**Returns**: Promise.<undefined> - empty promise, returns no value
## HTMLGenerator
Generates the blog index page
**Kind**: global variable
| Param | Type | Description |
| --- | --- | --- |
| source | string | the source directory |
| target | string | the target directory |
| posts | Array.<Blog.tPost> | the list of posts |
## RSSGenerator
Generates an RSS feed XML file
**Kind**: global variable
| Param | Type | Description |
| --- | --- | --- |
| source | string | the source directory |
| target | string | the target directory |
| posts | Array.<Blog.tPost> | the list of posts |
## StaticGenerator
Generates the static assets required for the blog
**Kind**: global variable
| Param | Type | Description |
| --- | --- | --- |
| source | string | the source directory |
| target | string | the target directory |
| posts | Array.<Blog.tPost> | the list of posts |
## TXTGenerator
Generates a TXT version of the blog
**Kind**: global variable
| Param | Type | Description |
| --- | --- | --- |
| source | string | the source directory |
| target | string | the target directory |
| posts | Array.<Blog.tPost> | the list of posts |