mirror of
https://github.com/LukeHagar/unicorn-utterances.git
synced 2025-12-10 04:22:06 +00:00
29 lines
686 B
JavaScript
29 lines
686 B
JavaScript
const flatFilter = require("unist-util-flat-filter");
|
|
|
|
const addInlineCount = ({ markdownAST, actions, markdownNode, ...props }) => {
|
|
const { createNodeField } = actions;
|
|
const inlineCodeAST = flatFilter(
|
|
markdownAST,
|
|
node => node.type === "inlineCode"
|
|
);
|
|
let inlineWords = 0;
|
|
if (inlineCodeAST && inlineCodeAST.children) {
|
|
inlineWords = inlineCodeAST.children.reduce(
|
|
(numberOfInline, inlineCodeNode) => {
|
|
const { value } = inlineCodeNode;
|
|
const words = value.split(/\b/g);
|
|
return numberOfInline + words.length;
|
|
},
|
|
0
|
|
);
|
|
}
|
|
|
|
createNodeField({
|
|
name: `inlineCount`,
|
|
node: markdownNode,
|
|
value: inlineWords
|
|
});
|
|
};
|
|
|
|
module.exports = addInlineCount;
|