Maak jij deze zomer 2025 Het Perfecte WikiKids-kiekje? Iedereen kan meedoen!
Gebruiker:Rots61/JS-AutoLink.js: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
(Nieuwe pagina aangemaakt met 'function AutoLink (woord, artikelnaam, helewoord, allekeren) { →var woord = 'Testen'; var artikelnaam = 'Dierproef'; var helewoord = true; var allekeren = true;: ...') |
|||
(4 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 15: | Regel 15: | ||
temp2 = temp[property].revisions[0].slots.main['*']; | temp2 = temp[property].revisions[0].slots.main['*']; | ||
} | } | ||
− | + | if (helewoord) { | |
if (allekeren) { | if (allekeren) { | ||
− | regexp = new RegExp('([\. \r\n,])(' + woord + ')([\. ,])', 'gi'); | + | regexp = new RegExp('([\.; \r\n,])(' + woord + ')([\.; ,])(.{0,}[^=][\r\n])', 'gi'); |
} else { | } else { | ||
− | regexp = new RegExp('([\. \r\n,])(' + woord + ')([\. ,])', 'i'); | + | regexp = new RegExp('([\.; \r\n,])(' + woord + ')([\.; ,])(.{0,}[^=][\r\n])', 'i'); |
} | } | ||
} else { | } else { | ||
if (allekeren) { | if (allekeren) { | ||
− | regexp = new RegExp('([\. \r\n,])(' + woord + ')([\. a-z,])', 'gi'); | + | regexp = new RegExp('([\.; \r\n,])(' + woord + ')([\.; a-z,])(.{0,}[^=][\r\n])', 'gi'); |
} else { | } else { | ||
− | regexp = new RegExp('([\. \r\n,])(' + woord + ')([\. a-z,])', 'i'); | + | regexp = new RegExp('([\.; \r\n,])(' + woord + ')([\.; a-z,])(.{0,}[^=][\r\n])', 'i'); |
} | } | ||
} | } | ||
− | temp3 = temp2.replace(regexp, "$1[[$2]]$3"); | + | temp3 = temp2.replace(regexp, "$1[[$2]]$3$4"); |
api.get({ | api.get({ | ||
action: 'query', | action: 'query', | ||
Regel 42: | Regel 42: | ||
'title': artikelnaam, | 'title': artikelnaam, | ||
'text': temp3, | 'text': temp3, | ||
− | 'summary': "Automatisch link toegevoegd naar: [[" + woord + "]]. [[WikiKids: | + | 'minor': true, |
+ | 'summary': "Automatisch link toegevoegd naar: [[" + woord + "]]. [[WikiKids:AutoLink|(bewerking gedaan met 'Autolink')]]", | ||
'token': edit_token | 'token': edit_token | ||
}).done( | }).done( | ||
Regel 59: | Regel 60: | ||
} | } | ||
+ | function AutoLinkZoeken() { | ||
if (mw.config.get('wgNamespaceNumber') === -1 && (mw.config.get('wgTitle') === "Zoeken" || (mw.config.get('wgTitle') === "Search"))) { | if (mw.config.get('wgNamespaceNumber') === -1 && (mw.config.get('wgTitle') === "Zoeken" || (mw.config.get('wgTitle') === "Search"))) { | ||
woordAL = document.getElementById('searchText').getElementsByTagName('input')[0].value; | woordAL = document.getElementById('searchText').getElementsByTagName('input')[0].value; | ||
Regel 68: | Regel 70: | ||
} | } | ||
} | } | ||
+ | } | ||
+ | $(AutoLinkZoeken); |
Huidige versie van 6 apr 2024 om 19:22
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);