Divide headings into sections
npm install @rstacruz/rehype-sectionizeDivide headings into sections
:warning: This is a work in progress.
---
This package is available as a Rehype plugin.
API usage:
``js`
require("@rstacruz/rehype-sectionize").plugin(options)(root);
Usage with rehype:
`js
const rehype = require("rehype");
const sectionize = require("@rstacruz/rehype-sectionize").plugin;
rehype()
.use(sectionize, { level: "h2" })
.process(fs.readFileSync("hello.html"), (err, file) => {
if (err) throw err;
console.log(String(file));
});
`
Usage with gatsby-plugin-mdx:
`js`
// gatsby-config.js
module.exports = {
plugins: [
{
resolve: "gatsby-plugin-mdx",
options: {
rehypePlugins: [
[
require("@rstacruz/rehype-sectionize").plugin,
{
/ Options here /
level: "h2",
},
],
],
},
},
],
};
| Key | Default value | Description |
| ------------------------- | ------------------------------------------ | ------------------------------------------------------------------------ |
| level | "h2" | The heading to fix up |allowedTypes
| | { element: true, jsx: true, text: true } | What node types to allow to be placed inside a section |prelude.enabled
| | | |
| | true | If true, then elements before the first h2 is wrapped on its own section |prelude.tagName
| | "section" | Tag name used in the prelude section |prelude.properties
| | {} | Properties to add to the prelude section |section.tagName
| | | |
| | "section" | Tag name used in the section |section.properties
| | {} | Properties to add to the section |section.addHeadingClass
| | true | If true, class names from the H2 will be added to the section |body.enabled
| | | |
| | false | Enables the body wrapper |body.tagName
| | "div" | Tag name used in the body inside the section |body.properties
| | {} | Properties to add to the body wrapper |body.addHeadingClass
| | false` | If true, class names from the H2 will be added to the body element |
rehype-sectionize © 2020, Rico Sta. Cruz. Released under the [MIT] License.
Authored and maintained by Rico Sta. Cruz with help from contributors ([list][contributors]).
> ricostacruz.com ·
> GitHub @rstacruz ·
> Twitter @rstacruz


[mit]: http://mit-license.org/
[contributors]: http://github.com/rstacruz/rehype-sectionize/contributors