SOURCE

console 命令行工具 X clear

                    
>
console
new Vue({
    el: '#editor',
    data: {
        input: ''
    },
    computed: {
        compiledMarkdown: function() {
            return marked(this.input, {
                sanitize: true,
                highlight: function(code) {
                    return hljs.highlightAuto(code).value;
                }
            })
        }
    },
    methods: {
        update: _.debounce(function(e) {
            this.input = e.target.value
        },
        300)
    }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js">
</script>
<script src="https://unpkg.com/marked@0.3.6">
</script>
<script src="https://unpkg.com/lodash@4.16.0">
</script>

<div id="editor">
    <textarea :value="input" @input="update">
    </textarea>
    <div class="markdown" v-html="compiledMarkdown">
    </div>
</div>
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;
    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;
}

.markdown {
    color: #fff
}

本项目引用的自定义外部资源