JSFiddle - React, Tailwind, and code Playground

by anthonyshort

HTML

<script src="https://rawgithub.com/ripplejs/ripple/master/dist/ripple.min.js"></script>
<script src="https://rawgithub.com/ripplejs/events/master/dist/ripple-events.min.js"></script>
<script src="https://rawgithub.com/ripplejs/refs/master/dist/ripple-refs.min.js"></script>
<script src="https://rawgithub.com/ripplejs/markdown/master/dist/ripple-markdown.min.js"></script>
<script type="text/template" id="template">
  <div id="editor">
    <textarea on-input="{{ this.change }}">{{text}}</textarea>
    <div markdown="{{text}}"></div>   
  </div>
</script>

CSS

html, body, #editor {
    margin: 0;
    height: 100%;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    color: #333;
}

textarea, #editor div {
    display: inline-block;
    width: 49%;
    height: 100%;
    vertical-align: top;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 20px;
}

textarea {
    border: none;
    border-right: 1px solid #ccc;
    resize: none;
    outline: none;
    background-color: #f6f6f6;
    font-size: 14px;
    font-family: 'Monaco', courier, monospace;
    padding: 20px;
}

code {
    color: #f66;
}

JavaScript

var View = ripple('#template')
  .use(ripple.events)
  .use(ripple.markdown);

View.prototype.change = function(event) {
  this.set('text', event.target.value);  
};

var view = new View({
  data: { 
    text: '# title' 
  }   
});

view.appendTo(document.body);