ember-code-prettify
Version:
Ember.js addon for using Google Code Prettify syntax highlighting
97 lines (67 loc) • 2.41 kB
Markdown
Ember Code Prettify  [](https://www.npmjs.com/package/ember-code-prettify)
======
Ember Code Prettify exposes a service to render [Google Code Prettify](https://github.com/google/code-prettify) syntax highlighting in Ember.js applications.
`ember install ember-code-prettify`
With no configuration, Ember Code Prettify will use the default skin and languages. The following config imports the css & yaml languages extensions and uses the desert skin:
```js
// config/environment.js
ENV['ember-code-prettify'] = {
languages: ['css', 'yaml'],
skin: 'desert'
};
```
Ember Code Prettify exposes a service `codePrettify`. It can be used to paint the syntax highlighting in routes and components.
Firstly ensure your code snippet is formatted like so:
```html
<pre class="prettyprint lang-js">
console.log('This will be painted');
</pre>
```
Then get prettify to render using:
```js
get(this, 'codePrettify').prettify();
```
If code snippets are added statically to a route template, simply fire Ember Code Prettify in an `afterRender` hook.
```javascript
import Route from '@ember/routing/route';
import { get } from '@ember/object';
import { scheduleOnce } from '@ember/runloop';
import { inject } from '@ember/service';
export default Route.extend({
codePrettify: inject(),
init() {
scheduleOnce('afterRender', this, function() {
get(this, 'codePrettify').prettify();
});
}
});
```
For code snippets added to component templates, use the `didRender` hook. Be warned, this hook will fire on any subsequent render of the component.
```javascript
import Component from '@ember/component';
import { get } from '@ember/object';
import { inject } from '@ember/service';
export default Component.extend({
codePrettify: inject(),
didRender() {
get(this, 'codePrettify').prettify();
}
});
```
* `git clone <repository-url>` this repository
* `cd ember-code-prettify`
* `npm install`
* `ember serve`
* Visit your app at [http://localhost:4200](http://localhost:4200).
* `npm test` (Runs `ember try:each` to test your addon against multiple Ember versions)
* `ember test`
* `ember test --server`