ui: fix prismjs loading
This commit is contained in:
parent
69ef083abe
commit
92a6379e2c
3 changed files with 23 additions and 30 deletions
|
|
@ -14,6 +14,15 @@
|
|||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet" />
|
||||
|
||||
<link rel="preload" href="https://cdn.jsdelivr.net/npm/prismjs/themes/prism.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||||
<noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs/themes/prism.css"></noscript>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/prismjs/prism.min.js"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/prismjs/plugins/autoloader/prism-autoloader.min.js"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-javascript.min.js"></script>
|
||||
<script defer>
|
||||
Prism.plugins.autoloader.languages_path = 'https://cdn.jsdelivr.net/npm/prismjs/components/';
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="modal-root"></div>
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
import React, { useEffect } from "react";
|
||||
import Prism from "prismjs";
|
||||
import React, { useEffect } from 'react';
|
||||
|
||||
interface IProps {
|
||||
code: string;
|
||||
language: string;
|
||||
}
|
||||
|
||||
const CodeBlock = ({ code, language }: IProps) => {
|
||||
export default function CodeBlock({ code }) {
|
||||
const language = 'javascript'
|
||||
useEffect(() => {
|
||||
Prism.highlightAll(false);
|
||||
}, []);
|
||||
setTimeout(() => {
|
||||
if (window.Prism) {
|
||||
Prism.highlightAll();
|
||||
}
|
||||
}, 0)
|
||||
}, [code, language]);
|
||||
|
||||
return (
|
||||
<pre>
|
||||
<code children={code} className={`language-${language}`} />
|
||||
<code className={`language-${language}`}>
|
||||
{code}
|
||||
</code>
|
||||
</pre>
|
||||
);
|
||||
};
|
||||
|
||||
export default CodeBlock;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,21 +7,5 @@ module.exports = {
|
|||
plugins: [
|
||||
'babel-plugin-react-require',
|
||||
['@babel/plugin-proposal-decorators', { legacy: true }],
|
||||
[
|
||||
'prismjs',
|
||||
{
|
||||
languages: [
|
||||
'javascript',
|
||||
'css',
|
||||
'bash',
|
||||
'typescript',
|
||||
'jsx',
|
||||
'kotlin',
|
||||
'swift',
|
||||
],
|
||||
theme: 'default',
|
||||
css: true,
|
||||
},
|
||||
],
|
||||
],
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue