new MarkdownFile(file)
- Description:
Represents a Markdown file.
This object cannot be instantiated directly, but is returned as a result of MarkdownServer.get() or MarkdownServer.save(). It
is also made available as themarkdownFile
view model object passed to view when used as a simple middleware.Members with name starting with an underscore (_) are designed to be used internally.
In typical usage, the parsed Markdown content (HTML) is available as an additional step (call to MarkdownFile.parseContent()),
rather than as a string property on the object. The reasoning behind this is for performance reasons, sometimes you do not need to get
at the HTML content straight away and need to apply some custom logic to specific front-matter variables (MarkdownFile.meta)
first, eg. implementing a "draft publishing" feature.However, in some situations (eg. when using the hbs view engine - the view doesn't support calling methods on the view model
object passed to it. In this case, when used as a middleware, you can set thepreParse
option to true and the parsed HTML content will
be available as theMarkdownFile.parsedContent
string property.
- Source:
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
_file |
string | Gets the full path to file on the physical file system. Designed to be used internally & is set from the file parameter value when instantiated. NOTE: This property is deleted and not available when used in simple middleware scenario as exposing it could potentially be a security risk. |
|
meta |
Object |
<nullable> |
Gets or sets the Javascript option that is serialized/de-serialized to/from the YAML front-matter in the file header. If set, the property will be serialized to YAML when MarkdownFile.saveChanges() is called. |
rawContent |
string | Gets or sets the raw Markdown text content of file |
|
_markedOptions |
Object |
<nullable> |
Gets the options that is passed to the marked module used for Markdown processing. This is a reference to MarkdownServer.markedOptions. |
stats |
Object |
<optional> |
Gets the Node fs.Stats object containing properties of file |
created |
Date |
<optional> |
Gets the date file was created |
modified |
Date |
<optional> |
Gets the date file was last modified |
size |
number |
<optional> |
Gets the size in bytes of file |
checksum |
string |
<optional> |
Gets the SHA1 checksum of file contents (can be used as an ETag) |
parsedContent |
string |
<optional> |
Gets the result from MarkdownFile.parseContent(). This property is only made available when used |
Parameters:
Name | Type | Description |
---|---|---|
file |
string | Full path to file on the physical file system. File does not have to exist, as MarkdownFile.saveChanges() can be called to create the file |
Methods
parseContent(callback) → {string}
Parameters:
Name | Type | Description |
---|---|---|
callback |
parseContentCallback |
Returns:
Converted HTML string
- Type
- string
saveChanges(callback) → {boolean}
- Description:
Writes changes back to file on disk, overwriting existing file if it exists
- Source:
Parameters:
Name | Type | Description |
---|---|---|
callback |
saveChangesCallback |
Returns:
Success indicator
- Type
- boolean
Type Definitions
parseContentCallback(errnullable, result)
- Description:
MarkdownFile.parseContent() callback
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
err |
Object |
<nullable> |
Errors if any |
result |
string | Converted HTML string |
saveChangesCallback(errnullable, result)
- Description:
MarkdownFile.saveChanges() method callback
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
err |
Object |
<nullable> |
Errors if any |
result |
boolean | Success indicator |