feat(v2): add ability default lang for code blocks (#1910)

* feat(v2): add ability default lang for code blocks

* Add support for CodeBlock

* changelog

* more changelog

* Add checks

* docs

* docs

* Fix changelog

* revert config

* Update theme-classic.md

* Update packages/docusaurus-theme-classic/src/theme/CodeBlock/index.js

Co-Authored-By: Endi <endiliey@gmail.com>
This commit is contained in:
Alexey Pyltsyn 2019-11-05 10:36:22 +03:00 committed by GitHub
parent 3b9309fa87
commit c507028cb0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 64 additions and 10 deletions

View file

@ -26,7 +26,7 @@ export default ({
}) => {
const {
siteConfig: {
themeConfig: {prismTheme},
themeConfig: {prism = {}},
},
} = useDocusaurusContext();
const [showCopied, setShowCopied] = useState(false);
@ -60,15 +60,19 @@ export default ({
<Playground
scope={{...React}}
code={children.trim()}
theme={prismTheme || defaultTheme}
theme={prism.theme || defaultTheme}
{...props}
/>
);
}
const language =
let language =
languageClassName && languageClassName.replace(/language-/, '');
if (!language && prism.defaultLanguage) {
language = prism.defaultLanguage;
}
const handleCopyCode = () => {
window.getSelection().empty();
setShowCopied(true);
@ -79,7 +83,7 @@ export default ({
return (
<Highlight
{...defaultProps}
theme={prismTheme || defaultTheme}
theme={prism.theme || defaultTheme}
code={children.trim()}
language={language}>
{({className, style, tokens, getLineProps, getTokenProps}) => (