1 | const marked = require('./marked');
|
2 | const babel = require('babel-core');
|
3 | const renderer = new marked.Renderer();
|
4 |
|
5 | let res = '';
|
6 |
|
7 | const id = 'comp' + Math.random();
|
8 |
|
9 | const oldCode = renderer.code;
|
10 |
|
11 | renderer.code = (code, lang) => {
|
12 | res = code;
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | return `
|
24 | <div>
|
25 | <div id=${id}></div>
|
26 | ${oldCode(code, lang)}
|
27 | </div>`;
|
28 | }
|
29 |
|
30 | function process(source) {
|
31 | source = marked(source, {renderer: renderer});
|
32 | const res = JSON.stringify(source);
|
33 | return res;
|
34 | }
|
35 |
|
36 |
|
37 | module.exports = function(source, map){
|
38 | this.cacheable && this.cacheable();
|
39 |
|
40 | var md = process(source);
|
41 | res += `\n export const md=${md}; \n export const id="${id}"`
|
42 | console.log('----------------')
|
43 | console.log(res);
|
44 | console.log('--------------')
|
45 |
|
46 | this.callback(null, res, map);
|
47 |
|
48 | } |
\ | No newline at end of file |