Gebruiker:Rots61/JS-AutoLink.js
Naar navigatie springen
Naar zoeken springen
Let op! Nadat je de veranderingen hebt opgeslagen, moet je de cache van je browser nog legen om ze daadwerkelijk te zien.
Mozilla (incl. Firefox) | ctrl-shift-r |
IE | ctrl-f5 |
Opera | f5 |
Safari | cmd-r |
Konqueror | f5 |
function AutoLink (woord, artikelnaam, helewoord, allekeren) {
/*var woord = 'Testen';
var artikelnaam = 'Dierproef';
var helewoord = true;
var allekeren = true; */
api.get({
action: "query",
prop: "revisions",
titles: artikelnaam,
rvprop: 'content',
rvslots: '*'
}).then(function (data) {
temp = data.query.pages;
for (const property in temp) {
temp2 = temp[property].revisions[0].slots.main['*'];
}
if (helewoord) {
if (allekeren) {
regexp = new RegExp('([\.; \r\n,])(' + woord + ')([\.; ,])(.{0,}[^=][\r\n])', 'gi');
} else {
regexp = new RegExp('([\.; \r\n,])(' + woord + ')([\.; ,])(.{0,}[^=][\r\n])', 'i');
}
} else {
if (allekeren) {
regexp = new RegExp('([\.; \r\n,])(' + woord + ')([\.; a-z,])(.{0,}[^=][\r\n])', 'gi');
} else {
regexp = new RegExp('([\.; \r\n,])(' + woord + ')([\.; a-z,])(.{0,}[^=][\r\n])', 'i');
}
}
temp3 = temp2.replace(regexp, "$1[[$2]]$3$4");
api.get({
action: 'query',
prop: 'info',
intoken: 'edit',
titles: 'kaslv', //Pagina moet niet bestaan.
}).done(
function (data) {
edit_token = data.query.pages['-1'].edittoken;
}).done(function (data) {
api.post({
'action': 'edit',
'title': artikelnaam,
'text': temp3,
'minor': true,
'summary': "Automatisch link toegevoegd naar: [[" + woord + "]]. [[WikiKids:AutoLink|(bewerking gedaan met 'Autolink')]]",
'token': edit_token
}).done(
function (data) {
if (data.edit.result == "Success" && data.edit.newrevid) {
mw.notify("Opgeslagen!", { autoHide: false });
} else if (data.edit.result == "Success") {
mw.notify("Geen wijziging mogelijk, voer dit handmatig uit: " + data.edit.title, { autoHide: false });
} else {
mw.notify("Mislukt, meldt dit bij mij", { autoHide: false });
}
console.log(data.edit);
});
});
});
}
function AutoLinkZoeken() {
if (mw.config.get('wgNamespaceNumber') === -1 && (mw.config.get('wgTitle') === "Zoeken" || (mw.config.get('wgTitle') === "Search"))) {
woordAL = document.getElementById('searchText').getElementsByTagName('input')[0].value;
totalelengteAL = document.getElementsByClassName('searchresults')[0].getElementsByTagName('li').length;
for (var x = 0; x < totalelengteAL; x++) {
console.log(x);
artikel = document.getElementsByClassName('searchresults')[0].getElementsByTagName('li')[x].getElementsByTagName('a')[0].title;
document.getElementsByClassName('searchresults')[0].getElementsByTagName('li')[x].innerHTML+= '<a href="javascript:void(0);" onclick="AutoLink(\'' + woordAL + '\',\'' + artikel + '\',true,true);">Plaats linkjes naar ' + woordAL + '</a>';
}
}
}
$(AutoLinkZoeken);