//Modified version of [[User:Smith609/refsByName.js]]
//This version keeps the number when adding the name and fixes the broken regex
var active = false;
function refsByName() {
active = !active;
var links = document.getElementsByTagName("a");
var countLinks = links.length;
var refName = /#cite_note-([^\"\s]*)-\d+$/;
for (var i=1; i<countLinks; i++) {
if (refName.test(links[i].href) && links[i].href) {
var ref = refName.exec(links[i].href)[1];
if (ref.substring(0,8) != "FOOTNOTE") {
var cur = links[i].innerHTML;
if (active) {
links[i].innerHTML = "[" + cur.substring(1,cur.length-1) + " | " + ref + "]";
} else {
var splitter = cur.search("\\|");
if (splitter > -1) {
links[i].innerHTML = cur.substring(0,splitter-1) + "]";
}
}
}
}
}
}
addOnloadHook(refsByName);
//Script can cause formatting nightmares in some scenarios, so keep a toggleoff if its activated
mw.util.addPortletLink('p-tb', 'javascript:refsByName()', "Toggle refsByName");