{%= apidocs("index.js") %}
See available options.
With the exception of front-matter, which must be the very first thing in the string, the opening delimiter of all other sections must be followed by a string to be used as the key
for the section.
Given the following string:
Content before the sections.
---
More content.
---one
title: One
---
This is the first section.
The following code:
console.log(sections(input));
Results in:
{
content: 'Content before the sections.\n\n---\n\nMore content.\n',
sections: [
{
key: 'one',
data: 'title: One',
content: '\nThis is the first section.'
}
]
}
Type: function
Default: undefined
Function to be called on each section after it's parsed from the string.
Example
Given the following string (foo.md
):
This is content before the sections.
---one
title: First section
---
This is section one.
---two
title: Second section
---
This is section two.
Using the following custom section_parse
function:
var fs = require('fs');
var path = require('path');
var yaml = require('js-yaml');
var sections = require('section-matter');
var str = fs.readFileSync('foo.md');
var options = {
section_parse: function(section) {
console.log(section)
section.key = 'section-' + section.key;
section.data = yaml.safeLoad(section.data);
}
};
var result = sections(str, options);
console.log(result);
Results in:
{
content: 'This is content before the sections.\n',
sections: [
{
key: 'section-one',
data: { title: 'First section' },
content: '\nThis is section one.\n'
},
{
key: 'section-two',
data: { title: 'Second section' },
content: '\nThis is section two.\n'
}
]
}
Type: string
Default: ---
Delimiter to use as the separator for sections. With the exception of front-matter, which must be the very first thing in the string, the opening delimiter of all other sections must be followed by a string to be used as the key
for the section.
Example
var input = '~~~\ntitle: bar\n~~~\n\nfoo\n~~~one\ntitle: One\n~~~\nThis is one';
console.log(sections(input, {section_delimiter: '~~~'}));
Results in:
{
content: '',
sections: [
{
key: '',
data: 'title: bar',
content: '\nfoo'
},
{
key: 'one',
data: 'title: One',
content: 'This is one'
}
]
}