UNPKG

@mieweb/wikigdrive

Version:

Google Drive to MarkDown synchronization

60 lines (59 loc) 2.88 kB
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 }; }