// ember-cli-build.js
let app = new EmberAddon(defaults, {
remark: {
collections: {
// identifier: directory
'content': 'markdown/content',
// or
'content': {
path: 'markdown/content',
toc: true // default
}
}
}
});
import { setOwner } from '@ember/application';
import { reads } from "macro-decorators";
import { remark } from 'remark/decorators';
export default class Page {
constructor(owner, { file }) {
setOwner(this, owner);
this.file = file;
}
@reads('file.body') body;
@remark('body')
tree(node) {
if(node.tagName === 'h1') {
node.children[0].value = 'Hey there';
}
return node;
}
async load() {
await this.file.load();
await this.tree.load(); // eager.
return this;
}
}
<Remark class="content" @tree={{@page.tree}}/>