function csv2md(src, opt) { var del = "," var eol = "\n" var dst = "" src = src.split(eol).map(e => e.split(del)) if (src.length < 2) { return "" } for (var i = 0; i < src.length; i++) { if (i === 1) { dst += "|" for (var j = 0; j < src[0].length; j++) { dst += "---|" } dst += eol } var tmp = "" tmp = src[i].join("|") tmp = "|" + tmp + "|" dst += tmp + eol } return dst } function extendHtmlTable(src) { src = src.split("<table>").join("<table class=\"ui celled table\">") return src } var app = new Vue({ el: '#app', data: { csv: '', md: "", html: "", debug: "" }, methods: { compile() { this.md = csv2md(this.csv) this.html = marked("\n" + this.md, { sanitize: true }) this.debug = extendHtmlTable(this.html) }, changeCsv: function() { this.compile() }, changeMd: function() { this.html = marked("\n" + this.md, { sanitize: true }) this.debug = extendHtmlTable(this.html) }, changeHtml: function() { this.debug = extendHtmlTable(this.html) } } })