MediaWiki:Gadget-full-article-links.js
From WikiMSK
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.
function docReady(fn) {
// see if DOM is already available
if (document.readyState === "complete" || document.readyState === "interactive") {
// call on next available tick
setTimeout(fn, 1);
} else {
document.addEventListener("DOMContentLoaded", fn);
}
}
docReady(fullArticleLinks);
function fullArticleLinks() {
var refs = document.getElementsByClassName('reference-text');
for (var i = 0; i < refs.length; ++i) {
if (refs[i].innerHTML.includes("https://dx.doi.org/") === true){
if (refs[i].innerHTML.includes('target="_blank">DOI</a>')){
var m = refs[i].innerHTML.search("https://dx.doi.org/") + 19;
var n = refs[i].innerHTML.search("DOI</a>") - 18;
var o = refs[i].innerHTML.substring(m,n);
refs[i].innerHTML = refs[i].innerHTML + "<a rel='nofollow noopener noreferrer' class='external text' href='https://" + "s" + "ci-hub.se/" + o + "' " + "target='_blank'" + ">SH</a>";
} else {
var m = refs[i].innerHTML.search("https://dx.doi.org/") + 19;
var n = refs[i].innerHTML.search("DOI</a>") - 2;
var o = refs[i].innerHTML.substring(m,n);
refs[i].innerHTML = refs[i].innerHTML + " " + "<a rel='nofollow noopener noreferrer' class='external text' href='https://" + "s" + "ci-hub.se/" + o + "' " + "target='_blank'" + ">SH</a>";
}
} else {
refs[i].innerHTML = refs[i].innerHTML.replace(/PMID:\s(\d{7,8})/gi, 'PMID:' + "<a href='https://pubmed.ncbi.nlm.nih.gov/" + '$1' + "'" + "target='_blank'" + ">" + '$1' + "</a>" + ". " + "<a rel='nofollow noopener noreferrer' class='external text' href='https://" + "s" + "ci-hub.se/" + '$1' + "' " + "target='_blank'" + ">SH</a>")
}
}
}
/(^10.\d{4,9}\/[-._;()/:A-Z0-9]+$)/i