diff --git a/src/@newrelic/gatsby-theme-newrelic/components/CodeBlock.js b/src/@newrelic/gatsby-theme-newrelic/components/CodeBlock.js new file mode 100644 index 000000000..e10310918 --- /dev/null +++ b/src/@newrelic/gatsby-theme-newrelic/components/CodeBlock.js @@ -0,0 +1,18 @@ +import React from 'react'; +import CodeBlock from '@newrelic/gatsby-theme-newrelic/src/components/CodeBlock'; +import Terminal from '../../../components/Terminal'; +import { isShellLanguage } from '../../../utils/codeBlock'; + +const CustomCodeBlock = ({ language, children, ...props }) => { + return isShellLanguage(language) ? ( + {children} + ) : ( + + {children} + + ); +}; + +CustomCodeBlock.propTypes = CodeBlock.propTypes; + +export default CustomCodeBlock; diff --git a/src/utils/codeBlock.js b/src/utils/codeBlock.js index 8360d4f4a..3e0e092b7 100644 --- a/src/utils/codeBlock.js +++ b/src/utils/codeBlock.js @@ -6,6 +6,8 @@ export const isCodeBlock = (element) => export const isShellCommand = (element) => isCodeBlock(element) && - SHELL_LANGUAGES.includes( + isShellLanguage( element.props?.children?.props?.className?.replace('language-', '') ); + +export const isShellLanguage = (language) => SHELL_LANGUAGES.includes(language);