Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

shared-markdown.tsx 892B

1234567891011121314151617181920212223242526272829303132
  1. import Markdown from 'react-markdown';
  2. import SyntaxHighlighter from 'react-syntax-highlighter';
  3. import remarkGfm from 'remark-gfm';
  4. const SharedMarkdown = ({ content }: { content: string }) => {
  5. return (
  6. <Markdown
  7. remarkPlugins={[remarkGfm]}
  8. components={
  9. {
  10. code(props: any) {
  11. const { children, className, node, ...rest } = props;
  12. const match = /language-(\w+)/.exec(className || '');
  13. return match ? (
  14. <SyntaxHighlighter {...rest} PreTag="div" language={match[1]}>
  15. {String(children).replace(/\n$/, '')}
  16. </SyntaxHighlighter>
  17. ) : (
  18. <code {...rest} className={className}>
  19. {children}
  20. </code>
  21. );
  22. },
  23. } as any
  24. }
  25. >
  26. {content}
  27. </Markdown>
  28. );
  29. };
  30. export default SharedMarkdown;