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 | renderer.code = (code, lang) => {
|
10 | res = code;
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 | return `
|
22 | <div>
|
23 | <div id=${id}></div>
|
24 | <pre><code>${encodeURIComponent( code)}</code></pre>
|
25 | </div>`;
|
26 | }
|
27 |
|
28 | function process(source) {
|
29 | source = marked(source, {renderer: renderer});
|
30 | const res = JSON.stringify(source);
|
31 | return res;
|
32 | }
|
33 |
|
34 |
|
35 | module.exports = function(source, map){
|
36 | this.cacheable && this.cacheable();
|
37 |
|
38 | var md = process(source);
|
39 | res += `\n export const md=${md}; \n export const id="${id}"`
|
40 | console.log('----------------')
|
41 | console.log(res);
|
42 | console.log('--------------')
|
43 |
|
44 | this.callback(null, res, map);
|
45 |
|
46 | } |
\ | No newline at end of file |