JSFiddle - React, Tailwind, and code Playground

by Gwyn Milcote

HTML

<script src="https://unpkg.com/js-markov/dist/markov.js"></script>
Markov chain generator. Paste sentences into text box, each should be on its own line. Click Add to add them to stored list. Click Use to generate a sentence using the list so far. Click Clear to wipe the list (needed if starting a new generator).

<br>
<textarea id='paste'>...</textarea>
<br>
<button id='add'>Add</button> <button id='use'>Use</button> <button id='clear'>Clear</button>
<br>
<span id='result'></span>

CSS

textarea {width: 100%; height: 100px;resize: none;}

JavaScript

// https://github.com/Edwin-Pratt/js-markov

let markov = new Markov();

$("#clear").click(function(){
    markov.clearChain();
    markov.clearState();
    markov.clearPossibilities();
});

$("#add").click(function(){
    //let text = $("#paste").val();
    let ks = $("#paste").val().split(/\r?\n/);
    markov.addStates(ks);
    console.log(markov.getStates());
});

$("#use").click(function(){
    markov.train();
    //var longText = markov.generateRandom(50);
    let text = markov.generateRandom(50);
    $("#result").html(text);
});