diff options
author | 2022-01-04 15:09:10 -0500 | |
---|---|---|
committer | 2022-01-04 15:09:10 -0500 | |
commit | 27705888678a662c9222e7baa555448f5fc259ed (patch) | |
tree | 0bc5c97aa43f2ff87743cdef38d89b8b16db5125 /examples/with-markdown-plugins/add-classes.mjs | |
parent | eae959f1a7265f5fe7d220613353b4ae0ac97ffe (diff) | |
download | astro-27705888678a662c9222e7baa555448f5fc259ed.tar.gz astro-27705888678a662c9222e7baa555448f5fc259ed.tar.zst astro-27705888678a662c9222e7baa555448f5fc259ed.zip |
Remove rehype-add-classes (#2309)
* Remove rehype-add-classes
* Fix the markdown plugin test
Diffstat (limited to 'examples/with-markdown-plugins/add-classes.mjs')
-rw-r--r-- | examples/with-markdown-plugins/add-classes.mjs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/examples/with-markdown-plugins/add-classes.mjs b/examples/with-markdown-plugins/add-classes.mjs new file mode 100644 index 000000000..54879e55d --- /dev/null +++ b/examples/with-markdown-plugins/add-classes.mjs @@ -0,0 +1,16 @@ +import { selectAll } from 'hast-util-select'; + +export default additions => { + const adders = Object.entries(additions).map(adder); + return node => adders.forEach(a => a(node)); +}; + +const adder = ([selector, className]) => { + const writer = write(className); + return node => selectAll(selector, node).forEach(writer); +}; + +const write = className => ({ properties }) => { + if(!properties.className) properties.className = className; + else properties.className += ` ${className}`; +}; |