JSFiddle - React, Tailwind, and code Playground

by dariusk

HTML

<div id="out"></div>

JavaScript

var wikipediaHTMLResult = function (data) {
    var readData = $('<div class="top">' + data.parse.text['*'] +'</div>');
    //console.log(readData.html());
    
    //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.children('p').html())
    var first = readData.children('p').html().match(/.*?href.*?\.(\s|\n|)/)[0];
    console.log(first);
    var links = $('<p>'+first+'</p>').find('a[title]');
    console.log(links)
    var link = links[Math.floor(Math.random()*links.length)];
    console.log(link)    
    var title = link.href.match(/wiki\/(.*)$/)[1].replace(/\#.*/,'');

    $('#out').append('<p>' + $('<p>'+first+'</p>').text() + '</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('Tomato');