wip logo
This commit is contained in:
1 parent
f70053fbe5
commit
7ff10e8d2b
11 files changed
+109
-114
No files matched your search
@@ -90,4 +90,4 @@ img.ProseMirror-separator {
|
||||
`,W0="\uFE0F",_0="\u200D",ll="\uFFFC",yo=null,bo=null;function j0(t=[]){let e={};Me.groups=e;let n=new Me;yo==null&&(yo=Bd(B0)),bo==null&&(bo=Bd(z0)),k(n,"'",Bo),k(n,"{",ir),k(n,"}",sr),k(n,"[",So),k(n,"]",ko),k(n,"(",Co),k(n,")",Mo),k(n,"<",vo),k(n,">",To),k(n,"\uFF08",Ao),k(n,"\uFF09",Eo),k(n,"\u300C",Oo),k(n,"\u300D",No),k(n,"\u300E",Ro),k(n,"\u300F",Do),k(n,"\uFF1C",Po),k(n,"\uFF1E",Io),k(n,"&",Lo),k(n,"*",zo),k(n,"@",Rt),k(n,"`",Fo),k(n,"^",$o),k(n,":",Dt),k(n,",",xl),k(n,"$",Vo),k(n,".",et),k(n,"=",Wo),k(n,"!",wl),k(n,"-",Be),k(n,"%",lr),k(n,"|",_o),k(n,"+",jo),k(n,"#",Ko),k(n,"?",ar),k(n,'"',Sl),k(n,"/",tt),k(n,";",kl),k(n,"~",cr),k(n,"_",Uo),k(n,"\\",Ho),k(n,"\u30FB",_d);let r=Z(n,yt,yl,{[cl]:!0});Z(r,yt,r);let o=Z(r,gt,Vd,{[or]:!0}),i=Z(r,nr,Wd,{[rr]:!0}),s=Z(n,gt,bt,{[ul]:!0});Z(s,yt,o),Z(s,gt,s),Z(o,yt,o),Z(o,gt,o);let l=Z(n,nr,hl,{[dl]:!0});Z(l,gt),Z(l,yt,i),Z(l,nr,l),Z(i,yt,i),Z(i,gt),Z(i,nr,i);let a=k(n,sl,bl,{[rl]:!0}),c=k(n,Ld,gl,{[rl]:!0}),u=Z(n,il,gl,{[rl]:!0});k(n,ll,u),k(c,sl,a),k(c,ll,u),Z(c,il,u),k(u,Ld),k(u,sl),Z(u,il,u),k(u,ll,u);let d=Z(n,ol,jd,{[$d]:!0});k(d,"#"),Z(d,ol,d),k(d,W0,d);let f=k(d,_0);k(f,"#"),Z(f,ol,d);let h=[[gt,s],[yt,o]],p=[[gt,null],[nr,l],[yt,i]];for(let m=0;m<yo.length;m++)Nt(n,yo[m],pl,bt,h);for(let m=0;m<bo.length;m++)Nt(n,bo[m],ml,hl,p);Xt(pl,{tld:!0,ascii:!0},e),Xt(ml,{utld:!0,alpha:!0},e),Nt(n,"file",wo,bt,h),Nt(n,"mailto",wo,bt,h),Nt(n,"http",Cn,bt,h),Nt(n,"https",Cn,bt,h),Nt(n,"ftp",Cn,bt,h),Nt(n,"ftps",Cn,bt,h),Xt(wo,{scheme:!0,ascii:!0},e),Xt(Cn,{slashscheme:!0,ascii:!0},e),t=t.sort((m,g)=>m[0]>g[0]?1:-1);for(let m=0;m<t.length;m++){let g=t[m][0],b=t[m][1]?{[H0]:!0}:{[F0]:!0};g.indexOf("-")>=0?b[fl]=!0:gt.test(g)?yt.test(g)?b[or]=!0:b[ul]=!0:b[cl]=!0,Id(n,g,g,b)}return Id(n,"localhost",ur,{ascii:!0}),n.jd=new Me(Jo),{start:n,tokens:Object.assign({groups:e},Kd)}}function Ud(t,e){let n=K0(e.replace(/[A-Z]/g,l=>l.toLowerCase())),r=n.length,o=[],i=0,s=0;for(;s<r;){let l=t,a=null,c=0,u=null,d=-1,f=-1;for(;s<r&&(a=l.go(n[s]));)l=a,l.accepts()?(d=0,f=0,u=l):d>=0&&(d+=n[s].length,f++),c+=n[s].length,i+=n[s].length,s++;i-=d,s-=f,c-=d,o.push({t:u.t,v:e.slice(i-c,i),s:i-c,e:i})}return o}function K0(t){let e=[],n=t.length,r=0;for(;r<n;){let o=t.charCodeAt(r),i,s=o<55296||o>56319||r+1===n||(i=t.charCodeAt(r+1))<56320||i>57343?t[r]:t.slice(r,r+2);e.push(s),r+=s.length}return e}function Nt(t,e,n,r,o){let i,s=e.length;for(let l=0;l<s-1;l++){let a=e[l];t.j[a]?i=t.j[a]:(i=new Me(r),i.jr=o.slice(),t.j[a]=i),t=i}return i=new Me(n),i.jr=o.slice(),t.j[e[s-1]]=i,i}function Bd(t){let e=[],n=[],r=0,o="0123456789";for(;r<t.length;){let i=0;for(;o.indexOf(t[r+i])>=0;)i++;if(i>0){e.push(n.join(""));for(let s=parseInt(t.substring(r,r+i),10);s>0;s--)n.pop();r+=i}else n.push(t[r]),r++}return e}var dr={defaultProtocol:"http",events:null,format:zd,formatHref:zd,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function Cl(t,e=null){let n=Object.assign({},dr);t&&(n=Object.assign(n,t instanceof Cl?t.o:t));let r=n.ignoreTags,o=[];for(let i=0;i<r.length;i++)o.push(r[i].toUpperCase());this.o=n,e&&(this.defaultRender=e),this.ignoreTags=o}Cl.prototype={o:dr,ignoreTags:[],defaultRender(t){return t},check(t){return this.get("validate",t.toString(),t)},get(t,e,n){let r=e!=null,o=this.o[t];return o&&(typeof o=="object"?(o=n.t in o?o[n.t]:dr[t],typeof o=="function"&&r&&(o=o(e,n))):typeof o=="function"&&r&&(o=o(e,n.t,n)),o)},getObj(t,e,n){let r=this.o[t];return typeof r=="function"&&e!=null&&(r=r(e,n.t,n)),r},render(t){let e=t.render(this);return(this.get("render",null,t)||this.defaultRender)(e,t.t,t)}};function zd(t){return t}function Jd(t,e){this.t="token",this.v=t,this.tk=e}Jd.prototype={isLink:!1,toString(){return this.v},toHref(t){return this.toString()},toFormattedString(t){let e=this.toString(),n=t.get("truncate",e,this),r=t.get("format",e,this);return n&&r.length>n?r.substring(0,n)+"\u2026":r},toFormattedHref(t){return t.get("formatHref",this.toHref(t.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(t=dr.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(t),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(t){return{type:this.t,value:this.toFormattedString(t),isLink:this.isLink,href:this.toFormattedHref(t),start:this.startIndex(),end:this.endIndex()}},validate(t){return t.get("validate",this.toString(),this)},render(t){let e=this,n=this.toHref(t.get("defaultProtocol")),r=t.get("formatHref",n,this),o=t.get("tagName",n,e),i=this.toFormattedString(t),s={},l=t.get("className",n,e),a=t.get("target",n,e),c=t.get("rel",n,e),u=t.getObj("attributes",n,e),d=t.getObj("events",n,e);return s.href=r,l&&(s.class=l),a&&(s.target=a),c&&(s.rel=c),u&&Object.assign(s,u),{tagName:o,attributes:s,content:i,eventListeners:d}}};function qo(t,e){class n extends Jd{constructor(o,i){super(o,i),this.t=t}}for(let r in eLine truncated
|
||||
1. Must only contain digits, lowercase ASCII letters or "-"
|
||||
2. Cannot start or end with "-"
|
||||
3. "-" cannot repeat`);q.customSchemes.push([t,e])}function X0(){q.scanner=j0(q.customSchemes);for(let t=0;t<q.tokenQueue.length;t++)q.tokenQueue[t][1]({scanner:q.scanner});q.parser=J0(q.scanner.tokens);for(let t=0;t<q.pluginQueue.length;t++)q.pluginQueue[t][1]({scanner:q.scanner,parser:q.parser});return q.initialized=!0,q}function Go(t){return q.initialized||X0(),q0(q.parser.start,t,Ud(q.scanner.start,t))}Go.scan=Ud;function Yo(t,e=null,n=null){if(e&&typeof e=="object"){if(n)throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);n=e,e=null}let r=new Cl(n),o=Go(t),i=[];for(let s=0;s<o.length;s++){let l=o[s];l.isLink&&(!e||l.t===e)&&r.check(l)&&i.push(l.toFormattedObject(r))}return i}var vl="[\0- \xA0\u1680\u180E\u2000-\u2029\u205F\u3000]",Q0=new RegExp(vl),Z0=new RegExp(`${vl}$`),eb=new RegExp(vl,"g");function tb(t){return t.length===1?t[0].isLink:t.length===3&&t[1].isLink?["()","[]"].includes(t[0].value+t[2].value):!1}function nb(t){return new N({key:new L("autolink"),appendTransaction:(e,n,r)=>{let o=e.some(c=>c.docChanged)&&!n.doc.eq(r.doc),i=e.some(c=>c.getMeta("preventAutolink"));if(!o||i)return;let{tr:s}=r,l=zs(n.doc,[...e]);if(_s(l).forEach(({newRange:c})=>{let u=Eu(r.doc,c,h=>h.isTextblock),d,f;if(u.length>1)d=u[0],f=r.doc.textBetween(d.pos,d.pos+d.node.nodeSize,void 0," ");else if(u.length){let h=r.doc.textBetween(c.from,c.to," "," ");if(!Z0.test(h))return;d=u[0],f=r.doc.textBetween(d.pos,c.to,void 0," ")}if(d&&f){let h=f.split(Q0).filter(Boolean);if(h.length<=0)return!1;let p=h[h.length-1],m=d.pos+f.lastIndexOf(p);if(!p)return!1;let g=Go(p).map(y=>y.toObject(t.defaultProtocol));if(!tb(g))return!1;g.filter(y=>y.isLink).map(y=>({...y,from:m+y.start+1,to:m+y.end+1})).filter(y=>r.schema.marks.code?!r.doc.rangeHasMark(y.from,y.to,r.schema.marks.code):!0).filter(y=>t.validate(y.value)).filter(y=>t.shouldAutoLink(y.value)).forEach(y=>{io(y.from,y.to,r.doc).some(b=>b.mark.type===t.type)||s.addMark(y.from,y.to,t.type.create({href:y.href}))})}}),!!s.steps.length)return s}})}function rb(t){return new N({key:new L("handleClickLink"),props:{handleClick:(e,n,r)=>{var o,i;if(r.button!==0||!e.editable)return!1;let s=null;if(r.target instanceof HTMLAnchorElement)s=r.target;else{let u=r.target,d=[];for(;u.nodeName!=="DIV";)d.push(u),u=u.parentNode;s=d.find(f=>f.nodeName==="A")}if(!s)return!1;let l=Ws(e.state,t.type.name),a=(o=s?.href)!=null?o:l.href,c=(i=s?.target)!=null?i:l.target;return t.enableClickSelection&&t.editor.commands.extendMarkRange(t.type.name),s&&a?(window.open(a,c),!0):!1}}})}function ob(t){return new N({key:new L("handlePasteLink"),props:{handlePaste:(e,n,r)=>{let{state:o}=e,{selection:i}=o,{empty:s}=i;if(s)return!1;let l="";r.content.forEach(c=>{l+=c.textContent});let a=Yo(l,{defaultProtocol:t.defaultProtocol}).find(c=>c.isLink&&c.value===l);return!l||!a?!1:t.editor.commands.setMark(t.type,{href:a.href})}}})}function Qt(t,e){let n=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return e&&e.forEach(r=>{let o=typeof r=="string"?r:r.scheme;o&&n.push(o)}),!t||t.replace(eb,"").match(new RegExp(`^(?:(?:${n.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,"i"))}var ib=te.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.validate&&!this.options.shouldAutoLink&&(this.options.shouldAutoLink=this.options.validate,console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")),this.options.protocols.forEach(t=>{if(typeof t=="string"){Ml(t);return}Ml(t.scheme,t.optionalSlashes)})},onDestroy(){qd()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,enableClickSelection:!1,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},isAllowedUri:(t,e)=>!!Qt(t,e.protocols),validate:t=>!!t,shouldAutoLink:t=>!!t}},addAttributes(){return{href:{default:null,parseHTML(t){return t.getAttribute("href")}},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:"a[href]",getAttrs:t=>{let e=t.getAttribute("href");return!e||!this.options.isAllowedUri(e,{defaultValidate:n=>!!Qt(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:null}}]},renderHTML({HTMLAttributes:t}){return this.options.isAllowedUri(t.href,{defaultValidate:e=>!!Qt(e,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?["a",T(this.options.HTMLAttributes,t),0]:["a",T(this.options.HTMLAttributes,{...t,href:""}),0]},addCommands(){return{setLink:t=>({chain:e})=>{let{href:n}=t;return this.options.isAllowedUri(n,{defaultValidate:r=>!!Qt(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?e().setMark(this.name,t).setMeta("preventAutolink",!0).run():!1},toggleLink:t=>({chain:e
Line truncated
|
||||
3. "-" cannot repeat`);q.customSchemes.push([t,e])}function X0(){q.scanner=j0(q.customSchemes);for(let t=0;t<q.tokenQueue.length;t++)q.tokenQueue[t][1]({scanner:q.scanner});q.parser=J0(q.scanner.tokens);for(let t=0;t<q.pluginQueue.length;t++)q.pluginQueue[t][1]({scanner:q.scanner,parser:q.parser});return q.initialized=!0,q}function Go(t){return q.initialized||X0(),q0(q.parser.start,t,Ud(q.scanner.start,t))}Go.scan=Ud;function Yo(t,e=null,n=null){if(e&&typeof e=="object"){if(n)throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);n=e,e=null}let r=new Cl(n),o=Go(t),i=[];for(let s=0;s<o.length;s++){let l=o[s];l.isLink&&(!e||l.t===e)&&r.check(l)&&i.push(l.toFormattedObject(r))}return i}var vl="[\0- \xA0\u1680\u180E\u2000-\u2029\u205F\u3000]",Q0=new RegExp(vl),Z0=new RegExp(`${vl}$`),eb=new RegExp(vl,"g");function tb(t){return t.length===1?t[0].isLink:t.length===3&&t[1].isLink?["()","[]"].includes(t[0].value+t[2].value):!1}function nb(t){return new N({key:new L("autolink"),appendTransaction:(e,n,r)=>{let o=e.some(c=>c.docChanged)&&!n.doc.eq(r.doc),i=e.some(c=>c.getMeta("preventAutolink"));if(!o||i)return;let{tr:s}=r,l=zs(n.doc,[...e]);if(_s(l).forEach(({newRange:c})=>{let u=Eu(r.doc,c,h=>h.isTextblock),d,f;if(u.length>1)d=u[0],f=r.doc.textBetween(d.pos,d.pos+d.node.nodeSize,void 0," ");else if(u.length){let h=r.doc.textBetween(c.from,c.to," "," ");if(!Z0.test(h))return;d=u[0],f=r.doc.textBetween(d.pos,c.to,void 0," ")}if(d&&f){let h=f.split(Q0).filter(Boolean);if(h.length<=0)return!1;let p=h[h.length-1],m=d.pos+f.lastIndexOf(p);if(!p)return!1;let g=Go(p).map(y=>y.toObject(t.defaultProtocol));if(!tb(g))return!1;g.filter(y=>y.isLink).map(y=>({...y,from:m+y.start+1,to:m+y.end+1})).filter(y=>r.schema.marks.code?!r.doc.rangeHasMark(y.from,y.to,r.schema.marks.code):!0).filter(y=>t.validate(y.value)).filter(y=>t.shouldAutoLink(y.value)).forEach(y=>{io(y.from,y.to,r.doc).some(b=>b.mark.type===t.type)||s.addMark(y.from,y.to,t.type.create({href:y.href}))})}}),!!s.steps.length)return s}})}function rb(t){return new N({key:new L("handleClickLink"),props:{handleClick:(e,n,r)=>{var o,i;if(r.button!==0||!e.editable)return!1;let s=null;if(r.target instanceof HTMLAnchorElement)s=r.target;else{let u=r.target,d=[];for(;u.nodeName!=="DIV";)d.push(u),u=u.parentNode;s=d.find(f=>f.nodeName==="A")}if(!s)return!1;let l=Ws(e.state,t.type.name),a=(o=s?.href)!=null?o:l.href,c=(i=s?.target)!=null?i:l.target;return t.enableClickSelection&&t.editor.commands.extendMarkRange(t.type.name),s&&a?(window.open(a,c),!0):!1}}})}function ob(t){return new N({key:new L("handlePasteLink"),props:{handlePaste:(e,n,r)=>{let{state:o}=e,{selection:i}=o,{empty:s}=i;if(s)return!1;let l="";r.content.forEach(c=>{l+=c.textContent});let a=Yo(l,{defaultProtocol:t.defaultProtocol}).find(c=>c.isLink&&c.value===l);return!l||!a?!1:t.editor.commands.setMark(t.type,{href:a.href})}}})}function Qt(t,e){let n=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return e&&e.forEach(r=>{let o=typeof r=="string"?r:r.scheme;o&&n.push(o)}),!t||t.replace(eb,"").match(new RegExp(`^(?:(?:${n.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,"i"))}var ib=te.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.validate&&!this.options.shouldAutoLink&&(this.options.shouldAutoLink=this.options.validate,console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")),this.options.protocols.forEach(t=>{if(typeof t=="string"){Ml(t);return}Ml(t.scheme,t.optionalSlashes)})},onDestroy(){qd()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,enableClickSelection:!1,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},isAllowedUri:(t,e)=>!!Qt(t,e.protocols),validate:t=>!!t,shouldAutoLink:t=>!!t}},addAttributes(){return{href:{default:null,parseHTML(t){return t.getAttribute("href")}},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:"a[href]",getAttrs:t=>{let e=t.getAttribute("href");return!e||!this.options.isAllowedUri(e,{defaultValidate:n=>!!Qt(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:null}}]},renderHTML({HTMLAttributes:t}){return this.options.isAllowedUri(t.href,{defaultValidate:e=>!!Qt(e,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?["a",T(this.options.HTMLAttributes,t),0]:["a",T(this.options.HTMLAttributes,{...t,href:""}),0]},addCommands(){return{setLink:t=>({chain:e})=>{let{href:n}=t;return this.options.isAllowedUri(n,{defaultValidate:r=>!!Qt(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?e().setMark(this.name,t).setMeta("preventAutolink",!0).run():!1},toggleLink:t=>({chain:e
Line truncated
|
||||
Reference in new issue
Block a user