diff --git a/client/SampleCode.jsx b/client/SampleCode.jsx new file mode 100644 index 0000000..da4b24f --- /dev/null +++ b/client/SampleCode.jsx @@ -0,0 +1,13 @@ +import React from 'react'; + +import highlight from './helpers/highlight'; + +const SampleCode = ({ code, lang }) => { + return code === '' + ? <>> + : ( +
+ ); +}; + +export default SampleCode; diff --git a/client/helpers/highlight.js b/client/helpers/highlight.js new file mode 100755 index 0000000..84b7868 --- /dev/null +++ b/client/helpers/highlight.js @@ -0,0 +1,11 @@ +import hljs from 'highlight.js'; + +const highlight = (input, language) => { + const lang = language || 'html'; + const { value } = hljs.highlight(lang, input); + const highlighted = value.replace('&', '&').trim(); + + return `${highlighted}
`;
+};
+
+export default highlight;
diff --git a/package-lock.json b/package-lock.json
index 77dd45f..9b6c0cb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4137,6 +4137,11 @@
"util-deprecate": "^1.0.2"
}
},
+ "highlight.js": {
+ "version": "9.16.2",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.16.2.tgz",
+ "integrity": "sha512-feMUrVLZvjy0oC7FVJQcSQRqbBq9kwqnYE4+Kj9ZjbHh3g+BisiPgF49NyQbVLNdrL/qqZr3Ca9yOKwgn2i/tw=="
+ },
"history": {
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
diff --git a/package.json b/package.json
index e789d73..b576330 100644
--- a/package.json
+++ b/package.json
@@ -6,6 +6,7 @@
"postbuild": "react-snap"
},
"dependencies": {
+ "highlight.js": "^9.16.2",
"react": "^16.12.0",
"react-dom": "^16.12.0",
"react-router-dom": "^5.1.2",