UNPKG

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 3.77 kB
{"version":3,"file":"autolink.mjs","sources":["../../../../../../node_modules/markdown-it/lib/rules_inline/autolink.mjs"],"sourcesContent":["// Process autolinks '<protocol:...>'\n\n/* eslint max-len:0 */\nconst EMAIL_RE = /^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/\n/* eslint-disable-next-line no-control-regex */\nconst AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\\x00-\\x20]*)$/\n\nexport default function autolink (state, silent) {\n let pos = state.pos\n\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false }\n\n const start = state.pos\n const max = state.posMax\n\n for (;;) {\n if (++pos >= max) return false\n\n const ch = state.src.charCodeAt(pos)\n\n if (ch === 0x3C /* < */) return false\n if (ch === 0x3E /* > */) break\n }\n\n const url = state.src.slice(start + 1, pos)\n\n if (AUTOLINK_RE.test(url)) {\n const fullUrl = state.md.normalizeLink(url)\n if (!state.md.validateLink(fullUrl)) { return false }\n\n if (!silent) {\n const token_o = state.push('link_open', 'a', 1)\n token_o.attrs = [['href', fullUrl]]\n token_o.markup = 'autolink'\n token_o.info = 'auto'\n\n const token_t = state.push('text', '', 0)\n token_t.content = state.md.normalizeLinkText(url)\n\n const token_c = state.push('link_close', 'a', -1)\n token_c.markup = 'autolink'\n token_c.info = 'auto'\n }\n\n state.pos += url.length + 2\n return true\n }\n\n if (EMAIL_RE.test(url)) {\n const fullUrl = state.md.normalizeLink('mailto:' + url)\n if (!state.md.validateLink(fullUrl)) { return false }\n\n if (!silent) {\n const token_o = state.push('link_open', 'a', 1)\n token_o.attrs = [['href', fullUrl]]\n token_o.markup = 'autolink'\n token_o.info = 'auto'\n\n const token_t = state.push('text', '', 0)\n token_t.content = state.md.normalizeLinkText(url)\n\n const token_c = state.push('link_close', 'a', -1)\n token_c.markup = 'autolink'\n token_c.info = 'auto'\n }\n\n state.pos += url.length + 2\n return true\n }\n\n return false\n}\n"],"names":["EMAIL_RE","AUTOLINK_RE","autolink","state","silent","pos","start","max","ch","url","fullUrl","token_o","token_t","token_c"],"mappings":"AAGA,MAAMA,IAAc,0IAEdC,IAAc;AAEL,SAASC,EAAUC,GAAOC,GAAQ;AAC/C,MAAIC,IAAMF,EAAM;AAEhB,MAAIA,EAAM,IAAI,WAAWE,CAAG,MAAM;AAAe,WAAO;AAExD,QAAMC,IAAQH,EAAM,KACdI,IAAMJ,EAAM;AAElB,aAAS;AACP,QAAI,EAAEE,KAAOE,EAAK,QAAO;AAEzB,UAAMC,IAAKL,EAAM,IAAI,WAAWE,CAAG;AAEnC,QAAIG,MAAO,GAAc,QAAO;AAChC,QAAIA,MAAO,GAAc;AAAA,EAC3B;AAEA,QAAMC,IAAMN,EAAM,IAAI,MAAMG,IAAQ,GAAGD,CAAG;AAE1C,MAAIJ,EAAY,KAAKQ,CAAG,GAAG;AACzB,UAAMC,IAAUP,EAAM,GAAG,cAAcM,CAAG;AAC1C,QAAI,CAACN,EAAM,GAAG,aAAaO,CAAO;AAAK,aAAO;AAE9C,QAAI,CAACN,GAAQ;AACX,YAAMO,IAAYR,EAAM,KAAK,aAAa,KAAK,CAAC;AAChD,MAAAQ,EAAQ,QAAU,CAAC,CAAC,QAAQD,CAAO,CAAC,GACpCC,EAAQ,SAAU,YAClBA,EAAQ,OAAU;AAElB,YAAMC,IAAYT,EAAM,KAAK,QAAQ,IAAI,CAAC;AAC1C,MAAAS,EAAQ,UAAUT,EAAM,GAAG,kBAAkBM,CAAG;AAEhD,YAAMI,IAAYV,EAAM,KAAK,cAAc,KAAK,EAAE;AAClD,MAAAU,EAAQ,SAAU,YAClBA,EAAQ,OAAU;AAAA,IACpB;AAEA,WAAAV,EAAM,OAAOM,EAAI,SAAS,GACnB;AAAA,EACT;AAEA,MAAIT,EAAS,KAAKS,CAAG,GAAG;AACtB,UAAMC,IAAUP,EAAM,GAAG,cAAc,YAAYM,CAAG;AACtD,QAAI,CAACN,EAAM,GAAG,aAAaO,CAAO;AAAK,aAAO;AAE9C,QAAI,CAACN,GAAQ;AACX,YAAMO,IAAYR,EAAM,KAAK,aAAa,KAAK,CAAC;AAChD,MAAAQ,EAAQ,QAAU,CAAC,CAAC,QAAQD,CAAO,CAAC,GACpCC,EAAQ,SAAU,YAClBA,EAAQ,OAAU;AAElB,YAAMC,IAAYT,EAAM,KAAK,QAAQ,IAAI,CAAC;AAC1C,MAAAS,EAAQ,UAAUT,EAAM,GAAG,kBAAkBM,CAAG;AAEhD,YAAMI,IAAYV,EAAM,KAAK,cAAc,KAAK,EAAE;AAClD,MAAAU,EAAQ,SAAU,YAClBA,EAAQ,OAAU;AAAA,IACpB;AAEA,WAAAV,EAAM,OAAOM,EAAI,SAAS,GACnB;AAAA,EACT;AAEA,SAAO;AACT;","x_google_ignoreList":[0]}