JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.2.1/backbone-min.js"></script>

JavaScript

var Markdown = Backbone.Model.extend({
    defaults: {
        'text': '',
        'mode': 'markdown'
    },
    url: 'https://api.github.com/markdown'
});

var Issue = Backbone.Model.extend({
    urlRoot: 'https://api.github.com/repos/ibrahim-islam/ibrahim-islam.github.io/issues',
    parse: function (data) {
        console.log('parse', data);
        return data;
    },
    sync: function (method, model, options) {
        if (method !== 'read') return Backbone.sync.apply(this, arguments);

        var xhr = Backbone.ajax({
            type: 'GET',
            dataType: 'json',
            url: _.result(model, 'url')
        });

        return xhr.then(function (resp1) {
            var markdown = new Markdown({
                text: resp1.body || 'body'
            });
            
            var data = JSON.stringify( markdown.toJSON() );
            var success = options.success;
            
            return Backbone.ajax({
                url: _.result(markdown, 'url'),
                dataType: 'html',
                contentType: 'application/json',
                type: 'POST',
                data: data
            }).then(function(resp2) {
                var resp = _.extend({}, resp1, {
                    body: resp2
                });
                success(resp);
                return resp;
            });
        });
    }
});


var o = new Issue({
    id: 1
});
o.fetch().then(function (resp) {
    console.log(o.get('body'));
});