MediaWiki:ListrefErrors.js

// adapted from User:Ucucha/HarvErrors.js

if(window.checkLinksToCitations === undefined)

window.checkLinksToCitations = true;

jQuery(document).ready(function($) {

// first check: do links in listref templates citations point to a valid citation?

links = document.links;

for (i=0; i < links.length; i++)

{

href = links[i].getAttribute('href');

if (href.indexOf('#cite_note-listref') == 0)

if (document.getElementById(href.substring(1)) == null)

links[i].parentNode.innerHTML +=

" Listref error: link " +

href +

" doesn't point to any matching citation.";

}

// second check: do endnote IDs have citations pointing to them?

if(window.checkLinksToCitations) {

cites = jQuery('.citation');

for(i=0; i < cites.length; i++) {

id = cites[i].getAttribute('id');

// we only need to check citations with a

if(!id || id.indexOf('cite_note-listref') !== 0)

continue;

// don't do cites that are inside a ref

parentid = cites[i].parentNode.getAttribute('id');

if(parentid && parentid.indexOf('cite_note') === 0)

continue;

// check for links to this citation

query = 'a[href|="#' + id + '"]';

if(jQuery(query).length == 0) {

cites[i].innerHTML +=

" Listref error: There is no link pointing to this citation.";

}

}

}

});