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 =...