Files
dokuwiki-plugins/lib/plugins/ckgedit/scripts/parse_wiki-cmpr.js

1 line
34 KiB
JavaScript
Raw Normal View History

2025-10-09 15:04:29 +11:00
function parse_wikitext(C){if(ckgedit_dwedit_reject){var f=GetE("ebut_cancel");f.click();return true}var A=getComplexTables();function F(){var i=/\>\s+(\*\*|__|\/\/|'')\s+_\s+\1\s+<\/font>/gm;r=r.replace(i,function(v){v=v.replace(/\s+/g,"");return v});i=new RegExp("\\>(.*?)(\\]\\]\\<\\/font\\>)|(\\<\\/font\\>\\]\\])","gm");if(r.match(i)){return true}i=new RegExp("(\\{\\{(.*?)\\.\\w{2,4})\\|\\<font");if(r.match(i)){return true}i=new RegExp("\\{\\{(.*?)\\.\\w{2,4}\\|[:\\w\\-\\.\\s]+\\<\\/font");if(r.match(i)){return true}i=new RegExp("\\>\\{\\{(.*?)\\.\\w+\\<\\/font\\>\\b","gm");if(r.match(i)){return true}return false}function n(W,X,v){var U=new Array();for(var T=X;T<W.length;T++){for(var S=0;S<W[T].length;S++){if(W[T][S].rowspan>0){var V=W[T][S].text;U.push({row:T,column:S,spans:W[T][S].rowspan,text:V});if(!v){break}}}}return U}function E(V,v,T,U,i){var S=U[V][v].colspan?U[V][v].colspan:0;U[V][v].rowspan=0;for(N=0;N<T-1;N++){U[++V].splice(v,0,{type:"td",rowspan:0,colspan:S,prev_colspan:S,text:" ::: "})}}function z(W){var T=n(W,0,true);var v=T.length;if(!v){return false}var X=T[0].row;var S=T[0].column;E(X,S,T[0].spans,W);v--;for(var V=0;V<v;V++){X++;var U=n(W,X,false);if(U.length){E(U[0].row,U[0].column,U[0].spans,W)}}return true}function m(U){if(!A){return}for(var S=0;S<U.length;S++){if(!z(U)){break}}r+="\n";for(var S=0;S<U.length;S++){r+="\n";for(var v=0;v<U[S].length;v++){var T=U[S][v].type=="td"?"|":"^";r+=T;var W=U[S][v].align?U[S][v].align:false;if(W=="center"||W=="right"){r+=" "}r+=U[S][v].text;if(W=="center"||W=="left"){r+=" "}if(U[S][v].colspan){for(var V=0;V<U[S][v].colspan-1;V++){r+=T}}}r+="|"}}window.dwfckTextChanged=false;if(C!="bakup"){draft_delete()}var w="\nL_BR_K \n";var H={b:"**",i:"//",em:"//",u:"__",br:w,strike:"<del>",del:"<del>",s:"<del>",p:"\n\n",a:"[[",img:"{{",strong:"**",h1:"\n====== ",h2:"\n===== ",h3:"\n==== ",h4:"\n=== ",h5:"\n== ",td:"|",th:"^",tr:" ",table:"\n\n",ol:" - ",ul:" * ",li:"",code:"''",pre:"\n<",hr:"\n\n----\n\n",sub:"<sub>",font:"",blockquote:"<blockquote>",sup:"<sup>",div:"\n\n",span:"\n",dl:"\n",dd:"\n",dt:"\n"};var o={del:"</del>",s:"</del>",strike:"</del>",p:" ",br:" ",a:"]]",img:"}}",h1:" ======\n",h2:" =====\n",h3:" ====\n",h4:" ===\n",h5:" ==\n",td:" ",th:" ",tr:"|\n",ol:" ",ul:" ",li:"\n",pre:"\n</",sub:"</sub>",sup:"</sup> ",div:"\n\n",p:"\n\n",font:"</font>",span:" ",blockquote:"</blockquote>"};H.temp_u="CKGE_TMP_u";H.temp_strong="CKGE_TMP_strong";H.temp_em="CKGE_TMP_em";H.temp_i="CKGE_TMP_i";H.temp_b="CKGE_TMP_b";H.temp_del="CKGE_TMP_del";H.temp_strike="CKGE_TMP_strike";H.temp_code="CKGE_TMP_code";H.temp_sup="CKGE_TMP_sup";H.temp_csup="CKGE_TMP_csup";H.temp_sub="CKGE_TMP_sub";H.temp_csub="CKGE_TMP_csub";H.temp_del="CKGE_TMP_del";H.temp_cdel="CKGE_TMP_cdel";H.temp_strike="CKGE_TMP_del";H.temp_cstrike="CKGE_TMP_cdel";H.temp_s="CKGE_TMP_del";H.temp_cs="CKGE_TMP_cdel";var l={CKGE_TMP_b:"**",CKGE_TMP_strong:"**",CKGE_TMP_em:"//",CKGE_TMP_u:"__",CKGE_TMP_sup:"<sup>",CKGE_TMP_sub:"<sub>",CKGE_TMP_cdel:"</del>",CKGE_TMP_csub:"</sub>",CKGE_TMP_csup:"</sup>",CKGE_TMP_del:"<del>",CKGE_TMP_strike:"<del>",CKGE_TMP_code:"''"};H.blank="";H.fn_start="((";H.fn_end="))";H.row_span=":::";H.p_insert="_PARA__TABLE_INS_";H.format_space="_FORMAT_SPACE_";H.pre_td="<";var t={strong:true,b:true,i:true,em:true,u:true,del:true,strike:true,code:true,sup:true,sub:true,s:true};var r="";var R=false;var s=false;var b=false;var M=false;var h=false;var K=false;var O=false;var L=false;var g=false;var J=false;var q=false;var Q=false;HTMLLinkInList=false;var P=false;var B;var c=new Array();var y=new Array();var e=false;var d=H.p_insert;var I="(br|co|coMULTI|es|kw|me|nu|re|st|sy)[0-9]";String.prototype.splice=function(i,S,v){return(this.slice(0,i)+v+this.slice(i+Math.abs(S)))};String.frasl=new RegExp("|&frasl;|&#8260;|&#x2044;","g");I=new RegExp(I);HTMLParser(CKEDITOR.instances.wiki__text.getData(),{attribute:"",link_title:"",link_class:"",image_link_type:"",td_align:"",in_td:false,td_colspan:0,td_rowspan:0,rowspan_col:0,last_column:-1,row:0,col:0,td_no:0,tr_no:0,current_row:false,in_table:false,in