-
Notifications
You must be signed in to change notification settings - Fork 4
/
render.js
35 lines (30 loc) · 881 Bytes
/
render.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import * as fs from 'fs';
import * as path from 'path';
import React from 'react';
import ReactDOM from 'react-dom/server';
import remark from 'remark';
import reactRenderer from 'remark-react';
import RemarkLowlight from 'remark-react-lowlight'
import js from 'highlight.js/lib/languages/javascript';
export default function (rootPath, context, demoTemplate) {
demoTemplate = demoTemplate || '';
var readme = fs.readFileSync(
path.join(rootPath, 'README.md'), 'utf8'
);
return {
name: context.name,
description: context.description,
demonstration: demoTemplate,
documentation: ReactDOM.renderToStaticMarkup(
<div key="documentation">
{remark().use(reactRenderer, {
remarkReactComponents: {
code: RemarkLowlight({
js
})
}
}).process(readme)}
</div>
)
};
}