JSFiddle - React, Tailwind, and code Playground
by dariusk
HTML
<div id="out"></div>
JavaScript
var wikipediaHTMLResult = function (data) {
var readData = $('<div>' + data.parse.text['*'] +'</div>');
//console.log(readData.html());
// handle redirects
var redirect = readData.find('.redirectMsg a').text();
console.log('re',redirect, redirect.length);
if (redirect != '') {
callWikipediaAPI(redirect);
return;
}
console.log(readData.find('p').html())
var first = readData.find('p').html().match(/.*?\.\s?/)[0];
console.log(first);
var links = $('<p>'+first+'</p>').find('a');
console.log(links)
var link = links[Math.floor(Math.random()*links.length)];
console.log(2)
var title = link.href.match(/wiki\/(.*)$/)[1].replace(/\#.*/,'');
console.log(3)
$('#out').append(first + '<p></p>');
console.log('calling', title);
callWikipediaAPI(title);
};
function callWikipediaAPI(wikipediaPage) {
// http://www.mediawiki.org/wiki/API:Parsing_wikitext#parse
$.getJSON('http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?', {
page: wikipediaPage,
prop: 'text|images',
uselang: 'en'
}, wikipediaHTMLResult);
}
callWikipediaAPI('List_of_academic_disciplines_and_sub-disciplines');