MediaWiki:Gadget-edittools-magnitudo.js
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() {
if (location.href.indexOf("action=edit") == -1 && location.href.indexOf("action=submit") == -1) { return; }
var wikitext;
{
var editbox = document.getElementById('wpTextbox1');
if (editbox == null) { return; }
wikitext = editbox.defaultValue;
}
function outputWeight1000(outputtext) {
var box = document.getElementById('mw-editTools');
if(!box) { return; }
var box2 = document.createElement("div");
box2.appendChild(document.createTextNode(outputtext));
box2.setAttribute("id", "weight1000");
box.appendChild(box2);
}
function getInterwikiLength(article) {
var interwiki_len = 0;
var interwiki_last = 0;
var interwiki_colon = 0;
var interwiki_nl = 0;
var interwiki_first = article.indexOf('[[', interwiki_last);
while (interwiki_last > -1 && interwiki_first > -1) {
interwiki_last = article.indexOf(']]', interwiki_first);
interwiki_colon = article.indexOf(':', interwiki_first);
if (interwiki_colon > -1 && interwiki_colon < interwiki_last) {
var curlang = article.substring(interwiki_first+2, interwiki_colon);
if (isValidLanguageCode(curlang)) {
var interwiki_nl = article.indexOf('\n', interwiki_last);
if (interwiki_nl > -1) {
interwiki_len += (interwiki_nl - interwiki_first) + 1;
} else {
interwiki_len += (interwiki_last - interwiki_first) + 2;
}
}
}
interwiki_first = article.indexOf('[[', interwiki_last);
}
return interwiki_len;
}
function getCommentLength(article) {
var comment_len = 0;
var comment_last = 0;
var comment_first = article.indexOf('<!--', comment_last);
while (comment_first > -1) {
comment_last = article.indexOf('-->', comment_first);
if (comment_last == -1) {
comment_last = comment_first + 4;
}
comment_len += (comment_last - comment_first) - 4;
comment_first = article.indexOf('<!--', comment_last);
}
return comment_len;
}
var languageCodes = '$en$de$fr$pl$ja$it$nl$pt$es$sv$ru$zh$no$fi$vo$' +
'ca$ro$tr$uk$eo$cs$hu$sk$da$id$he$lt$sr$sl$ko$ar$bg$et$hr$new$te$' +
'vi$th$gl$fa$nn$ceb$el$ms$simple$eu$bpy$bs$lb$is$ka$sq$la$br$az$' +
'hi$bn$ht$mk$mr$sh$tl$io$cy$pms$lv$su$ta$jv$nap$oc$nds$scn$ast$' +
'ku$be$wa$af$be-x-old$tg$an$fy$vec$roa-tara$cv$zh-yue$ur$ksh$sw$' +
'qu$uz$mi$ga$bat-smg$ml$gd$yo$co$kn$pam$yi$hsb$nah$ia$li$sa$hy$' +
'tt$als$roa-rup$lmo$map-bms$am$nrm$zh-min-nan$pag$wuu$fo$vls$' +
'nds-nl$se$rm$ne$war$fur$lij$nov$bh$sco$dv$pi$diq$ilo$kk$os$frp$' +
'zh-classical$mt$lad$fiu-vro$pdc$csb$kw$bar$to$haw$mn$ps$ang$km$' +
'gv$tk$ln$ie$tpi$crh$jbo$wo$ay$zea$eml$si$sc$or$ig$mg$cbk-zam$gu$' +
'ky$kg$ty$glk$arc$mo$gn$kab$so$ks$stq$mzn$cu$ce$udm$tet$sd$pap$ba$' +
'pa$rmy$lo$na$bcl$kaa$gan$iu$myv$szl$sah$my$ext$hif$bo$srn$got$' +
'dsb$bm$sm$cdo$chr$mdf$om$ee$as$ti$ug$kv$zu$av$nv$ss$pih$ts$cr$ve$' +
'ch$bi$xh$rw$dz$tn$kl$bug$ik$bxr$st$xal$ny$ak$ab$fj$lg$tw$ha$za$' +
'ff$lbe$ki$sn$tum$sg$ii$chy$rn$cho$mh$aa$ng$kj$ho$mus$kr$hz$arz$' +
'pnt$mhr$ace$ckb$mwl$pnb$pcd$krc$frr$bjn$mrj$koi$gag$pfl$rue$ltg$' +
'kbd$xmf$nso$hak$';
function isValidLanguageCode(code) {
return languageCodes.indexOf("$" + code + "$") > -1;
}
var raw_article_size = wikitext.length;
var interwiki_len = getInterwikiLength(wikitext);
var comment_len = getCommentLength(wikitext);
var article_size = (raw_article_size - interwiki_len - comment_len);
var lang_weight = 1.1;
var weighted_size = Math.round(article_size * lang_weight * 10)/10;
outputWeight1000("Magnitudo: " + (weighted_size));
});