Skip to content

Commit 54f7def

Browse files
committed
Add syntax highlighting
1 parent 11803b9 commit 54f7def

File tree

5 files changed

+83
-3
lines changed

5 files changed

+83
-3
lines changed

sites/docs/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"code-surfer": "3.0.0-beta.1",
88
"gatsby": "^2.15.28",
99
"gatsby-theme-mdx-deck": "^3.0.13",
10+
"prism-react-renderer": "^1.0.2",
1011
"react": "^16.10.0",
1112
"react-dom": "^16.10.0",
1213
"react-vista": "^0.1.1"

sites/docs/src/home/code-block.js

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
import React from "react";
2+
import Highlight, { defaultProps } from "prism-react-renderer";
3+
4+
export default ({ children, className }) => {
5+
const language = className.replace(/language-/, "");
6+
return (
7+
<Highlight
8+
{...defaultProps}
9+
code={children.trim()}
10+
language={language}
11+
theme={theme}
12+
>
13+
{({ className, style, tokens, getLineProps, getTokenProps }) => (
14+
<pre
15+
className={className}
16+
style={{
17+
...style,
18+
padding: "20px",
19+
border: "1px solid #999",
20+
borderRadius: "5px",
21+
overflow: "auto"
22+
}}
23+
>
24+
{tokens.map((line, i) => (
25+
<div key={i} {...getLineProps({ line, key: i })}>
26+
{line.map((token, key) => (
27+
<span key={key} {...getTokenProps({ token, key })} />
28+
))}
29+
</div>
30+
))}
31+
</pre>
32+
)}
33+
</Highlight>
34+
);
35+
};
36+
37+
const theme = {
38+
plain: {
39+
color: "rgb(57, 58, 52)",
40+
backgroundColor: "rgb(246, 248, 250)"
41+
},
42+
styles: [
43+
{
44+
types: [
45+
"builtin",
46+
"changed",
47+
"keyword",
48+
"punctuation",
49+
"operator",
50+
"tag",
51+
"deleted",
52+
"string",
53+
"attr-value",
54+
"char",
55+
"number",
56+
"inserted"
57+
],
58+
style: {
59+
color: "rgb(0, 164, 219)"
60+
}
61+
},
62+
{
63+
types: ["comment"],
64+
style: {
65+
fontStyle: "italic"
66+
}
67+
}
68+
]
69+
};

sites/docs/src/home/docs.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
import React from "react";
22
import Readme from "./readme.mdx";
3-
import { MDXRenderer } from "gatsby-plugin-mdx";
3+
import { MDXProvider } from "@mdx-js/react";
4+
import CodeBlock from "./code-block";
5+
6+
const components = { pre: props => <div {...props} />, code: CodeBlock };
47

58
export default function Docs() {
69
return (
710
<div style={{ display: "flex", justifyContent: "center" }}>
811
<div style={{ maxWidth: "800px", width: "90%" }}>
9-
<Readme />
12+
<MDXProvider components={components}>
13+
<Readme />
14+
</MDXProvider>
1015
</div>
1116
</div>
1217
);

sites/docs/src/home/readme.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ export default {
200200
"comment cdata doctype": {
201201
fontStyle: "italic"
202202
},
203-
"builtin changed keyword punctuation operator tag deleted string attr-value char number inserted": {
203+
"builtin changed keyword punctuation operator tag deleted string char number inserted": {
204204
color: "primary"
205205
}
206206
},

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11996,6 +11996,11 @@ pretty-quick@^1.11.1:
1199611996
mri "^1.1.0"
1199711997
multimatch "^3.0.0"
1199811998

11999+
prism-react-renderer@^1.0.2:
12000+
version "1.0.2"
12001+
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.0.2.tgz#3bb9a6a42f76fc049b03266298c7068fdd4b7ea9"
12002+
integrity sha512-0++pJyRfu4v2OxI/Us/5RLui9ESDkTiLkVCtKuPZYdpB8UQWJpnJQhPrWab053XtsKW3oM0sD69uJ6N9exm1Ag==
12003+
1199912004
prismjs@^1.16.0, prismjs@^1.8.4, prismjs@~1.17.0:
1200012005
version "1.17.1"
1200112006
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be"

0 commit comments

Comments
 (0)