0.10.2 • Published 1 year ago

@postedin/ember-ckeditor v0.10.2

Weekly downloads
218
License
MIT
Repository
github
Last release
1 year ago

CKEditor 5 component for Ember.js

Unofficial CKEditor 5 rich text editor component for Ember.js.

Why we made it

Postedin is a content creation platform. A good rich text editor is at the core of our product. Our platform uses Ember.js so we naturally need a good integration with CKEditor 5 which we consider to be the best editor for the browser by a long shot.

What is next

For 1.0.0

  • write a proper readme with proper documentation
  • write a proper contributing guide
  • some basic tests

Wishlist

  • hopefully get changes we want into CKEditor instead of running custom builds or extending things
  • full extensive testing
  • autocomplete plugin (similar to gmail suggestions when writing an email)
  • sources plugin (add a source that we can list at the bottom of the document)

Compatibility

(maybe)

  • Ember.js v3.24 or above
  • Ember CLI v3.24 or above
  • Node.js v12 or above

Installation

ember install @postedin/ember-ckeditor

Usage

TODO: proper detailed usage

You need to have a build to use with this component. We use a combined build, so we can use multiple different custom versions (https://github.com/postedin/ckeditor5-build-combined). You can use any build like the official classic (https://www.npmjs.com/package/@ckeditor/ckeditor5-build-classic).

You will need to import the build and use it in the component.

For example, make an Editor component. We added a basic option and it will update the value.

// components/editor.js
import Component from '@glimmer/component';
import { action } from '@ember/object';
import ClassicEditor from '@ckeditor/ckeditor5-build-classic';

export default class EditorComponent extends Component {
  classicEditor = ClassicEditor;
  value = '';
  options = {
    link: {
      addTargetToExternalLinks: true,
    }, 
  };

  @action
  handleInput(value) {
    this.value = value;

    if (this.args.onChanged) {
      this.args.onChanged(value); // for consuming this component and getting the updated value
    } 
  }
}
<!-- components/editor.hbs -->
<CKEditor @editor={{this.classicEditor}} @value={{this.value}} @options={{this.options}} @onInput={{this.handleInput}} />

TODO: explain getting languages working

Contributing

TODO: more details

See the Contributing guide for details.

License

This project is licensed under the MIT License.

1.0.2

1 year ago

1.0.0

1 year ago

1.0.3

1 year ago

0.10.1

1 year ago

0.10.2

1 year ago

0.9.0

2 years ago

0.9.1

2 years ago

0.8.0

3 years ago

0.7.4

3 years ago

0.7.3

3 years ago

0.7.2

3 years ago

0.7.1

3 years ago

0.7.0

3 years ago

0.6.0

4 years ago

1.1.0

4 years ago

0.5.4

4 years ago

0.5.3

4 years ago

0.5.6

4 years ago

0.5.5

4 years ago

0.5.2

4 years ago

0.5.1

4 years ago

0.5.0

4 years ago

0.4.0

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago