Lazy load emoji

This commit is contained in:
Chocobozzz 2020-11-19 16:26:32 +01:00
parent b355b39408
commit 369e77543b
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 9 additions and 3 deletions

View File

@ -49,6 +49,8 @@ export class MarkdownService {
completeMarkdownIt: { rules: COMPLETE_RULES, html: true } completeMarkdownIt: { rules: COMPLETE_RULES, html: true }
} }
private emojiModule: any
constructor (private htmlRenderer: HtmlRendererService) {} constructor (private htmlRenderer: HtmlRendererService) {}
textMarkdownToHTML (markdown: string, withHtml = false, withEmoji = false) { textMarkdownToHTML (markdown: string, withHtml = false, withEmoji = false) {
@ -83,9 +85,11 @@ export class MarkdownService {
this.markdownParsers[ name ] = await this.createMarkdownIt(config) this.markdownParsers[ name ] = await this.createMarkdownIt(config)
if (withEmoji) { if (withEmoji) {
// TODO: write types if (!this.emojiModule) {
const emoji = require('markdown-it-emoji/light') this.emojiModule = (await import('markdown-it-emoji/light')).default
this.markdownParsers[ name ].use(emoji) }
this.markdownParsers[ name ].use(this.emojiModule)
} }
} }

View File

@ -4,3 +4,5 @@ declare var module: NodeModule
interface NodeModule { interface NodeModule {
id: string id: string
} }
declare module 'markdown-it-emoji/light'