smartmarkdown/ts/index.ts

28 lines
716 B
TypeScript
Raw Permalink Normal View History

2018-09-22 19:58:33 +00:00
import * as plugins from './smartmarkdown.plugins';
export class SmartMarkdown {
constructor() {}
/**
* converts markdown to html
* @param mdString
*/
2021-10-04 11:35:20 +00:00
public async markdownToHtml(mdString: string): Promise<string> {
2021-10-04 11:54:59 +00:00
const result = await plugins
.remark()
.use(plugins.remarkHtml)
.use(plugins.remarkFrontmatter, ['yaml', 'toml'])
.process(mdString);
2021-10-04 11:35:20 +00:00
return result.toString();
}
2021-10-04 11:35:20 +00:00
public htmlToMarkdown(htmlString: string): string {
const turndownInstance = new plugins.turndown({
headingStyle: 'atx',
2021-04-12 09:20:28 +00:00
codeBlockStyle: 'fenced',
});
2019-06-17 12:41:57 +00:00
turndownInstance.use(plugins.turndownPluginGfm.gfm);
return turndownInstance.turndown(htmlString);
}
}