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');