# <juicy-ace-editor> > Even more embeddable code editor. > Custom Element - just one tag, and no JS needed to provide > [Ace](http://ace.c9.io/) - The High Performance Code Editor ## Demo [Check it live!](http://juicy.github.io/juicy-ace-editor) [Play & Configure with kitchen sink](http://juicy.github.io/juicy-ace-editor/kitchen-sink.html) ## Features Besides Ace features, `` does: - provide extremely clean and easy way to embed it (see [Usage](#usage)) - observe DOM changes: - Update your code by just updating Element's text content - Change Editor's setting by changing DOM [attributes](#attributes) You can still fiddle with Ace editor programmatically using `.editor`. ## Install Install the component using [Bower](http://bower.io/): ```sh $ bower install juicy-ace-editor --save ``` Or [download as ZIP](https://github.com/juicy/juicy-ace-editor/archive/gh-pages.zip). ## Usage 1. Import Web Components' polyfill (if needed): ```html ``` 2. Import Custom Element: ```html ``` 3. Start using it! ```html Editable code here ``` ## Attributes Attribute | Options | Default | Description --- | --- | --- | --- `theme` | *String* | | `Editor#setTheme` at [Ace API](http://ace.c9.io/#nav=api&api=editor) `mode` | *String* | | `EditSession#setMode` at [Ace API](http://ace.c9.io/#nav=api&api=edit_session) `fontsize` | *String* | | `Editor#setFontSize` at [Ace API](http://ace.c9.io/#nav=api&api=editor) `softtabs` | *Boolean* | | `EditSession#setUseSoftTabs()` at [Ace API](http://ace.c9.io/#nav=api&api=edit_session) `tabsize` | *Boolean* | | `Session#setTabSize()` at [Ace API](http://ace.c9.io/#nav=api&api=edit_session) `readonly` | *Boolean* | | `Editor#setReadOnly()` at [Ace API](http://ace.c9.io/#nav=api&api=editor) `wrapmode` | *Boolean* | | `Session#setWrapMode()` at [Ace API](http://ace.c9.io/#nav=api&api=edit_session) ## Properties Name | Description --- | --- `editor` | Ace [editor](http://ace.c9.io/#nav=api&api=editor) object. `value` | [editor.get-/setValue()](http://ace.c9.io/#nav=api&api=editor) ## Events Name | Description --- | --- `change` | Triggered when editor content gets changed `editor-ready` | Triggered once Ace editor instance is created. ## Who uses it? - [**Starcounter** In-memory application engine](http://starcounter.com/) - [**LEAN** Theorem prover by Microsoft Research](https://leanprover.github.io/) - [**Polymer/polyup** Polymer migration tool](http://polymerlabs.github.io/polyup/) - [**You** ...?](https://github.com/Juicy/juicy-ace-editor/edit/gh-pages/README.md#L81) ## Contributing 1. Fork it! 2. Create your feature branch: `git checkout -b my-new-feature` 3. Commit your changes: `git commit -m 'Add some feature'` 4. Push to the branch: `git push origin my-new-feature` 5. Submit a pull request :D ## History For detailed changelog, check [Releases](https://github.com/PuppetJs/redirect/releases). ## License MIT