User:Crazytales56297/monobook.js

From Wikipedia

< User:Crazytales56297

Note: After saving, you may have to bypass your browser's cache to see the changes. Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac); IE: hold Ctrl while clicking Refresh, or press Ctrl-F5; Konqueror:: simply click the Reload button, or press F5; Opera users may need to completely clear their cache in Tools→Preferences.

// <pre><nowiki>

// hook
addOnloadHook(wysawygInit);

//init
function wysawygInit()
{
  if ($('wpTextbox1'))
  {
    $('content').innerHTML =
//      '<d'+'iv style="width:100%;height:100px;overflow:auto" id="debug"></d'+'iv>'+
      '<i'+'frame width="90%" height="400" id="rtshed" name="rtshed" style="word-wrap:pre"></i'+'frame>' + $('content').innerHTML;
   rtshed.document.open();
   rtshed.document.write(' <html><head>'
    + '<l'+'ink type="text/css" rel="stylesheet" href="/w/index.php?title=User:Zocky/wysawyg.css&action=raw&type=text/css"/>'
    + '<s'+'cript type="text/javascript" src="/w/index.php?title=User:Zocky/wysawygEd.js&action=raw&type=text/javascript"/>'
    + '<s'+'cript type="text/javascript"/>RTSH.language = "javascript";</'+'script>'
    + '</head><body id="ffedt"><pre id="ieedt">'
    + "hello '''world'''".replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;")
    + '</pre></body></html>');
    rtshed.document.close();
//  rtshed.contentWindow.CodePress.initialize();
  };
} 

codePressTriggerChars="[{|}]='*#:";

function codePressHighlightHook(x)
{
//  $('debug').innerHTML=x.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/\n/,'<br/>');
//{{ }} -> div
  x=x.replace(   /\{\{()/g,                         '<ww>&#123;&#123;</ww><wt><wa>$1'  );  
  x=x.replace(   /()\}\}/g,                         '$1</wa></wt><ww>&#125;&#125;</ww>'             ); 

//[[ ]] -> u
  x=x.replace(   /\[\[([Ii]mage:)/g,                '<ww>&#91;&#91;</ww><wl c="img"><wa>$1'     );  
  x=x.replace(   /\[\[()/g,                         '<ww>&#91;&#91;</ww><wl c="int"><wa>$1'                   );  
  x=x.replace(   /()\]\]/g,                         '$1</wa></wl><ww>&#93;&#93;</ww>'                 ); 

//'' ''' -> i b
  x=x.replace(   /'''(.*?)'''/g,                    '<tt>&#39;&#39;&#39;</tt><b>$1</b><tt>&#39;&#39;&#39;</tt>' );
  x=x.replace(   /''(.*?)''/g,                      '<tt>&#39;&#39;</tt><i>$1</i><tt>&#39;&#39;</tt>'  );  

// | -> span
  x=x.replace(   /\|([^<|]*?)=/g,                   '</wa><wa><ww>&#124;$1&#61;</ww>'              );  
  x=x.replace(   /\|()/g,                           '</wa><wa><ww>&#124;</ww>$1'                   );  

// == == -> emp

  x=x.replace(   /(^|\n)( *)====(.*)====( *)(\n|$)/g,    
  '$1$2<ww>&#61;&#61;&#61;&#61;</ww><wh4>$3</wh4><ww>&#61;&#61;&#61;&#61;</ww>$4$5' );
  x=x.replace(   /(^|\n)( *)===(.*)===( *)(\n|$)/g,      
  '$1$2<ww>&#61;&#61;&#61;</ww><wh3>$3</wh3><ww>&#61;&#61;&#61;</ww>$4$5');
  x=x.replace(   /(^|\n)( *)==(.*)==( *)(\n|$)/g,        
  '$1$2<ww>&#61;&#61;</ww><wh2>$3</wh2><ww>&#61;&#61;</ww>$4$5');
  x=x.replace(   /(^|\n)( *)=(.*)=( *)(\n|$)/g,          
  '$1$2<ww>&#61;</ww><wh1>$3</wh1><ww>&#61;</ww>$4$5');

  x=x.replace(   /(^|\n)([*#:]+)([^\n]*?)(?=\n|$)/g, function (p,p1,p2,p3,p4)
  { 
    return p1+'<wr><ww>' + p2 + '</ww>'
         + p3 +'</wr>';
  });
//  $('debug').innerHTML=x.replace(/\n/g,'<br/>').replace(/&/g,'&amp;').replace(/</g,'&lt;');
  return x;
}

// cross-browser event functions

function eventAddListener (element,event,handler) 
{ 
  if (element.addEventListener) 
    element.addEventListener(event,handler,false) 
  else
    element.attachEvent('on'+event,handler);
} 

function eventRemoveListener (element, event, handler)
{
  if (element.removeEventListener)
    element.removeEventListener(event,handler,false) 
  else
    element.detachEvent('on'+event,handler);
}

function eventStop(event)
{
 if (event.preventDefault) 
 {  
   event.preventDefault();
   event.stopPropagation();
 } 
 else 
 {
   event.returnValue = false;
   event.cancelBubble = true;
 }
}

function eventTarget(event)
{
 return event.target || event.srcElement;
}

function eventKeyCode(event)
{
   return event.preventDefault ? event.which : event.keyCode ;
}

function $(id)
{
  return document.getElementById(id);
}
Navigation