Lingua Libre users viz

by Hugo Lopez

HTML

<div id="lg-10k"></div><div id="lg-1k"></div><div id="lg-1"></div>

JavaScript

// console.log(sources[0].page); result[sources[0].page] = data; })

var sources = [
    { page: 'LanguageGalleryData1.js'},
    { page: 'LanguageGalleryData2.js'},/*
    { page: 'LanguageSpeakersFemaleData.js'},
    { page: 'LanguageSpeakersMaleData.js'},
    { page: 'LanguageWikidataData.js'},*/
];
/* *************************************************************** */
// INIT 
var datas = {}; // final object containing consolidated result
var headers = { 'Accept': '*/javascript' }; // optional for purity


var storeData = function(data,item){ 
	console.log(`Data ${item}: ${JSON.stringify(data)}`);
    datas[item]=data;
};
/* *************************************************************** */
// Native Javascript
// CREATES CLASS with parameter `endoint` 
// Wikidata Query Service page > Click : "Code" > Click: "Javascript (Modern)"
// https://query.wikidata.org/#SELECT%20%3Fitem%20WHERE%20%7B%20%3Fitem%20wdt%3AP31%20wd%3AQ5%20%7D%20LIMIT%2010
class apiContentFetcher {
	constructor( prefix, suffix ) {
		this.prefix = prefix || 'https://lingualibre.org/index.php?title=';
		this.suffix = suffix || '&action=raw&ctype=text/json';
	}
	page( page ) {
		page = encodeURIComponent( page );
        const fullUrl = 'https://lingualibre.org/api.php?action=query&list=users&ususers=yug&usprop=groups|editcount|registration&format=json&origin=*';
		//const fullUrl = this.prefix+page+this.suffix+'&origin=*';
        const headers = { 'Accept': 'text/javascript,text/json,text/xml,text/csv,application/javascript,application/json,application/xml,application/csv' };
		return fetch( fullUrl, { headers } ).then( body => body.json() )
        // TEST:
//  .catch(function(err){ console.error(`Error in API call on ${page}: ${err}`)});
	}
}
const rawPageFetcher = new apiContentFetcher();
rawPageFetcher.page('MediaWiki:'+sources[0].page)
	.then(d=> storeData(d, sources[0].page));

/* *************************************************************** */
// Native Javascript
var url =...