@dskripchenko/wysiwyg
Vue 3 WYSIWYG-редактор без сторонних editor-движков. Собственный contenteditable-engine, selection API, sanitize, history. UI на @dskripchenko/ui.
2,800
| Install | |
|---|---|
npm install @dskripchenko/wysiwyg |
|
| Latest Version: | 0.2.10 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 14, 2026 |
| Links: | GitHub · npm |
Maintainer: dskripchenko
@dskripchenko/wysiwyg
A full-featured Vue 3 WYSIWYG editor with zero peer dependencies on
editor libraries — no Tiptap, no ProseMirror, no Quill, no Slate.
Built on contenteditable + Selection/Range API.
~12 KB gzip. Optionally uses @dskripchenko/ui for toolbar icons.
Install
npm i @dskripchenko/wysiwyg
Optional (for nicer icons):
npm i @dskripchenko/ui lucide-vue-next
Quick start
<script setup>
import { ref } from 'vue'
import { DskWysiwyg } from '@dskripchenko/wysiwyg'
import '@dskripchenko/wysiwyg/style.css'
const html = ref('<p>Hello <strong>world</strong>!</p>')
</script>
<template>
<DskWysiwyg v-model="html" :resizable="true" />
</template>
Features
- Inline marks — bold/italic/underline/strike/code, link, image, hr.
- Block formats — headings (h1-h6), blockquote, ul/ol, code-block.
- Markdown shortcuts —
#,##,-,1.,>,```at the start of a block. - Slash commands — type
/to open a popup with heading/list/quote/ code/hr/table commands. - Tables — insert / addRow / addColumn / removeRow / removeColumn / removeTable.
- Code syntax highlighting — js/ts/tsx/jsx/php/html/css/json
in
<pre><code class="language-X">blocks. - HTML→Markdown —
htmlToMarkdown(html)helper. - Source mode — toggle to raw HTML editor with beautify on view, minify on save, syntax highlighting overlay.
- Sanitize — DOMParser-based whitelist (own implementation).
- Undo/Redo — custom history stack with throttled commits.
- Hotkeys — ⌘B, ⌘I, ⌘U, ⌘Z, ⌘⇧Z.
- Themes —
data-theme="dark"/:root.dark/prefers-color-scheme: darkaware. - Resizable — user can resize the widget vertically (min/max via props).
Documentation
- Getting started
- Controller API (chain-style API)
- Extensions — markdown shortcuts, slash, tables, highlight
- Customization — toolbar, themes, sizing
- Migration guide
License
MIT © Denis Skripchenko
Related Packages
@xproeditor/vue
Notion-like block editor for Vue 3 — supports a sticky format toolbar and/or a f...
1,516
1
@farena/fa-editor
Zero-dependency rich-text editor for Vue 3, with a strict and stable HTML contra...
539
0
@lilac-wysiwyg/core
Lilac - a smooth, modern WYSIWYG text editor built with pure TypeScript. Zero de...
1,851
15
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.2.10 | ^3.4 | MIT | |
| 0.2.8 | ^3.4 | MIT | |
| 0.2.7 | ^3.4 | MIT | |
| 0.2.6 | ^3.4 | MIT | |
| 0.2.5 | ^3.4 | MIT | |
| 0.2.4 | ^3.4 | MIT | |
| 0.2.3 | ^3.4 | MIT | |
| 0.2.2 | ^3.4 | MIT | |
| 0.2.1 | ^3.4 | MIT | |
| 0.2.0 | ^3.4 | MIT | |
| 0.1.0 | ^3.4 | MIT |