HighlightTerms.js: Difference between revisions
 (New page: //Jquery highlighting function taking terms from page header inside <span class="terms" id="termN"> //Define functions //function for Highlighting high_this = function($hi_term) {   //rege...)  | 
				No edit summary  | 
				||
| (10 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
/*******  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">  | //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));  | |||
high_this   | |||
   $('p').filter(function() {  | |||
    return ! $(this).children().size() > 0;  | |||
  }).highlight_sanskrit(quotemeta(key));  | |||
   $  | |||
}  | |||
}  | }  | ||
function quotemeta (string) {  | |||
    return string.replace(/([\(\)])/g, "\\$1");  | |||
}  | }  | ||
//BEGIN!!!  | //BEGIN!!!  | ||
$(document).ready(function() {  | $(document).ready(function() {  | ||
   //First check if the current page is an Article and that we are on view mode  |    //First check if the current page is an Article and that we are on view mode  | ||
   if (wgCanonicalNamespace ==   |    if (wgCanonicalNamespace == '' && wgAction == 'view') {  | ||
     //if spans with class terms exist  |      //if spans with class terms exist  | ||
     if ($('span.terms').length) {  |      if ($('span.terms').length) {  | ||
| Line 54: | Line 32: | ||
         hi_term[i] = $(this).text().replace(/"/g, "");  |          hi_term[i] = $(this).text().replace(/"/g, "");  | ||
         hi_term[i] = hi_term[i].replace(/(^ *| *$)/mg, "");  |          hi_term[i] = hi_term[i].replace(/(^ *| *$)/mg, "");  | ||
         hi_term[i] = hi_term[i].replace(/  |          hi_term[i] = hi_term[i].replace(/ {2,}/g, ' ');  | ||
         high_this(hi_term[i]);   |          high_this(hi_term[i]);  | ||
       });  |        });  | ||
     } else {  |      } else {  | ||
       //if no terms found, use wgTitle(title of article) as the search term for highlighting  |        //if no terms found, use wgTitle(title of article) as the search term for highlighting  | ||
       hi_term = wgTitle;  |        hi_term = wgTitle;  | ||
       high_this(hi_term);   |        high_this(hi_term);  | ||
     }  |      }  | ||
   }  |    }  | ||
});  | });  | ||
Latest revision as of 16:18, 31 July 2008
/*******  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);
    }
    
  }
  
});