Package Exports
- sections
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sections) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
sections

Prepend, append or replace "sections" in a markdown string.
Install
Install with npm:
$ npm i sections --saveUsage
This is meant to be fast and opinionated, and only works with ATX headings.
var sections = require('sections');API
.parse
Parses sections in a string of markdown and returns an object with two properties:
sections: an array of markdown "sections", delimited by ATX headings,result: the cumulative result of whatever is returned by the (optional) function that is passed as the second argument. Returns an object that looks something like this
Params
string{String}fn{Function}returns{Object}
Example
var fs = require('fs');
var readme = fs.readFileSync('example/basic.md', 'utf8');
var sections = require('sections');
console.log(sections.parse(readme));.format
Format sections. By default, if no filter function is passed, this:
- filters out empty sections
- fixes whitespace between sections
Params
str{String}: Markdown stringfn{Function}: optional filter functionreturns{String}
Example object
The parsed object that is returned looks something like this:
{ sections:
[ Section {
pos: 12,
count: 0,
string: '# sections \n',
heading: '# sections',
level: 1,
title: 'sections',
body: '' },
Section {
pos: 32,
count: 1,
string: '\n## Foo\nThis is foo\n',
heading: '## Foo',
level: 2,
title: 'Foo',
body: 'This is foo' },
Section {
pos: 52,
count: 2,
string: '\n## Bar\nThis is bar\n',
heading: '## Bar',
level: 2,
title: 'Bar',
body: 'This is bar' },
Section {
pos: 72,
count: 3,
string: '\n## Baz\nThis is baz\n',
heading: '## Baz',
level: 2,
title: 'Baz',
body: 'This is baz' } ],
result: '',
headings: [ 'sections', 'Foo', 'Bar', 'Baz' ] }Related projects
- gulp-format-md: Gulp plugin for beautifying markdown using pretty-remarkable. | homepage
- markdown-utils: Micro-utils for creating markdown snippets. | homepage
- remarkable: Markdown parser, done right. 100% Commonmark support, extensions, syntax plugins, high speed - all in… more | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
Generate readme and API documentation with verb:
$ npm i -d && npm run docsOr, if verb is installed globally:
$ verbRunning tests
Install dev dependencies:
$ npm i -d && npm testAuthor
Jon Schlinkert
License
Copyright © 2016 Jon Schlinkert Released under the MIT license.
This file was generated by verb, v0.9.0, on February 21, 2016.