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 5.33 kB
{"version":3,"file":"replacements.mjs","sources":["../../../../../../node_modules/epubjs/src/utils/replacements.js"],"sourcesContent":["import { qs, qsa } from \"./core\";\nimport Url from \"./url\";\nimport Path from \"./path\";\n\nexport function replaceBase(doc, section){\n\tvar base;\n\tvar head;\n\tvar url = section.url;\n\tvar absolute = (url.indexOf(\"://\") > -1);\n\n\tif(!doc){\n\t\treturn;\n\t}\n\n\thead = qs(doc, \"head\");\n\tbase = qs(head, \"base\");\n\n\tif(!base) {\n\t\tbase = doc.createElement(\"base\");\n\t\thead.insertBefore(base, head.firstChild);\n\t}\n\n\t// Fix for Safari crashing if the url doesn't have an origin\n\tif (!absolute && window && window.location) {\n\t\turl = window.location.origin + url;\n\t}\n\n\tbase.setAttribute(\"href\", url);\n}\n\nexport function replaceCanonical(doc, section){\n\tvar head;\n\tvar link;\n\tvar url = section.canonical;\n\n\tif(!doc){\n\t\treturn;\n\t}\n\n\thead = qs(doc, \"head\");\n\tlink = qs(head, \"link[rel='canonical']\");\n\n\tif (link) {\n\t\tlink.setAttribute(\"href\", url);\n\t} else {\n\t\tlink = doc.createElement(\"link\");\n\t\tlink.setAttribute(\"rel\", \"canonical\");\n\t\tlink.setAttribute(\"href\", url);\n\t\thead.appendChild(link);\n\t}\n}\n\nexport function replaceMeta(doc, section){\n\tvar head;\n\tvar meta;\n\tvar id = section.idref;\n\tif(!doc){\n\t\treturn;\n\t}\n\n\thead = qs(doc, \"head\");\n\tmeta = qs(head, \"link[property='dc.identifier']\");\n\n\tif (meta) {\n\t\tmeta.setAttribute(\"content\", id);\n\t} else {\n\t\tmeta = doc.createElement(\"meta\");\n\t\tmeta.setAttribute(\"name\", \"dc.identifier\");\n\t\tmeta.setAttribute(\"content\", id);\n\t\thead.appendChild(meta);\n\t}\n}\n\n// TODO: move me to Contents\nexport function replaceLinks(contents, fn) {\n\n\tvar links = contents.querySelectorAll(\"a[href]\");\n\n\tif (!links.length) {\n\t\treturn;\n\t}\n\n\tvar base = qs(contents.ownerDocument, \"base\");\n\tvar location = base ? base.getAttribute(\"href\") : undefined;\n\tvar replaceLink = function(link){\n\t\tvar href = link.getAttribute(\"href\");\n\n\t\tif(href.indexOf(\"mailto:\") === 0){\n\t\t\treturn;\n\t\t}\n\n\t\tvar absolute = (href.indexOf(\"://\") > -1);\n\n\t\tif(absolute){\n\n\t\t\tlink.setAttribute(\"target\", \"_blank\");\n\n\t\t}else{\n\t\t\tvar linkUrl;\n\t\t\ttry {\n\t\t\t\tlinkUrl = new Url(href, location);\t\n\t\t\t} catch(error) {\n\t\t\t\t// NOOP\n\t\t\t}\n\n\t\t\tlink.onclick = function(){\n\n\t\t\t\tif(linkUrl && linkUrl.hash) {\n\t\t\t\t\tfn(linkUrl.Path.path + linkUrl.hash);\n\t\t\t\t} else if(linkUrl){\n\t\t\t\t\tfn(linkUrl.Path.path);\n\t\t\t\t} else {\n\t\t\t\t\tfn(href);\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}\n\t}.bind(this);\n\n\tfor (var i = 0; i < links.length; i++) {\n\t\treplaceLink(links[i]);\n\t}\n\n\n}\n\nexport function substitute(content, urls, replacements) {\n\turls.forEach(function(url, i){\n\t\tif (url && replacements[i]) {\n\t\t\t// Account for special characters in the file name.\n\t\t\t// See https://stackoverflow.com/a/6318729.\n\t\t\turl = url.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\");\n\t\t\tcontent = content.replace(new RegExp(url, \"g\"), replacements[i]);\n\t\t}\n\t});\n\treturn content;\n}\n"],"names":["replaceBase","doc","section","base","head","url","absolute","qs","replaceCanonical","link","replaceMeta","meta","id","replaceLinks","contents","fn","links","location","replaceLink","href","linkUrl","Url","i","substitute","content","urls","replacements"],"mappings":";;AAIO,SAASA,EAAYC,GAAKC,GAAQ;AACxC,MAAIC,GACAC,GACAC,IAAMH,EAAQ,KACdI,IAAYD,EAAI,QAAQ,KAAK,IAAI;AAErC,EAAIJ,MAIJG,IAAOG,EAAGN,GAAK,MAAM,GACrBE,IAAOI,EAAGH,GAAM,MAAM,GAElBD,MACHA,IAAOF,EAAI,cAAc,MAAM,GAC/BG,EAAK,aAAaD,GAAMC,EAAK,UAAU,IAIpC,CAACE,KAAY,UAAU,OAAO,aACjCD,IAAM,OAAO,SAAS,SAASA,IAGhCF,EAAK,aAAa,QAAQE,CAAG;AAC9B;AAEO,SAASG,EAAiBP,GAAKC,GAAQ;AAC7C,MAAIE,GACAK,GACAJ,IAAMH,EAAQ;AAElB,EAAID,MAIJG,IAAOG,EAAGN,GAAK,MAAM,GACrBQ,IAAOF,EAAGH,GAAM,uBAAuB,GAEnCK,IACHA,EAAK,aAAa,QAAQJ,CAAG,KAE7BI,IAAOR,EAAI,cAAc,MAAM,GAC/BQ,EAAK,aAAa,OAAO,WAAW,GACpCA,EAAK,aAAa,QAAQJ,CAAG,GAC7BD,EAAK,YAAYK,CAAI;AAEvB;AAEO,SAASC,EAAYT,GAAKC,GAAQ;AACxC,MAAIE,GACAO,GACAC,IAAKV,EAAQ;AACjB,EAAID,MAIJG,IAAOG,EAAGN,GAAK,MAAM,GACrBU,IAAOJ,EAAGH,GAAM,gCAAgC,GAE5CO,IACHA,EAAK,aAAa,WAAWC,CAAE,KAE/BD,IAAOV,EAAI,cAAc,MAAM,GAC/BU,EAAK,aAAa,QAAQ,eAAe,GACzCA,EAAK,aAAa,WAAWC,CAAE,GAC/BR,EAAK,YAAYO,CAAI;AAEvB;AAGO,SAASE,EAAaC,GAAUC,GAAI;AAE1C,MAAIC,IAAQF,EAAS,iBAAiB,SAAS;AAE/C,MAAKE,EAAM;AA0CX,aAtCIb,IAAOI,EAAGO,EAAS,eAAe,MAAM,GACxCG,IAAWd,IAAOA,EAAK,aAAa,MAAM,IAAI,QAC9Ce,KAAc,SAAST,GAAK;AAC/B,UAAIU,IAAOV,EAAK,aAAa,MAAM;AAEnC,UAAGU,EAAK,QAAQ,SAAS,MAAM,GAI/B;AAAA,YAAIb,IAAYa,EAAK,QAAQ,KAAK,IAAI;AAEtC,YAAGb;AAEF,UAAAG,EAAK,aAAa,UAAU,QAAQ;AAAA,aAEhC;AACJ,cAAIW;AACJ,cAAI;AACH,YAAAA,IAAU,IAAIC,EAAIF,GAAMF,CAAQ;AAAA,UACjC,QAAe;AAAA,UAEf;AAEA,UAAAR,EAAK,UAAU,WAAU;AAExB,mBAAGW,KAAWA,EAAQ,OACrBL,EAAGK,EAAQ,KAAK,OAAOA,EAAQ,IAAI,IAEnCL,EADSK,IACNA,EAAQ,KAAK,OAEbD,CAFiB,GAKd;AAAA,UACR;AAAA,QACD;AAAA;AAAA,IACD,GAAE,KAAK,IAAI,GAEFG,IAAI,GAAGA,IAAIN,EAAM,QAAQM;AACjC,MAAAJ,EAAYF,EAAMM,CAAC,CAAC;AAItB;AAEO,SAASC,EAAWC,GAASC,GAAMC,GAAc;AACvD,SAAAD,EAAK,QAAQ,SAASpB,GAAKiB,GAAE;AAC5B,IAAIjB,KAAOqB,EAAaJ,CAAC,MAGxBjB,IAAMA,EAAI,QAAQ,4BAA4B,MAAM,GACpDmB,IAAUA,EAAQ,QAAQ,IAAI,OAAOnB,GAAK,GAAG,GAAGqB,EAAaJ,CAAC,CAAC;AAAA,EAEjE,CAAC,GACME;AACR;","x_google_ignoreList":[0]}