Advertisement
Guest User

Shock

a guest
Aug 18th, 2009
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. TeX.addTags ([
  2.     {
  3.         name : 'b',
  4.         args : [1],
  5.         func : function (args) {
  6.             return "<b>" + TeX.markup(args[0]) + "</b>";
  7.         }
  8.     },
  9.     {
  10.         name : 'i',
  11.         args : [1],
  12.         func : function (args) {
  13.             return "<i>" + TeX.markup(args[0]) + "</i>";
  14.         }
  15.     },
  16.     {
  17.         name : 'u',
  18.         args : [1],
  19.         func : function (args) {
  20.             return "<u>" + TeX.markup(args[0]) + "</u>";
  21.         }
  22.     },
  23.     {
  24.         name : 's',
  25.         args : [1],
  26.         func : function (args) {
  27.             return "<s>" + TeX.markup(args[0]) + "</s>";
  28.         }
  29.     },
  30.     {
  31.         name : 'code',
  32.         args : [1, 2],
  33.         func : function (args) {
  34.             var value, className = '';
  35.             if (args.length == 2) {
  36.                 var lang  = (args[0] == '!') ?
  37.                     'no-highlight' : TeX.lib.safeHTML(args[0]);
  38.                 className = ' class="' + lang + '"';
  39.                 value = args[1];
  40.             } else {
  41.                 value = args[0];
  42.             }
  43.             return "<pre><code" + className + ">" + value + "</code></pre>";
  44.         }
  45.     },
  46.     {
  47.         name : 'url',
  48.         args : [2],
  49.         func : function (args) {
  50.             var url = TeX.lib.safeHTML(args[0]);
  51.             return "<a href='" + url + "'>" + TeX.markup(args[1]) + "</a>";
  52.         }
  53.     },
  54.     {
  55.         name : 'img',
  56.         args : [1],
  57.         func : function (args) {
  58.             var src = TeX.lib.safeHTML(args[0]);
  59.             return "<img src='" + src + "' />";
  60.         }
  61.     },
  62. ]);
  63.  
  64. TeX.addRules ([
  65.     {
  66.         name : 'safeHtml',
  67.         func : function (string) {
  68.             return TeX.lib.safeHTML(string);
  69.         }
  70.     },
  71.     {
  72.         name : 'newLines',
  73.         func : function (string) {
  74.             return string.split("\n").join("<br />");
  75.         }
  76.     },
  77.     {
  78.         name : 'liveUrls',
  79.         func : function (string) {
  80.             var urlRE = /((git|svn|ftp|http|https):\/\/(www\.)?|www.)(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi;
  81.             return string.replace(urlRE, function(url) {
  82.                 var urlFull = (url.indexOf('www') === 0) ? "http://" + url : url;
  83.                 return "<a class='url' href='" + urlFull + "'>" + url + "</a>";
  84.             });
  85.         }
  86.     },
  87.     {
  88.         name : 'liveEmails',
  89.         func : function (string) {
  90.             var emailRE = /[-a-z0-9!#$%&'*+\/=?^_`{|}~]+(\.[-a-z0-9!#$%&'*+\/=?^_`{|}~]+)*@([a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?\.)*([a-z]{2,6})/gi;
  91.             return string.replace(emailRE, function(email) {
  92.                 return "<a class='mail' href='mailto:" + email + "'>" + email + "</a>";
  93.             })
  94.         }
  95.     }
  96. ]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement