
syncfusion-javascript-rich-text-editor
Implements the Syncfusion Rich Text Editor and Markdown Editor using TypeScript (ej2-richtexteditor). Supports both HTML (WYSIWYG) and Markdown modes via editorMode on a single RichTextEditor class. Use this skill for toolbar setup, image/media/table handling, inline or iframe editing, AI assistant, smart editing, import/export, and all content editor scenarios.
- Installs
- 65
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/javascript-ui-controls-skills --skill syncfusion-javascript-rich-text-editor- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-javascript-rich-text-editor automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Implementing Syncfusion Rich Text Editor
A unified skill for implementing the Syncfusion Rich Text Editor (RTE) and Markdown Editor in TypeScript. Both editors share the same RichTextEditor class and @syncfusion/ej2-richtexteditor package — the only difference is the editorMode property and which feature module you inject.
Editor Mode Decision Guide
User wants WYSIWYG / formatted HTML content? → Use
editorMode: 'HTML'(default), injectHtmlEditorUser wants markdown / plain text with preview? → Use
editorMode: 'Markdown', injectMarkdownEditorUser wants iframe isolation? → Add
iframeSettings: { enable: true }to HTML modeUser wants inline editing? → Add
inlineMode: { enable: true }to HTML mode
When to Use This Skill
Use this skill when the user needs to:
- Build a rich text / WYSIWYG editor for blog posts, comments, emails, CMS content
- Build a markdown editor with live preview for documentation, note-taking, developer tools
- Customize the toolbar — add/remove items, change layout, add custom tools
- Insert media — images, audio, video, file browser integration
- Enable smart editing — @mention, slash commands, emoji picker, mail merge
- Add AI writing assistance to the editor
- Handle editor value — get/set HTML or markdown content, auto-save, character count
- Work with tables and links inside the editor
- Configure validation — form integration, XHTML validation, read-only mode
- Style or theme the editor — fonts, colors, CSS customization
- Import/export content — Word/PDF/Markdown import and export
Trigger keywords: RichTextEditor, MarkdownEditor, editorMode, WYSIWYG, rich text, markdown editor, content editor, text formatting, ej2-richtexteditor, HtmlEditor, inline editor, iframe editor
Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Package installation and CSS imports
- Module injection (HtmlEditor vs MarkdownEditor)
- HTML editor initialization
- Markdown editor initialization
- Toolbar configuration at setup
- Feature module reference table
Editor Modes & Types
📄 Read: references/editor-modes.md
- HTML mode vs Markdown mode decision
- Iframe editor (style-isolated editing)
- Inline editing (toolbar appears on selection)
- Resizable editor
- editorMode API and switching modes
Toolbar Configuration
📄 Read: references/toolbar.md
- Toolbar types: Expand, MultiRow, Scrollable, Popup
- Toolbar position: Top / Bottom
- Sticky (floating) toolbar
- Quick toolbars for image, link, table, audio, video, text
- Separator usage (
|and-)
Tools (Built-in & Custom)
📄 Read: references/tools.md
- Complete built-in tools catalog (text, font, alignment, lists, etc.)
- Adding and removing toolbar tools
- Creating custom toolbar commands
- Enabling / disabling toolbar items programmatically
- Text formatting, styling, fullscreen tools
Editor Value (Get/Set/Save)
📄 Read: references/editor-value.md
- Set initial content with
value/valueTemplate - Get HTML content:
editor.value,getHtml(),getText() - Change events and auto-save (
saveInterval) - Character count and max length
- Encoded HTML output (
enableHtmlEncode) - Source code editing (SourceCode tool)
- Placeholder text
Insert Image & Media
📄 Read: references/insert-image-media.md
- Insert images (URL, upload, drag-drop)
- Insert audio and video
- File browser integration
- Upload configuration (server upload, rename)
- Image/media quick toolbar
Tables
📄 Read: references/table.md
- Creating tables (toolbar, programmatic)
- Table quick toolbar operations
- Cell properties, alignment, merge/split
- Table style customization
Links
📄 Read: references/link.md
- Insert hyperlinks
- Link quick toolbar (Open, Edit, Remove)
- Auto-linking URLs
Smart Editing
📄 Read: references/smart-editing.md
- @mention integration
- Slash menu / slash commands
- Emoji picker
- Mail merge with dynamic placeholders
AI Assistant
📄 Read: references/ai-assistant.md
- Integrating AI assistant panel
- AI assistant properties and configuration
- Customizing AI suggestions UI
Markdown-Specific Features
📄 Read: references/markdown-features.md
- Supported markdown syntax (headings, lists, bold, italic, etc.)
- Custom markdown format definitions
- Live markdown preview (split-pane)
- Insert image / table in markdown mode
- Mention support in markdown mode
- Toolbar items specific to markdown
Content Operations
📄 Read: references/content-operations.md
- Code block support
- Text selection API
- Clipboard cleanup
- Paste cleanup (Word paste, HTML cleanup)
- Undo/redo configuration
- Execute command programmatically (
executeCommand) - Enter key configuration (P, BR, DIV)
Import & Export
📄 Read: references/import-export.md
- Import Word/HTML documents into the editor
- Export editor content to Word / PDF
- Markdown import/export
Style & Appearance
📄 Read: references/style-appearance.md
- CSS customization and
cssClass - Style encapsulation
- Adding custom Google fonts
- Spell and grammar check
- Globalization (RTL, localization)
- Tailwind CSS preflight workarounds
- Default font configuration
- Placeholder text styling
Validation & Security
📄 Read: references/validation-security.md
- HTML form integration with RTE
- XHTML validation and XSS prevention
- Read-only mode
How-To Scenarios
📄 Read: references/how-to.md
- RTE inside Dialog
- RTE inside Tab control
- File attachment support
- File size restrictions
- Format code blocks
- Custom shortcut keys
- Save functionality
- Cursor position control
- Rename images on server
Properties Reference
📄 Read: references/properties.md
- Complete list of all
RichTextEditorproperties with types, defaults, and descriptions - Sub-type details for complex model properties (toolbar, image, table, font, color, AI assistant, etc.)
- Code examples for key properties
Methods Reference
📄 Read: references/methods.md
- Complete list of all public instance methods with signatures and return types
- Parameter details and usage examples
executeCommandwith fullCommandNameenum and argument interfaces- Static
Injectmethod and available module list
Events Reference
📄 Read: references/events.md
- Complete list of all component events with types and event argument details
- Lifecycle events:
created,destroyed,blur,focus,change - Upload events for images, audio, and video
- AI Assistant events:
aiAssistantPromptRequest,aiAssistantToolbarClick,aiAssistantStopRespondingClick - Toolbar, popup, dialog, quick toolbar, resize, and selection events
Quick Start
npm install @syncfusion/ej2-angular-richtexteditor
npm install @syncfusion/ej2-tailwind3-theme
HTML Editor (WYSIWYG)
/* styles.css */
@import '../node_modules/@syncfusion/ej2-tailwind3-theme/styles/rich-text-editor/index.css';
import { RichTextEditor, Toolbar, Link, Image, HtmlEditor, QuickToolbar } from '@syncfusion/ej2-richtexteditor';
RichTextEditor.Inject(Toolbar, Link, Image, HtmlEditor, QuickToolbar);
const editor = new RichTextEditor({
toolbarSettings: {
items: ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments',
'OrderedList', 'UnorderedList', '|', 'CreateLink', 'Image', '|',
'SourceCode', 'Undo', 'Redo']
},
value: '<p>Start editing here...</p>'
});
editor.appendTo('#editor');
<!-- index.html -->
<div id="editor"></div>
Markdown Editor
import { RichTextEditor, Toolbar, Link, Image, MarkdownEditor } from '@syncfusion/ej2-richtexteditor';
RichTextEditor.Inject(Toolbar, Link, Image, MarkdownEditor);
const editor = new RichTextEditor({
editorMode: 'Markdown',
toolbarSettings: {
items: ['Bold', 'Italic', 'StrikeThrough', 'InlineCode', '|',
'Formats', 'Blockquote', '|', 'OrderedList', 'UnorderedList',
'CreateLink', 'Image', 'CreateTable', '|', 'Undo', 'Redo']
},
value: '## Hello Markdown\n\nStart writing here...'
});
editor.appendTo('#editor');
Common Patterns
Get editor value on form submit
const form = document.getElementById('myForm');
form.addEventListener('submit', () => {
const content = editor.value; // HTML string or Markdown string
console.log(content);
});
Auto-save content
const editor = new RichTextEditor({
saveInterval: 5000, // save every 5 seconds of inactivity
change: (args) => {
localStorage.setItem('draft', args.value);
}
});
Read-only mode
editor.readonly = true;
Programmatically set content
editor.value = '<p>New content</p>';
editor.dataBind(); // apply the change
Module Injection Reference
| Feature | Module to Inject |
|---|---|
| HTML editing | HtmlEditor |
| Markdown editing | MarkdownEditor |
| Toolbar | Toolbar |
| Hyperlinks | Link |
| Images | Image |
| Audio | Audio |
| Video | Video |
| Tables | Table |
| Quick toolbars | QuickToolbar |
| Paste cleanup | PasteCleanup |
| Character count | Count |
| Resize | Resize |
| File manager | FileManager |
| Mention | Mention (from ej2-dropdowns) |
Inject only what you need — each module adds to bundle size. Always call
RichTextEditor.Inject(...)beforenew RichTextEditor(...).
FAQ
What does the syncfusion-javascript-rich-text-editor skill do?
Implements the Syncfusion Rich Text Editor and Markdown Editor using TypeScript (ej2-richtexteditor). Supports both HTML (WYSIWYG) and Markdown modes via editorMode on a single RichTextEditor class. Use this skill for toolbar setup, image/media/table handling, inline or iframe editing, AI assistant, smart editing, import/export, and all content editor scenarios.
How do I install syncfusion-javascript-rich-text-editor?
Run npx skills add https://github.com/syncfusion/javascript-ui-controls-skills --skill syncfusion-javascript-rich-text-editor in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-javascript-rich-text-editor/ (personal) or .claude/skills/syncfusion-javascript-rich-text-editor/ (project).
Which AI agents can use syncfusion-javascript-rich-text-editor?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is syncfusion-javascript-rich-text-editor safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains syncfusion-javascript-rich-text-editor?
It is published by syncfusion in syncfusion/javascript-ui-controls-skills. It has 65 recorded installs.
More from syncfusion/javascript-ui-controls-skills
syncfusion-javascript-grid
syncfusion/javascript-ui-controls-skills
Implements Syncfusion JavaScript Grid component for feature-rich data tables and grids. Use this when working with data display, sorting, filtering, grouping, aggregates, editing, or exporting. This skill covers grid configuration, CRUD operations, virtual scrolling, hierarchy grids, state persistence, and advanced data management features for data-intensive applications.
syncfusion-javascript-common
syncfusion/javascript-ui-controls-skills
Common utilities and features for Syncfusion JavaScript controls. Use this skill when the user needs to implement animations, drag-and-drop, state persistence, RTL support, localization, globalization, security, templates, and advanced features for Syncfusion JavaScript controls.
syncfusion-javascript-dropdowns
syncfusion/javascript-ui-controls-skills
Comprehensive guide for implementing Syncfusion TypeScript dropdown components including AutoComplete, ComboBox, Mention, Dropdownlist, Multiselect, ListBox, and MultiColumn ComboBox. Use this when building selection interfaces, data binding, filtering, cascading dropdowns, dual list transfer, custom templates, and accessible dropdown experiences.
syncfusion-javascript-tab
syncfusion/javascript-ui-controls-skills
This skill enables creating and customizing Syncfusion TypeScript Tab components, including tab navigation, tab headers, styling, responsive layouts, dynamic content loading, animations, and multi-panel organization.
syncfusion-javascript-license
syncfusion/javascript-ui-controls-skills
Open the skill to read its SKILL.md instructions.
syncfusion-javascript-popups
syncfusion/javascript-ui-controls-skills
Open the skill to read its SKILL.md instructions.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.