hugerte / hugerte

The inofficial MIT-licensed fork of the world's #1 JavaScript library for rich text editing whose latest version is GPL-or-pay now.
https://hugemce.org
MIT License
102 stars 5 forks source link
contenteditable editor javascript rich-text-editor tinymce wysiwyg wysiwyg-editor wysiwyg-html-editor

HugeRTE

The 100% free fork of the world's #1 open source rich text editor.

Used and trusted by millions of developers, TinyMCE (the original project we've forked) is the world’s most customizable, scalable, and flexible rich text editor. However, they changed the license of TinyMCE 7 to GPLv2+ (or a commercial license) while it has been MIT for TinyMCE 6 and LGPL for older versions. This creates problems for users (see the discussion) so a fork has been created here. It has originally been named HugeMCE, however, due to potential trademark confusion with TinyMCE, it has been renamed to HugeRTE before its publishment to npm.

Get started with HugeRTE

The simplest way to get started with HugeRTE is using a CDN:

<script src="https://cdn.jsdelivr.net/npm/hugerte@1.0.4/hugerte.min.js">

Or install it manually via npm:

npm i hugerte

We're soon going to host the docs for HugeRTE on our website; for now, please refer to the TinyMCE docs, but replace tinymce by hugerte in all code snippets.

See this guide also, but replace tinymce@^6 by hugerte@^1 (and of course, all occurrences of tinymce by hugerte).

HugeRTE provides a range of configuration options that allow you to integrate it into your application. Start customizing with a basic setup.

Configure it for one of three modes of editing:

Migrate from TinyMCE

If you have been using TinyMCE before, you have to brute-force replace tinymce by hugerte in your code. In your package.json, make sure you use 1.0.4 as hugerte version – not the one you used for tinymce before. HugeRTE is based on TinyMCE 6.8.4, but it is even later because it contains some code from TinyMCE 7 (all until the commit which changed the license). See the Changelog for details.

Features

Integration

[!WARNING] We have not yet forked these integrations so they're still about TinyMCE.

TinyMCE is easily integrated into your projects with the help of components such as:

With over 29 integrations, and 400+ APIs, see the TinyMCE docs for a full list of editor integrations.

Customization

It is easy to configure the UI of your rich text editor to match the design of your site, product or application. Due to its flexibility, you can configure the editor with as much or as little functionality as you like, depending on your requirements.

With 30 powerful plugins available, and content editable as the basis of HugeRTE, adding additional functionality is as simple as including a single line of code.

Realizing the full power of most plugins requires only a few lines more.

Extensibility

Sometimes your editor requirements can be quite unique, and you need the freedom and flexibility to innovate. Thanks to HugeRTE being open source, you can view the source code and develop your own extensions for custom functionality to meet your own requirements.

The HugeRTE API is exposed to make it easier for you to write custom functionality that fits within the existing framework of HugeRTE UI components. Just don't forget to replace every instance of the tinymce object in the TinyMCE docs by hugerte.

Localization

Download the TinyMCE 6 language pack, extract the languages you need, open all the files of the languages you need and replace the tinymce variable at the top by hugerte. Then, follow the instructions by TinyMCE.

Compiling and contributing

In 2019 TinyMCE made the decision to transition their codebase to a monorepo. For information on compiling and contributing, see: contribution guidelines.

As an open source product, we encourage and support the active development of our software.

Want more information?

Visit the HugeRTE website and check out the TinyMCE documentation until we host the docs ourselves.