refactor(v2): clean up code blocks (#3654)

This commit is contained in:
Alexey Pyltsyn 2020-10-29 11:27:44 +03:00 committed by GitHub
parent f085560b66
commit cf99862d29
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7,7 +7,7 @@
import React, {useEffect, useState, useRef} from 'react'; import React, {useEffect, useState, useRef} from 'react';
import clsx from 'clsx'; import clsx from 'clsx';
import Highlight, {defaultProps} from 'prism-react-renderer'; import Highlight, {defaultProps, Language} from 'prism-react-renderer';
import copy from 'copy-text-to-clipboard'; import copy from 'copy-text-to-clipboard';
import rangeParser from 'parse-numeric-range'; import rangeParser from 'parse-numeric-range';
import usePrismTheme from '@theme/hooks/usePrismTheme'; import usePrismTheme from '@theme/hooks/usePrismTheme';
@ -131,7 +131,9 @@ export default ({
} }
let language = let language =
languageClassName && languageClassName.replace(/language-/, ''); languageClassName &&
// Force Prism's language union type to `any` because it does not contain all available languages
((languageClassName.replace(/language-/, '') as Language) as any);
if (!language && prism.defaultLanguage) { if (!language && prism.defaultLanguage) {
language = prism.defaultLanguage; language = prism.defaultLanguage;
@ -197,7 +199,6 @@ export default ({
key={String(mounted)} key={String(mounted)}
theme={prismTheme} theme={prismTheme}
code={code} code={code}
// @ts-expect-error: prism-react-renderer doesn't export Language type
language={language}> language={language}>
{({className, style, tokens, getLineProps, getTokenProps}) => ( {({className, style, tokens, getLineProps, getTokenProps}) => (
<> <>
@ -240,9 +241,7 @@ export default ({
ref={button} ref={button}
type="button" type="button"
aria-label="Copy code to clipboard" aria-label="Copy code to clipboard"
className={clsx(styles.copyButton, { className={clsx(styles.copyButton)}
[styles.copyButtonWithTitle]: codeBlockTitle,
})}
onClick={handleCopyCode}> onClick={handleCopyCode}>
{showCopied ? 'Copied' : 'Copy'} {showCopied ? 'Copied' : 'Copy'}
</button> </button>