JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 12
  • Score
    100M100P100Q44852F
  • License MIT

๐Ÿš€ a customized, rich-ui tiptap editor

Package Exports

  • customized-tiptap-editor
  • customized-tiptap-editor/dist/style.css

Readme

โœจ Customized TipTap

A beautiful, powerful, and developer-friendly WYSIWYG rich-text editor built on TipTap and customized to work seamlessly with Vuetify 3, Tailwind, and Material Design Icons.


๐Ÿ“Œ What is Customized TipTap?

customized-tiptap is a feature-rich Vue 3 plugin offering a refined editing experience out of the box. Designed with clean aesthetics and an extensible architecture, it simplifies rich-text editing for modern Vue applications.

๐Ÿ›  Based on TipTap 2
๐ŸŽจ Styled with Tailwind & Vuetify 3
๐Ÿ”— Includes out-of-the-box Vuetify-compatible UI
๐Ÿ’ฌ Multilingual & markdown-capable (in roadmap)


๐Ÿš€ Demo

You can find a live demo of the editor here.


โœจ Features

  • ๐Ÿ“ Vuetify-styled menus โ€” Looks and feels native to your Vuetify app
  • ๐ŸŽจ Tailwind-powered layout โ€” Clean, customizable UI
  • ๐Ÿงฉ Pluggable extensions โ€” Easily extend or override editor behavior
  • ๐Ÿ”  Markdown-friendly output
  • ๐Ÿงผ Zero warnings โ€” Clean console, smooth experience
  • ๐Ÿง  Full TypeScript support
  • ๐Ÿช„ Custom merge field support
  • ๐Ÿช„ Auto-formatting (coming soon)

๐Ÿ“ฆ Installation

npm install customized-tiptap-editor

This package requires Vuetify 3 and @mdi/font as peer dependencies.


๐Ÿš€ Setup Instructions

1. Install the package

Install the package through the following command:

npm install customized-tiptap-editor

2. Make sure Vuetify and Material Design Icons are installed

Install Vuetify and MDI icons if not already installed:

npm install vuetify @mdi/font

3. Import styles files

import the following styles into your consumer app.

import '@mdi/font/css/materialdesignicons.css';
import 'customized-tiptap-editor/dist/style.css';
import "vuetify/styles";

4. Register the plugin

In your main entry file (e.g. main.ts or main.js):

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';

import CustomizedTipTapPlugin from 'customized-tiptap-editor';
import '@mdi/font/css/materialdesignicons.css';
import 'customized-tiptap-editor/dist/style.css';

import { createVuetify } from 'vuetify';
import * as components from 'vuetify/components';
import * as directives from 'vuetify/directives';

const vuetify = createVuetify({
  components,
  directives,
});

const app = createApp(App);

app.use(router);
app.use(vuetify); // Vuetify must be used
app.use(CustomizedTipTapPlugin); // Register the editor plugin

app.mount('#app');

Note: The editor requires Vuetify and MDI icons to render properly. Ensure both are imported as shown above.


๐Ÿ’ก Usage Example

<template>
  <customized-tiptap />
</template>

<script setup lang="ts">
import { ref } from 'vue'

const content = ref('<p>Hello world!</p>')
</script>

๐Ÿงช Props

Each prop is designed with flexibility and clarity in mind:

  • readonly?: boolean โ€” Toggle read-only mode.
  • content?: string โ€” Initial HTML content to load into the editor.
  • excludedExtensions?: TiptapExtensionName[] โ€” Extensions to exclude from the editor setup.
  • includedExtensions?: TiptapExtensionName[] โ€” Explicitly specify which extensions to include.
  • editorProps?: EditorProps โ€” Pass native props directly to the underlying Tiptap editor.
  • customClasses?: TiptapEditorCustomClasses โ€” Apply custom CSS classes, e.g., { editorWrapper: 'my-wrapper' }.
  • editorOptions?: EditorOptions โ€” Full control over Tiptap editor options (like editable, autofocus, etc).

๐Ÿงฉ Extension API

Want to add custom buttons or logic? You can pass in your own extensions, merge fields, and configurations. More advanced usage docs coming soon.


โ— Requirements

  • Vue 3
  • Vuetify 3
  • Tailwind CSS (optional but recommended)
  • @mdi/font

๐Ÿ›  Roadmap

  • Vuetify 3 integration
  • TypeScript support
  • Custom merge field insertion
  • Markdown export support
  • Plugin system for menus and toolbars
  • I18n (English, Farsi, and more)

๐Ÿง‘โ€๐Ÿ’ป Contributing

Issues, ideas, and pull requests are always welcome! If you spot any bugs or have suggestions, feel free to open an issue.


๐Ÿ“„ License

MIT ยฉ Mohammad