HighlightTerms.js: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
/******* Vars ********/ | /******* Vars ********/ | ||
$root_dir = ''; | |||
$ | $img_dir = '/images'; | ||
$ | $jquery_dir = '/jquery'; | ||
// Dependencies | // Dependencies | ||
document.write('<script type="text/javascript" src="'+$jquery_dir+' | document.write('<script type="text/javascript" src="'+$jquery_dir+'/jquery.highlight_sanskrit.js"></' + '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) { | function high_this(key) { | ||
$('p b a').parent().parent().highlight_sanskrit(key); | $('p b a').parent().parent().highlight_sanskrit(quotemeta(key)); | ||
$('p').filter(function() { | $('p').filter(function() { | ||
return ! $(this).children().size() > 0; | return ! $(this).children().size() > 0; | ||
}).highlight_sanskrit(key); | }).highlight_sanskrit(quotemeta(key)); | ||
} | |||
function quotemeta (string) { | |||
return string.replace(/([\(\)])/g, "\\$1"); | |||
} | } | ||
//BEGIN!!! | //BEGIN!!! |
Revision as of 16:15, 31 July 2008
/******* Vars ********/ $root_dir = ''; $img_dir = '/images'; $jquery_dir = '/jquery'; // Dependencies document.write('<script type="text/javascript" src="'+$jquery_dir+'/jquery.highlight_sanskrit.js"></' + 'script>'); //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); } } });