21 lines
541 B
JavaScript
21 lines
541 B
JavaScript
|
import getReadingTime from 'reading-time';
|
||
|
import { toString } from 'mdast-util-to-string';
|
||
|
import { visit } from 'unist-util-visit';
|
||
|
|
||
|
export function rehypeReadingTime() {
|
||
|
return function (tree, { data }) {
|
||
|
const readingTime = getReadingTime(toString(tree));
|
||
|
data.astro.frontmatter.injectedReadingTime = readingTime;
|
||
|
};
|
||
|
}
|
||
|
|
||
|
export function remarkTitle() {
|
||
|
return function (tree, { data }) {
|
||
|
visit(tree, ['heading'], (node) => {
|
||
|
if (node.depth === 1) {
|
||
|
data.astro.frontmatter.title = toString(node.children);
|
||
|
}
|
||
|
});
|
||
|
};
|
||
|
}
|