MediaWiki

MediaWiki:HighlightTerms.js

Revision as of 16:18, 31 July 2008 by Acyuta (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/*******  Vars  ********/

$jquery_dir = 'http://vanipedia.org/w/index.php?title=MediaWiki:';
$raw_mode = '&action=raw&ctype=text/javascript';

// Dependencies
document.write('<script type="text/javascript" src="'+$jquery_dir+'Jquery.highlight_sanskrit.js'+$raw_mode+'"></' + 'script>');

//Jquery highlighting function taking terms from page header inside <span class="terms" id="termN">
//Jquery highlighting function taking terms from page header inside <span class="terms" id="termN">
function high_this(key) {
  $('p b a').parent().parent().highlight_sanskrit(quotemeta(key));
  
  $('p').filter(function() {
    return ! $(this).children().size() > 0;
  }).highlight_sanskrit(quotemeta(key));
}
function quotemeta (string) {
    return string.replace(/([\(\)])/g, "\\$1");
}
//BEGIN!!!
$(document).ready(function() {
  //First check if the current page is an Article and that we are on view mode
  if (wgCanonicalNamespace == '' && wgAction == 'view') {

    //if spans with class terms exist
    if ($('span.terms').length) {
      //iterate
      hi_term = new Array();
      $('span.terms').each(function(i) {
        //sanitize hi_term for search
        hi_term[i] = $(this).text().replace(/"/g, "");
        hi_term[i] = hi_term[i].replace(/(^ *| *$)/mg, "");
        hi_term[i] = hi_term[i].replace(/ {2,}/g, ' ');
        high_this(hi_term[i]);
      });
    } else {
      //if no terms found, use wgTitle(title of article) as the search term for highlighting
      hi_term = wgTitle;
      high_this(hi_term);
    }
    
  }
  
});