|
|
@@ -4,7 +4,8 @@ import hljs from 'highlight.js';
|
|
|
import MarkdownFixer from './PreProcessor/MarkdownFixer';
|
|
|
import Linker from './PreProcessor/Linker';
|
|
|
import ImageExpander from './PreProcessor/ImageExpander';
|
|
|
-import Emoji from './PreProcessor/Emoji';
|
|
|
+
|
|
|
+import Emoji from './PostProcessor/Emoji';
|
|
|
|
|
|
import Tsv2Table from './LangProcessor/Tsv2Table';
|
|
|
import Template from './LangProcessor/Template';
|
|
|
@@ -18,6 +19,8 @@ export default class CrowiRenderer {
|
|
|
new MarkdownFixer(),
|
|
|
new Linker(),
|
|
|
new ImageExpander(),
|
|
|
+ ];
|
|
|
+ this.postProcessors = [
|
|
|
new Emoji(),
|
|
|
];
|
|
|
|
|
|
@@ -41,6 +44,17 @@ export default class CrowiRenderer {
|
|
|
return markdown;
|
|
|
}
|
|
|
|
|
|
+ postProcess(html) {
|
|
|
+ for (let i = 0; i < this.postProcessors.length; i++) {
|
|
|
+ if (!this.postProcessors[i].process) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ html = this.postProcessors[i].process(html);
|
|
|
+ }
|
|
|
+
|
|
|
+ return html;
|
|
|
+ }
|
|
|
+
|
|
|
codeRenderer(code, lang, escaped) {
|
|
|
let result = '', hl;
|
|
|
|
|
|
@@ -116,6 +130,7 @@ export default class CrowiRenderer {
|
|
|
|
|
|
markdown = this.preProcess(markdown);
|
|
|
html = this.parseMarkdown(markdown);
|
|
|
+ html = this.postProcess(html);
|
|
|
|
|
|
return html;
|
|
|
}
|