de22060b9e374f2164ab88869f4156f0b478b1d3919c8bb207c5b767531105ba.json 5.5 KB

1
  1. {"ast":null,"code":"// heading (#, ##, ...)\n\nimport { isSpace } from '../common/utils.mjs';\nexport default function heading(state, startLine, endLine, silent) {\n let pos = state.bMarks[startLine] + state.tShift[startLine];\n let max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) {\n return false;\n }\n let ch = state.src.charCodeAt(pos);\n if (ch !== 0x23 /* # */ || pos >= max) {\n return false;\n }\n\n // count heading level\n let level = 1;\n ch = state.src.charCodeAt(++pos);\n while (ch === 0x23 /* # */ && pos < max && level <= 6) {\n level++;\n ch = state.src.charCodeAt(++pos);\n }\n if (level > 6 || pos < max && !isSpace(ch)) {\n return false;\n }\n if (silent) {\n return true;\n }\n\n // Let's cut tails like ' ### ' from the end of string\n\n max = state.skipSpacesBack(max, pos);\n const tmp = state.skipCharsBack(max, 0x23, pos); // #\n if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {\n max = tmp;\n }\n state.line = startLine + 1;\n const token_o = state.push('heading_open', 'h' + String(level), 1);\n token_o.markup = '########'.slice(0, level);\n token_o.map = [startLine, state.line];\n const token_i = state.push('inline', '', 0);\n token_i.content = state.src.slice(pos, max).trim();\n token_i.map = [startLine, state.line];\n token_i.children = [];\n const token_c = state.push('heading_close', 'h' + String(level), -1);\n token_c.markup = '########'.slice(0, level);\n return true;\n}","map":{"version":3,"names":["isSpace","heading","state","startLine","endLine","silent","pos","bMarks","tShift","max","eMarks","sCount","blkIndent","ch","src","charCodeAt","level","skipSpacesBack","tmp","skipCharsBack","line","token_o","push","String","markup","slice","map","token_i","content","trim","children","token_c"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/markdown-it/lib/rules_block/heading.mjs"],"sourcesContent":["// heading (#, ##, ...)\n\nimport { isSpace } from '../common/utils.mjs'\n\nexport default function heading (state, startLine, endLine, silent) {\n let pos = state.bMarks[startLine] + state.tShift[startLine]\n let max = state.eMarks[startLine]\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 let ch = state.src.charCodeAt(pos)\n\n if (ch !== 0x23/* # */ || pos >= max) { return false }\n\n // count heading level\n let level = 1\n ch = state.src.charCodeAt(++pos)\n while (ch === 0x23/* # */ && pos < max && level <= 6) {\n level++\n ch = state.src.charCodeAt(++pos)\n }\n\n if (level > 6 || (pos < max && !isSpace(ch))) { return false }\n\n if (silent) { return true }\n\n // Let's cut tails like ' ### ' from the end of string\n\n max = state.skipSpacesBack(max, pos)\n const tmp = state.skipCharsBack(max, 0x23, pos) // #\n if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {\n max = tmp\n }\n\n state.line = startLine + 1\n\n const token_o = state.push('heading_open', 'h' + String(level), 1)\n token_o.markup = '########'.slice(0, level)\n token_o.map = [startLine, state.line]\n\n const token_i = state.push('inline', '', 0)\n token_i.content = state.src.slice(pos, max).trim()\n token_i.map = [startLine, state.line]\n token_i.children = []\n\n const token_c = state.push('heading_close', 'h' + String(level), -1)\n token_c.markup = '########'.slice(0, level)\n\n return true\n}\n"],"mappings":"AAAA;;AAEA,SAASA,OAAO,QAAQ,qBAAqB;AAE7C,eAAe,SAASC,OAAOA,CAAEC,KAAK,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAE;EAClE,IAAIC,GAAG,GAAGJ,KAAK,CAACK,MAAM,CAACJ,SAAS,CAAC,GAAGD,KAAK,CAACM,MAAM,CAACL,SAAS,CAAC;EAC3D,IAAIM,GAAG,GAAGP,KAAK,CAACQ,MAAM,CAACP,SAAS,CAAC;;EAEjC;EACA,IAAID,KAAK,CAACS,MAAM,CAACR,SAAS,CAAC,GAAGD,KAAK,CAACU,SAAS,IAAI,CAAC,EAAE;IAAE,OAAO,KAAK;EAAC;EAEnE,IAAIC,EAAE,GAAIX,KAAK,CAACY,GAAG,CAACC,UAAU,CAACT,GAAG,CAAC;EAEnC,IAAIO,EAAE,KAAK,IAAI,YAAWP,GAAG,IAAIG,GAAG,EAAE;IAAE,OAAO,KAAK;EAAC;;EAErD;EACA,IAAIO,KAAK,GAAG,CAAC;EACbH,EAAE,GAAGX,KAAK,CAACY,GAAG,CAACC,UAAU,CAAC,EAAET,GAAG,CAAC;EAChC,OAAOO,EAAE,KAAK,IAAI,YAAWP,GAAG,GAAGG,GAAG,IAAIO,KAAK,IAAI,CAAC,EAAE;IACpDA,KAAK,EAAE;IACPH,EAAE,GAAGX,KAAK,CAACY,GAAG,CAACC,UAAU,CAAC,EAAET,GAAG,CAAC;EAClC;EAEA,IAAIU,KAAK,GAAG,CAAC,IAAKV,GAAG,GAAGG,GAAG,IAAI,CAACT,OAAO,CAACa,EAAE,CAAE,EAAE;IAAE,OAAO,KAAK;EAAC;EAE7D,IAAIR,MAAM,EAAE;IAAE,OAAO,IAAI;EAAC;;EAE1B;;EAEAI,GAAG,GAAGP,KAAK,CAACe,cAAc,CAACR,GAAG,EAAEH,GAAG,CAAC;EACpC,MAAMY,GAAG,GAAGhB,KAAK,CAACiB,aAAa,CAACV,GAAG,EAAE,IAAI,EAAEH,GAAG,CAAC,EAAC;EAChD,IAAIY,GAAG,GAAGZ,GAAG,IAAIN,OAAO,CAACE,KAAK,CAACY,GAAG,CAACC,UAAU,CAACG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE;IACvDT,GAAG,GAAGS,GAAG;EACX;EAEAhB,KAAK,CAACkB,IAAI,GAAGjB,SAAS,GAAG,CAAC;EAE1B,MAAMkB,OAAO,GAAInB,KAAK,CAACoB,IAAI,CAAC,cAAc,EAAE,GAAG,GAAGC,MAAM,CAACP,KAAK,CAAC,EAAE,CAAC,CAAC;EACnEK,OAAO,CAACG,MAAM,GAAG,UAAU,CAACC,KAAK,CAAC,CAAC,EAAET,KAAK,CAAC;EAC3CK,OAAO,CAACK,GAAG,GAAM,CAACvB,SAAS,EAAED,KAAK,CAACkB,IAAI,CAAC;EAExC,MAAMO,OAAO,GAAMzB,KAAK,CAACoB,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;EAC9CK,OAAO,CAACC,OAAO,GAAI1B,KAAK,CAACY,GAAG,CAACW,KAAK,CAACnB,GAAG,EAAEG,GAAG,CAAC,CAACoB,IAAI,CAAC,CAAC;EACnDF,OAAO,CAACD,GAAG,GAAQ,CAACvB,SAAS,EAAED,KAAK,CAACkB,IAAI,CAAC;EAC1CO,OAAO,CAACG,QAAQ,GAAG,EAAE;EAErB,MAAMC,OAAO,GAAI7B,KAAK,CAACoB,IAAI,CAAC,eAAe,EAAE,GAAG,GAAGC,MAAM,CAACP,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;EACrEe,OAAO,CAACP,MAAM,GAAG,UAAU,CAACC,KAAK,CAAC,CAAC,EAAET,KAAK,CAAC;EAE3C,OAAO,IAAI;AACb","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}