Gebruiker:Rots61/JS-AutoLink.js

Uit Wikikids
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);
Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/index.php?title=Gebruiker:Rots61/JS-AutoLink.js&oldid=851534"