| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | /** * preview plugin * @param selector * @param target_selector */function Preview(selector, target_selector) {    // get input element    function get_input($e) {        return $e.find(".js-preview-input").eq(0);    }    // get result html container element    function get_container($t) {        if ($t.hasClass("js-preview-container")) {            return $t        }        return $t.find(".js-preview-container").eq(0);    }    var $e = $(selector);    var $t = $(target_selector);    var $ipt = get_input($t);    if (!$ipt.length) {        console.log("[preview]: no preview input");        return    }    var $cnt = get_container($t);    if (!$cnt.length) {        console.log("[preview]: no preview container");        return    }    // call api via ajax    $e.on("click", function () {        $.post("/api/v1/markdown", {            text: $ipt.val()        }, function (html) {            $cnt.html(html);        })    });    console.log("[preview]: init preview @", selector, "&", target_selector);}$.fn.extend({    markdown_preview: function (target) {        Preview(this, target);    }});
 |