@mieweb/wikigdrive
Version:
Google Drive to MarkDown synchronization
60 lines (59 loc) • 2.88 kB
JavaScript
import process from 'node:process';
import { dump } from '../markdownNodesUtils.js';
import { processListsAndNumbering } from './processListsAndNumbering.js';
import { postProcessHeaders } from './postProcessHeaders.js';
import { removePreWrappingAroundMacros } from './removePreWrappingAroundMacros.js';
import { removeInsideDoubleCodeBegin } from './removeInsideDoubleCodeBegin.js';
import { fixSpacesInsideInlineFormatting } from './fixSpacesInsideInlineFormatting.js';
import { fixBoldItalic } from './fixBoldItalic.js';
import { hideSuggestedChanges } from './hideSuggestedChanges.js';
import { trimParagraphs } from './trimParagraphs.js';
import { addEmptyLinesAfterParas } from './addEmptyLinesAfterParas.js';
import { addEmptyLines } from './addEmptyLines.js';
import { removeTdParas } from './removeTdParas.js';
import { mergeTexts } from './mergeTexts.js';
import { rewriteHeaders } from './rewriteHeaders.js';
import { removeMarkdownMacro } from './removeMarkdownMacro.js';
import { postProcessPreMacros } from './postProcessPreMacros.js';
import { mergeParagraphs } from './mergeParagraphs.js';
import { convertToc } from './convertToc.js';
import { removeEmptyTags } from './removeEmptyTags.js';
import { removeExcessiveLines } from './removeExcessiveLines.js';
import { applyRewriteRules } from './applyRewriteRules.js';
import { convertMathMl } from './convertMathMl.js';
import { unwrapEmptyPre } from './unwrapEmptyPre.js';
import { convertGoogleUrls } from './convertGoogleUrls.js';
import { fixIdLinks } from './fixIdLinks.js';
import { convertCodeBlockParagraphs } from './convertCodeBlockParagraphs.js';
export async function postProcess(chunks, rewriteRules) {
convertToc(chunks);
processListsAndNumbering(chunks);
postProcessHeaders(chunks); // @TODO: no test
fixSpacesInsideInlineFormatting(chunks);
await fixBoldItalic(chunks);
hideSuggestedChanges(chunks);
convertCodeBlockParagraphs(chunks);
convertMathMl(chunks);
trimParagraphs(chunks); // @TODO: no test
const { headersMap, invisibleBookmarks } = await rewriteHeaders(chunks);
trimParagraphs(chunks); // @TODO: no test
addEmptyLinesAfterParas(chunks); // @TODO: too many tests
removeTdParas(chunks); // Requires: addEmptyLinesAfterParas
mergeTexts(chunks);
mergeParagraphs(chunks);
unwrapEmptyPre(chunks);
removePreWrappingAroundMacros(chunks);
await removeMarkdownMacro(chunks);
postProcessPreMacros(chunks);
removeInsideDoubleCodeBegin(chunks);
removeEmptyTags(chunks); // @TODO: no test
addEmptyLines(chunks); // @TODO: too many tests
fixIdLinks(chunks);
removeExcessiveLines(chunks); // @TODO: too many tests
convertGoogleUrls(chunks);
applyRewriteRules(chunks, rewriteRules);
if (process.env.DEBUG_COLORS) {
dump(chunks.body);
}
return { headersMap, invisibleBookmarks };
}