1
0
Fork 0
freesewing/packages/freesewing.shared/components/mdx/highlight.js

35 lines
895 B
JavaScript
Raw Normal View History

import CopyToClipboard from 'shared/components/copy-to-clipboard'
const names = {
2021-12-27 17:33:31 +01:00
js: 'javascript',
bash: 'bash',
sh: 'shell',
}
2021-12-27 17:33:31 +01:00
const Highlight = (props) => {
const { children=[], className='language-js' } = props
2021-12-27 17:33:31 +01:00
const language = props.children.props.className.split('-').pop()
return (
2021-12-21 20:47:13 +01:00
<div className="hljs my-4">
<div className={`
flex flex-row justify-between
text-xs uppercase font-bold text-neutral-content
mt-1 border-b border-neutral-content border-opacity-25
py-1 mb-2 lg:text-sm
`}>
<span>&nbsp;</span>
<span>{names[language] ? names[language] : language}</span>
<CopyToClipboard content={children} />
</div>
2021-12-31 10:15:51 +01:00
<pre className={`language-${language} hljs text-base lg:text-lg whitespace-pre-wrap break-words`}>
{children}
</pre>
</div>
)
}
export default Highlight