vue-files-preview-inno
Version:
A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.
1 lines • 4.35 kB
Source Map (JSON)
{"version":3,"file":"lheading.mjs","sources":["../../../../../../node_modules/markdown-it/lib/rules_block/lheading.mjs"],"sourcesContent":["// lheading (---, ===)\n\nexport default function lheading (state, startLine, endLine/*, silent */) {\n const terminatorRules = state.md.block.ruler.getRules('paragraph')\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false }\n\n const oldParentType = state.parentType\n state.parentType = 'paragraph' // use paragraph to match terminatorRules\n\n // jump line-by-line until empty one or EOF\n let level = 0\n let marker\n let nextLine = startLine + 1\n\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue }\n\n //\n // Check for underline in setext header\n //\n if (state.sCount[nextLine] >= state.blkIndent) {\n let pos = state.bMarks[nextLine] + state.tShift[nextLine]\n const max = state.eMarks[nextLine]\n\n if (pos < max) {\n marker = state.src.charCodeAt(pos)\n\n if (marker === 0x2D/* - */ || marker === 0x3D/* = */) {\n pos = state.skipChars(pos, marker)\n pos = state.skipSpaces(pos)\n\n if (pos >= max) {\n level = (marker === 0x3D/* = */ ? 1 : 2)\n break\n }\n }\n }\n }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue }\n\n // Some tags can terminate paragraph without empty line.\n let terminate = false\n for (let i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true\n break\n }\n }\n if (terminate) { break }\n }\n\n if (!level) {\n // Didn't find valid underline\n return false\n }\n\n const content = state.getLines(startLine, nextLine, state.blkIndent, false).trim()\n\n state.line = nextLine + 1\n\n const token_o = state.push('heading_open', 'h' + String(level), 1)\n token_o.markup = String.fromCharCode(marker)\n token_o.map = [startLine, state.line]\n\n const token_i = state.push('inline', '', 0)\n token_i.content = content\n token_i.map = [startLine, state.line - 1]\n token_i.children = []\n\n const token_c = state.push('heading_close', 'h' + String(level), -1)\n token_c.markup = String.fromCharCode(marker)\n\n state.parentType = oldParentType\n\n return true\n}\n"],"names":["lheading","state","startLine","endLine","terminatorRules","oldParentType","level","marker","nextLine","pos","max","terminate","i","l","content","token_o","token_i","token_c"],"mappings":"AAEe,SAASA,EAAUC,GAAOC,GAAWC,GAAsB;AACxE,QAAMC,IAAkBH,EAAM,GAAG,MAAM,MAAM,SAAS,WAAW;AAGjE,MAAIA,EAAM,OAAOC,CAAS,IAAID,EAAM,aAAa;AAAK,WAAO;AAE7D,QAAMI,IAAgBJ,EAAM;AAC5B,EAAAA,EAAM,aAAa;AAGnB,MAAIK,IAAQ,GACRC,GACAC,IAAWN,IAAY;AAE3B,SAAOM,IAAWL,KAAW,CAACF,EAAM,QAAQO,CAAQ,GAAGA,KAAY;AAGjE,QAAIP,EAAM,OAAOO,CAAQ,IAAIP,EAAM,YAAY;AAAK;AAKpD,QAAIA,EAAM,OAAOO,CAAQ,KAAKP,EAAM,WAAW;AAC7C,UAAIQ,IAAMR,EAAM,OAAOO,CAAQ,IAAIP,EAAM,OAAOO,CAAQ;AACxD,YAAME,IAAMT,EAAM,OAAOO,CAAQ;AAEjC,UAAIC,IAAMC,MACRH,IAASN,EAAM,IAAI,WAAWQ,CAAG,IAE7BF,MAAW,MAAeA,MAAW,QACvCE,IAAMR,EAAM,UAAUQ,GAAKF,CAAM,GACjCE,IAAMR,EAAM,WAAWQ,CAAG,GAEtBA,KAAOC,KAAK;AACd,QAAAJ,IAASC,MAAW,KAAc,IAAI;AACtC;AAAA,MACF;AAAA,IAGN;AAGA,QAAIN,EAAM,OAAOO,CAAQ,IAAI;AAAK;AAGlC,QAAIG,IAAY;AAChB,aAASC,IAAI,GAAGC,IAAIT,EAAgB,QAAQQ,IAAIC,GAAGD;AACjD,UAAIR,EAAgBQ,CAAC,EAAEX,GAAOO,GAAUL,GAAS,EAAI,GAAG;AACtD,QAAAQ,IAAY;AACZ;AAAA,MACF;AAEF,QAAIA;AAAa;AAAA,EACnB;AAEA,MAAI,CAACL;AAEH,WAAO;AAGT,QAAMQ,IAAUb,EAAM,SAASC,GAAWM,GAAUP,EAAM,WAAW,EAAK,EAAE,KAAI;AAEhF,EAAAA,EAAM,OAAOO,IAAW;AAExB,QAAMO,IAAad,EAAM,KAAK,gBAAgB,MAAM,OAAOK,CAAK,GAAG,CAAC;AACpE,EAAAS,EAAQ,SAAW,OAAO,aAAaR,CAAM,GAC7CQ,EAAQ,MAAW,CAACb,GAAWD,EAAM,IAAI;AAEzC,QAAMe,IAAaf,EAAM,KAAK,UAAU,IAAI,CAAC;AAC7C,EAAAe,EAAQ,UAAWF,GACnBE,EAAQ,MAAW,CAACd,GAAWD,EAAM,OAAO,CAAC,GAC7Ce,EAAQ,WAAW,CAAA;AAEnB,QAAMC,IAAahB,EAAM,KAAK,iBAAiB,MAAM,OAAOK,CAAK,GAAG,EAAE;AACtE,SAAAW,EAAQ,SAAW,OAAO,aAAaV,CAAM,GAE7CN,EAAM,aAAaI,GAEZ;AACT;","x_google_ignoreList":[0]}