@mieweb/wikigdrive
Version:
Google Drive to MarkDown synchronization
23 lines (22 loc) • 837 B
JavaScript
import { walkRecursiveSync } from '../markdownNodesUtils.js';
// @TODO: no test
export function postProcessHeaders(markdownChunks) {
walkRecursiveSync(markdownChunks.body, (chunk, ctx) => {
if (chunk.isTag && ['H1', 'H2', 'H3', 'H4'].indexOf(chunk.tag) > -1) {
if (chunk.children.length === 0) {
chunk.parent.children.splice(ctx.nodeIdx, 1);
}
return;
}
if (chunk.isTag && chunk.tag === 'P') {
if (chunk.children.length === 1) {
const preChunk = chunk.children[0];
if (preChunk.isTag && preChunk.tag === 'PRE') {
preChunk.parent = chunk.parent;
chunk.parent.children.splice(ctx.nodeIdx, 1, preChunk);
}
}
return;
}
});
}