md-toy-blog
Version:
Very simple Markdown blog: serves your md as html without fancy databases. You will only spend time writing the actual data.
24 lines (19 loc) • 823 B
text/typescript
import fs from 'fs';
export default class TemplateHydratorService { //implements TemplateHydratorServiceConstructor {
private mostachito: MostachitoInterface;
constructor({ mostachito }: { mostachito: MostachitoInterface; }) {
this.mostachito = mostachito;
this.hydrateView = this.hydrateView.bind(this);
}
loadViewTemplate(viewData: ViewData, filepath: string): Promise<LoadViewTemplateResolveParam> {
return new Promise<LoadViewTemplateResolveParam>(function(resolve, reject) {
fs.readFile(filepath, 'utf-8', function(err, viewTemplate) {
if (err) return reject(err);
resolve({ viewTemplate, viewData });
});
});
}
hydrateView({ viewTemplate, viewData }: LoadViewTemplateResolveParam): string {
return this.mostachito.hydrate(viewTemplate, viewData);
}
}