Difference between revisions of "MediaWiki:Common.js"

From Life After BOB Wiki
Jump to navigation Jump to search
 
(43 intermediate revisions by the same user not shown)
Line 39: Line 39:
 
     name = imageList[i].className
 
     name = imageList[i].className
 
     $('.'+name).css('height','100%');
 
     $('.'+name).css('height','100%');
 +
    $('.'+name).css('max-width','none');
 
   }
 
   }
  
Line 66: Line 67:
 
}
 
}
  
         random = randoms[0].title;
+
      randomsFiltered = randoms.filter(function(item) {
 +
            return item !== "Main Page"
 +
      })
 +
 
 +
         random = randomsFiltered[0].title;
 
          
 
          
         var randomString = "<a href='http://lifeafterbob.wiki/view/"+randoms[0].title+"'>"+randoms[0].title+"</a>"
+
         var randomString = "<a href='http://lifeafterbob.wiki/view/"+random+"'>"+random+"</a>"
         $("#randompage").append(randomString);
+
         $("#randompage").append("<div style='padding:1em;text-align:center'>"+randomString+"</div>");
 
           var newparams = {
 
           var newparams = {
 
action: 'parse',
 
action: 'parse',
 
page: randoms[0].title,
 
page: randoms[0].title,
 +
        section:0,
 +
        headhtml:'<p>',
 
format: 'json'
 
format: 'json'
 
}, api = new mw.Api();
 
}, api = new mw.Api();
Line 79: Line 86:
  
 
             var markup = data.parse.text["*"];
 
             var markup = data.parse.text["*"];
          var parser = new DOMParser();
+
 
var htmlDoc = parser.parseFromString(markup, 'text/xml');
+
var cleanup = markup.replace(/<(.|\n)*?>/g, '');
console.log(htmlDoc);
+
arr = cleanup.split("\n");
 +
var filtered = arr.filter(function(entry) { return entry.trim() != ''; });
 +
 
 +
 
 +
for (var i = 0; i<filtered.length; i++){
 +
  if (filtered[i].includes("\t")){
 +
console.log(filtered[i]);
 +
filtered.splice(filtered.indexOf(filtered[i]), 1);
 +
}
 +
}
 +
//var filtered = arr.filter(s => s.includes('\t') });
 +
var excerpt = filtered[filtered.length-1];
 +
console.log(filtered);
 +
  $("#randompage").append("<div style='padding:1em;'>"+excerpt +"...</div>");
 
});
 
});
 
});
 
});

Latest revision as of 06:40, 23 June 2021

/* Any JavaScript here will be loaded for all users on every page load. */

//open external links in new tab


	$( '.external' ).click( function (e) {
                e.preventDefault(); 
                console.log($(this).attr('href'));
                var url = $(this).attr('href'); 
                window.open(url, '_blank');
	} );

//hover

$('.fc-img').mouseenter(function(){
   $(this).parent().css('background','rgba(255, 255, 255, 0.9)')
})

$('.fc-img').parent().mouseenter(function(){
   $(this).css('background','rgba(255, 255, 255, 0.9)')
})


$('.fc-img').mouseleave(function(){
   $(this).parent().css('background','none')
})

$('.fc-img').parent().mouseleave(function(){
   $(this).css('background','none')
})

var imageList = $('.fc-img').children().children();
console.log(imageList);
var name;
for (var i = 0; i<imageList.length; i++){
  var w = imageList[i].dataset.fileWidth;
  var h = imageList[i].dataset.fileHeight
  if(w-h>0){
    name = imageList[i].className
    $('.'+name).css('height','100%');
    $('.'+name).css('max-width','none');
  }

console.log(imageList[i].dataset.fileWidth+","+imageList[i].dataset.fileHeight);

}
           

            

mw.loader.using( 'mediawiki.api', function () { 
var random;
var params = {
		action: 'query',
		format: 'json',
		list: 'random',
		rnlimit: '1',
                rnnamespace:'0'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var randoms = data.query.random,
		r;
	for ( r in randoms ) {
		console.log( randoms[ r ].title);
	}

       randomsFiltered = randoms.filter(function(item) {
            return item !== "Main Page"
       })

        random = randomsFiltered[0].title;
        
        var randomString = "<a href='http://lifeafterbob.wiki/view/"+random+"'>"+random+"</a>"
        $("#randompage").append("<div style='padding:1em;text-align:center'>"+randomString+"</div>");
          var newparams = {
	action: 'parse',
	page: randoms[0].title,
        section:0,
        headhtml:'<p>',
	format: 'json'
}, api = new mw.Api();

api.get(newparams).done(function(data){

            var markup = data.parse.text["*"];

var cleanup = markup.replace(/<(.|\n)*?>/g, '');
arr = cleanup.split("\n");
var filtered = arr.filter(function(entry) { return entry.trim() != ''; });


for (var i = 0; i<filtered.length; i++){
   if (filtered[i].includes("\t")){
console.log(filtered[i]);
filtered.splice(filtered.indexOf(filtered[i]), 1);
}
}
//var filtered = arr.filter(s => s.includes('\t') });
var excerpt = filtered[filtered.length-1];
console.log(filtered);
  $("#randompage").append("<div style='padding:1em;'>"+excerpt +"...</div>");
});
});



});