Request Framework Support
Don't see your framework listed? LikhaEditor is designed to work with any JavaScript framework or backend system. We'd love to help you integrate it!
Supported Frameworks
- [x] Vanilla JavaScript - npm package and CDN UMD bundle
- [x] React -
@likhaeditor/likhaeditor-react - [x] Laravel Blade -
likha/laravelComposer package - [x] Livewire -
likha/livewireComposer package - [ ] Filament - custom field pattern documented; no packaged field yet
Need Another Framework?
We're actively looking to support more frameworks and ecosystems. If you need LikhaEditor for a specific framework, we want to hear from you!
Popular Requests We're Considering
- Vue.js - Vue 3 composition API components
- Svelte - Native Svelte components
- Angular - Angular module and components
- Astro - Astro island components
- Next.js - App Router and Pages Router optimizations
- Nuxt.js - SSR-ready Vue components
- SolidJS - Reactive primitives integration
- Qwik - Resumable components
- Django - Template tags and form fields
- Flask - Jinja2 template integration
- Ruby on Rails - View helpers and form builders
- WordPress - Gutenberg block integration
- Drupal - Field widget and formatter
- Craft CMS - Field type integration
- October CMS - Form widget
- Express.js - View engine integration
How to Request
1. Check Existing Discussions
Before creating a new request, check if someone has already suggested your framework:
If you find an existing request, give it a 👍 thumbs up and add your use case in the comments.
2. Create a New Discussion
If your framework isn't listed, create a new discussion:
- Go to GitHub Discussions: LikhaEditor Ideas
- Click "New discussion"
- Choose the "Ideas" category
- Use this template:
## Framework Request: [Framework Name]
### Framework Details
- **Name**: [e.g., Vue.js, Django, etc.]
- **Version**: [e.g., Vue 3.x, Django 5.x]
- **Official Website**: [URL]
- **Package Manager**: [npm, pip, composer, etc.]
### Why This Framework?
Explain why LikhaEditor would be valuable for this framework's ecosystem.
### Proposed Integration
How do you envision LikhaEditor working with this framework?
Example API:
```[language]
// Your proposed usage exampleUse Case
Describe your specific use case or project.
Community Size
Approximate number of developers using this framework (if known).
I Can Help With
- [ ] Testing
- [ ] Documentation
- [ ] Code contribution
- [ ] Examples/demos
- [ ] Maintenance
### 3. Provide Important Details
To help us prioritize, please include:
**Technical Requirements:**
- Framework version(s) you need to support
- Build tool requirements (webpack, vite, rollup, etc.)
- Server-side rendering needs
- TypeScript support requirements
**Your Use Case:**
- What are you building?
- How many users will use it?
- Is this for an open-source project?
- Timeline/urgency
**Community Impact:**
- How popular is this framework?
- Would others benefit from this integration?
- Are you willing to help test?
## Build Your Own Integration
Can't wait for official support? LikhaEditor's framework-agnostic core makes it easy to create your own wrapper!
### Quick Integration Guide
1. **Install the core package:**
```bash
npm install @likhaeditor/likhaeditor- Create a wrapper component for your framework
- Handle lifecycle methods (mount, unmount, updates)
- Manage state synchronization
- Add TypeScript types (optional but recommended)
Example: Basic React Hook (DIY)
import { useEffect, useRef } from 'react';
import { createEditor } from '@likhaeditor/likhaeditor';
import '@likhaeditor/likhaeditor/dist/likha-editor.css';
export function useEditor(options) {
const elementRef = useRef(null);
const editorRef = useRef(null);
useEffect(() => {
if (elementRef.current && !editorRef.current) {
const { editor } = createEditor({
element: elementRef.current,
...options
});
editorRef.current = editor;
}
return () => {
editorRef.current?.destroy();
editorRef.current = null;
};
}, []);
return { ref: elementRef, editor: editorRef.current };
}Share Your Integration
Built a wrapper for your favorite framework? Share it with the community!
- Publish your package to npm/pip/packagist
- Share in Discussions: Show and Tell
- We'll feature it in our official documentation
Contributing Official Integrations
Want to contribute an official integration package? We'd love your help!
Requirements
Official integrations should:
- ✅ Follow framework best practices and conventions
- ✅ Include comprehensive TypeScript types
- ✅ Have >80% test coverage
- ✅ Include documentation and examples
- ✅ Follow LikhaEditor's MIT license
- ✅ Support the latest stable framework version
- ✅ Include a README with installation and usage
Process
- Discuss first: Open a discussion to coordinate
- Fork the repo: Work in
packages/[framework-name] - Follow the structure: Match existing package patterns
- Write tests: Use Vitest for testing
- Document thoroughly: Include API docs and examples
- Submit PR: We'll review and provide feedback
See our Contributing Guide for detailed guidelines.
Framework Integration Checklist
When requesting or building an integration, consider:
- [ ] Component/wrapper API design
- [ ] State management integration
- [ ] Server-side rendering support
- [ ] TypeScript definitions
- [ ] Build tool compatibility
- [ ] Tree-shaking and bundle size
- [ ] Accessibility features
- [ ] Dark mode/theming
- [ ] Form integration
- [ ] Validation support
- [ ] File upload handling
- [ ] Internationalization (i18n)
- [ ] Documentation and examples
- [ ] Test coverage
- [ ] Migration guide (if needed)
Priority Criteria
We prioritize integrations based on:
- Community demand - Number of requests and upvotes
- Framework popularity - Active user base size
- Contributor availability - Community members willing to help
- Ecosystem fit - How well it aligns with LikhaEditor's goals
- Maintenance burden - Long-term support requirements
Get Involved
Questions?
Not sure if your framework would be a good fit? Have questions about building an integration?
Start a discussion: Ask in GitHub Discussions
We're here to help make LikhaEditor work with your favorite tools!