You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Peter Savchenko c18011595a
Update table (#2315)
7 days ago
.github fix(tests): fire mutation event on tune activation (#2281) 1 month ago
.vscode chore(submodules): submodules updated, changelog fixed (#2179) 4 months ago
assets Update a readme (#2267) 1 month ago
docs chore(docs): use local images in docs files (#2239) 1 week ago
example Update table (#2315) 7 days ago
src fix(block): remember plugin's content element instead of dom search (#2311) 1 week ago
test fix(block): remember plugin's content element instead of dom search (#2311) 1 week ago
types fix(types): compiler error from importing type BlockToolData (#2264) 1 month ago
.babelrc [Feature] Block Tunes API (#1596) 2 years ago
.editorconfig Release 2.14 (#799) 4 years ago
.eslintignore Release / 2.18 (#1181) 3 years ago
.eslintrc chore(linting): eslint updated, code linted (#2174) 4 months ago
.gitignore [Feature] Block Tunes API (#1596) 2 years ago
.gitmodules chore(dev): update tools submodules to the last version (#2025) 11 months ago
.npmignore fix(npm): ignore redundant files in sub-directories (#2307) 2 weeks ago
.postcssrc.yml Fix hover on the Delete Block button (#659) 4 years ago
.stylelintrc Release 2.0-beta (#387) 5 years ago
CODEOWNERS fix(#2036): scrolling issue with block hovering (#2042) 11 months ago
LICENSE Release 2.16 (#966) 3 years ago
README.md Update a readme (#2267) 1 month ago
cypress.json [Feature] Block Tunes API (#1596) 2 years ago
devserver.js feat(dx): add a dev-server for debugging on mobile devices from a local network (#2009) 12 months ago
package.json fix(block): remember plugin's content element instead of dom search (#2311) 1 week ago
tsconfig.build.json Add build tsconfig for automatic deployments (#1784) 2 years ago
tsconfig.json Block tunes as a popover (#2091) 5 months ago
tslint.json Basic initialisation test for Editor.js (#1410) 2 years ago
webpack.config.js feat(icons): codex icons package is used instead of svg sprite (#2173) 4 months ago
yarn.lock Bump path-parse from 1.0.6 to 1.0.7 (#1746) 2 weeks ago

README.md

Editor.js Logo

editorjs.io | documentation | changelog

npm Minzipped size Backers on Open Collective Sponsors on Open Collective

About

Editor.js is an open-source text editor offering a variety of features to help users create and format content efficiently. It has a modern, block-style interface that allows users to easily add and arrange different types of content, such as text, images, lists, quotes, etc. Each Block is provided via a separate plugin making Editor.js extremely flexible.

Editor.js outputs a clean JSON data instead of heavy HTML markup. Use it in Web, iOS, Android, AMP, Instant Articles, speech readers, AI chatbots — everywhere. Easy to sanitize, extend and integrate with your logic.

  • 😍  Modern UI out of the box
  • 💎  Clean JSON output
  • ⚙️  Well-designed API
  • 🛍  Various Tools available
  • 💌  Free and open source
Editor.js Overview

Installation

It's quite simple:

  1. Install Editor.js
  2. Install tools you need
  3. Initialize Editor's instance

Install using NPM, Yarn, or CDN:

npm i @editorjs/editorjs

Choose and install tools:

See the 😎 Awesome Editor.js list for more tools.

Initialize the Editor:

<div id="editorjs"></div>
import EditorJS from '@editorjs/editorjs'

const editor = new EditorJS({
  tools: {
   // ... your tools
  }
})

See details about Installation and Configuration at the documentation.

Saving Data

Call editor.save() and handle returned Promise with saved data.

const data = await editor.save()

Example

Take a look at the example.html to view more detailed examples.

Roadmap

  • Unified Toolbox
    • Block Tunes moved left
    • Toolbox becomes vertical
    • Ability to display several Toolbox buttons by the single Tool
    • Block Tunes become vertical
    • Block Tunes support nested menus
    • Conversion Toolbar uses Unified Toolbox
    • Conversion Toolbar added to the Block Tunes
  • Collaborative editing
    • Implement Inline Tools JSON format
    • Operations Observer, Executor, Manager, Transformer
    • Implement Undo/Redo Manager
    • Implement Tools API changes
    • Implement Server and communication
    • Update basic tools to fit the new API
  • Other features
    • Blocks drag'n'drop
    • New cross-block selection
    • New cross-block caret moving
  • Ecosystem improvements
    • CodeX Icons — the way to unify all tools and core icons
    • New Homepage and Docs
    • @editorjs/create-tool for Tools bootstrapping
    • Editor.js DevTools — stand for core and tools development
    • Editor.js Design System
    • Editor.js Preset Env
    • Editor.js ToolKit
    • New core bundle system
    • New documentation and guides
Support Editor.js

Like Editor.js?

You can support project improvement and development of new features with a donation to our team.

Donate via OpenCollective
Donate via Crypto
Donate via Patreon

Why donate

Donations to open-source products have several advantages for your business:

  • If your business relies on Editor.js, you'll probably want it to be maintained
  • It helps Editor.js to evolve and get the new features
  • We can support contributors and the community around the project. You'll receive well organized docs, guides, etc.
  • We need to pay for our infrastructure and maintain public resources (domain names, homepages, docs, etc). Supporting it guarantees you to access any resources at the time you need them.
  • You can advertise by adding your brand assets and mentions on our public resources

Sponsors

Support us by becoming a sponsor. Your logo will show up here with a link to your website.

Mister Auto UPLUCID, K.K. Kane Jamison Content Harmony

Become a Sponsor

Backers

Thank you to all our backers

Become a Backer

Contributors

This project exists thanks to all the people who contribute.

Need something special?

Hire CodeX experts to resolve technical challenges and match your product requirements.

  • Resolve a problem that has high value for you
  • Implement a new feature required by your business
  • Help with integration or tool development
  • Provide any consultation

Contact us via team@codex.so and share your details

Community

About CodeX

CodeX is a team of digital specialists around the world interested in building high-quality open source products on a global market. We are open for young people who want to constantly improve their skills and grow professionally with experiments in cutting-edge technologies.

🌐 Join 👋 Twitter Instagram
codex.so codex.so/join @codex_team @codex_team