{"id":29095826,"url":"https://github.com/WendellAdriel/jodit-vue","last_synced_at":"2025-06-28T11:32:43.365Z","repository":{"id":33374334,"uuid":"157913401","full_name":"WendellAdriel/jodit-vue","owner":"WendellAdriel","description":"Vue wrapper for Jodit Editor","archived":false,"fork":false,"pushed_at":"2023-12-06T01:28:22.000Z","size":1496,"stargazers_count":81,"open_issues_count":5,"forks_count":20,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-20T07:04:11.777Z","etag":null,"topics":["editor","jodit","richeditor","vue","vue2","vue3","wrapper","wysiwyg","wysiwyg-editor"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WendellAdriel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-16T19:40:09.000Z","updated_at":"2025-04-10T08:01:39.000Z","dependencies_parsed_at":"2024-06-18T17:03:10.215Z","dependency_job_id":"dd636aa5-97f8-4699-b4c1-10d8dbdd80f9","html_url":"https://github.com/WendellAdriel/jodit-vue","commit_stats":{"total_commits":109,"total_committers":8,"mean_commits":13.625,"dds":0.5229357798165137,"last_synced_commit":"e557b79df63ef632f2654b74c32175573a473414"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/WendellAdriel/jodit-vue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fjodit-vue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fjodit-vue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fjodit-vue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fjodit-vue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WendellAdriel","download_url":"https://codeload.github.com/WendellAdriel/jodit-vue/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fjodit-vue/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261020731,"owners_count":23098210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["editor","jodit","richeditor","vue","vue2","vue3","wrapper","wysiwyg","wysiwyg-editor"],"created_at":"2025-06-28T11:32:37.735Z","updated_at":"2025-06-28T11:32:43.360Z","avatar_url":"https://github.com/WendellAdriel.png","language":"JavaScript","funding_links":[],"categories":["Integrations","JavaScript"],"sub_categories":["Jodit Vue"],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cp\u003e\n        \u003ch1\u003eJodit Vue\u003c/h1\u003e\n        Vue Wrapper for the \u003ca href=\"https://github.com/xdan/jodit\" target=\"_blank\"\u003eJodit Editor\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.npmjs.com/package/jodit-vue\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/jodit-vue.svg?style=flat-square\" alt=\"Version\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://npmcharts.com/compare/jodit-vue\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/npm/dm/jodit-vue.svg?style=flat-square\" alt=\"Downloads\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/WendellAdriel/jodit-vue/blob/master/LICENSE\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/github/license/mashape/apistatus.svg?style=flat-square\" alt=\"License\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## How to use\n\n\u003e Use version 2.* for Vue 2\n\u003e\n\u003e Use version 3.* for Vue 3\n\nInstall **Jodit Vue**:\n\n```\nnpm install jodit-vue --save\n// or with Yarn\nyarn add jodit-vue\n```\n\n## Import and use it\n\nSince this component is just a wrapper, you need to include the `css` of the **Jodit Editor** on your app for it to work properly, if you're using `vue-cli` to create your app, or another build system you can import it directly or add a `link` tag with the `css` file provided by the **Jodit Editor** package.\n\n```js\nimport 'jodit/build/jodit.min.css'\nimport Vue from 'vue'\nimport JoditVue from 'jodit-vue'\n\nVue.use(JoditVue)\n```\n\nInstead of using `Vue.use(JoditVue)` you can use the component locally\n\n```vue\n\u003ctemplate\u003e\n    \u003cdiv id=\"app\"\u003e\n        \u003cjodit-editor v-model=\"content\" /\u003e\n    \u003c/div\u003e\n\u003c/template\u003e\n\n\u003cscript\u003e\nimport 'jodit/build/jodit.min.css'\nimport { JoditEditor } from 'jodit-vue'\n\nexport default {\n    name: 'app',\n\n    components: { JoditEditor },\n\n    data () {\n        return {\n            content: '\u003ch1\u003eHello Jodit Vue\u003c/h1\u003e'\n        }\n    }\n}\n\u003c/script\u003e\n```\n\nYou can check and test it on **[Codesanbox](https://codesandbox.io/s/jv0l1r86wv)** too.\n\n## Using without a build system\n\nIf you don't use a build system on your app, you can also use Jodit Vue without problems, check and test it on this **[JsFiddle](https://jsfiddle.net/6ch2gn0t/)**.\n\n## Component Properties\n\nIf you pass only the `v-model` for the component, it will load all the editor features, if you want to customize it, you can do it with its properties that are listed below, but all of them are not required, just if you want to customize your editor that you will need them:\n\n| Property         | Type    | Default Value | Description                                                                                                           |\n| :--------------: | :-----: | :-----------: | :-------------------------------------------------------------------------------------------------------------------: |\n| buttons          | Array   | `null`        | The buttons that you want to show on toolbar, if this is not provided, all the buttons will be shown                  |\n| extraButtons     | Array   | `null`        | If you need to create and display custom buttons you can pass an array with your custom buttons to this property      |\n| config           | Object  | `{}`          | The config object that has all the other configurations for the editor                                                |\n| plugins          | Array   | `[]`          | If you need to create custom plugins you can pass array of plugins to this property                                   |\n\n#### Buttons property\n\nWhen providing the buttons to show on the editor you will need to provide an array with the buttons that you want to show. The button names can be found **[here](https://xdsoft.net/jodit/play.html)**. You can also pass a `|` to put a divider between the buttons.\n\n```vue\n\u003ctemplate\u003e\n    \u003cdiv id=\"app\"\u003e\n        \u003cjodit-editor v-model=\"content\" :buttons=\"buttons\" /\u003e\n    \u003c/div\u003e\n\u003c/template\u003e\n\n\u003cscript\u003e\nimport 'jodit/build/jodit.min.css'\nimport { JoditEditor } from 'jodit-vue'\n\nexport default {\n    name: 'app',\n\n    components: { JoditEditor },\n\n    data () {\n        return {\n            content: '\u003ch1\u003eHello Jodit Vue\u003c/h1\u003e',\n            buttons: ['source', 'image', '|', 'bold', 'underline', 'italic']\n        }\n    }\n}\n\u003c/script\u003e\n```\n\n#### Extra Buttons property\n\nIf you need to create custom buttons to the editor, you can create them and provide the component with an array\n\n```vue\n\u003ctemplate\u003e\n    \u003cdiv id=\"app\"\u003e\n        \u003cjodit-editor v-model=\"content\" :buttons=\"buttons\" :extra-buttons=\"customButtons\" /\u003e\n    \u003c/div\u003e\n\u003c/template\u003e\n\n\u003cscript\u003e\nimport 'jodit/build/jodit.min.css'\nimport { JoditEditor } from 'jodit-vue'\n\nexport default {\n    name: 'app',\n\n    components: { JoditEditor },\n\n    data () {\n        return {\n            content: '\u003ch1\u003eHello Jodit Vue\u003c/h1\u003e',\n            buttons: ['source', 'image', '|', 'bold', 'underline', 'italic'],\n            customButtons: [\n                {\n                    name: 'insertDate',\n                    iconURL: 'http://xdsoft.net/jodit/logo.png',\n                    exec: function (editor) {\n                        editor.selection.insertHTML((new Date).toDateString());\n                    }\n                }\n            ]\n        }\n    }\n}\n\u003c/script\u003e\n```\n\nTo create custom buttons, check the **[Jodit Editor Docs](https://xdsoft.net/jodit/doc/)**\n\n#### Config property\n\nThis config allows you to pass all the other configurations found **[here](https://xdsoft.net/jodit/doc/options/)** to customize your editor\n\n#### Plugins property\nPlugins property allows you to pass array of plugin objects with name and callback which will be initialized when Jodit is initialized. Plugins are initialized globally and it will added to all instances of Jodit editor.\nFor example:\n```vue\n\u003ctemplate\u003e\n    \u003cdiv id=\"app\"\u003e\n        \u003cjodit-editor v-model=\"content\" :plugins=\"plugins\" /\u003e\n    \u003c/div\u003e\n\u003c/template\u003e\n\n\u003cscript\u003e\nimport 'jodit/build/jodit.min.css'\nimport { JoditEditor } from 'jodit-vue'\n\nexport default {\n    name: 'app',\n\n    components: { JoditEditor },\n\n    data () {\n        return {\n            content: '\u003ch1\u003eHello Jodit Vue\u003c/h1\u003e',\n            plugins: [\n              {\n                name: 'example',\n                callback: function (editor) {\n                  editor.events.on('afterInit', function () {\n                    console.warn('Example plugin has beed initialized, check Jodit documentation for more details.')\n                  })\n                }\n              }\n            ]\n        }\n    }\n}\n\u003c/script\u003e\n```\nTo add plugins Jodit Vue uses `Jodit.plugins.add` API.\nCheck Jodit [documentation](https://github.com/xdan/jodit#create-plugin) and [examples](https://xdsoft.net/jodit/examples/plugin/custom_plugin.html) how to implement plugins.\n\n## Credits ✨\n\n- [Wendell Adriel](https://github.com/WendellAdriel)\n- [All Contributors](https://github.com/WendellAdriel/jodit-vue/contributors)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWendellAdriel%2Fjodit-vue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWendellAdriel%2Fjodit-vue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWendellAdriel%2Fjodit-vue/lists"}