Maak jij deze zomer 2025 Het Perfecte WikiKids-kiekje? Iedereen kan meedoen!

Gebruiker:Rots61/JS-AutoLink.js: verschil tussen versies

Uit Wikikids
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 (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:Autolink|(bewerking gedaan met 'Autolink')]]",
+
                  '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);
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"