[TOC] ### Define plugin #### Plugin directory editor.md/ plugins/ plugin-name/ .... #### Example ```javascript (function() { var factory = function (exports) { var $ = jQuery; // if using module loader(Require.js/Sea.js). exports.customMethod = function() { //.... }; exports.fn.youPluginName = function() { /* var _this = this; // this == the current instance object of Editor.md var lang = this.lang; var settings = this.settings; var editor = this.editor; var cursor = cm.getCursor(); var selection = cm.getSelection(); cm.focus(); */ //.... }; }; // CommonJS/Node.js if (typeof require === "function" && typeof exports === "object" && typeof module === "object") { module.exports = factory; } else if (typeof define === "function") // AMD/CMD/Sea.js { if (define.amd) { // for Require.js define(["editormd"], function(editormd) { factory(editormd); }); } else { // for Sea.js define(function(require) { var editormd = require("./../../editormd"); factory(editormd); }); } } else { factory(window.editormd); } })(); ``` #### Usage plugin ```html <script src="../plugins/you-plugin-name/you-plugin-name.js"></script> <script> editormd.customMethod(); var testEditor = editormd("test-editormd", { path : '../lib/', onload : function() { this.youPluginName(); this.pluginA(); this.executePlugin("somePluginName", "you-plugin-name/you-plugin-name"); // load and execute plugin } }); // or $("#btn").click(function(){ testEditor.youPluginName(); }); </script> ```