|
|
преди 4 години | |
|---|---|---|
| .. | ||
| LICENSE | преди 4 години | |
| README.md | преди 4 години | |
| index.js | преди 4 години | |
| package.json | преди 4 години | |
Like front-matter, but supports multiple sections in a document.
Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your :heart: and support.
Install with npm:
$ npm install --save section-matter
Params
input {String|Buffer|Object}: If input is an object, it's content property must be a string or buffer.returns {Object}: Returns an object with a content string and an array of sections objects.Example
var sections = require('{%= name %}');
var result = sections(input, options);
// { content: 'Content before sections', sections: [] }
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'
}
]
}
You might also be interested in these projects:
Jon Schlinkert
Copyright © 2017, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on October 23, 2017.