React Code View can render source code in markdown documents. And brings you the ability to render React components with editable source code and live preview.
npm install react-code-view
// webpack.config.js
export default {
  module: {
    rules: [
      {
        test: /\.md$/,
        loader: 'react-code-view/webpack-md-loader'
      }
    ]
  }
};{
  "parseLanguages": [
    // Supported languages for highlight.js
    // default: "javascript", "bash", "xml", "css", "markdown", "less", "typescript"
    // See https://github.com/highlightjs/highlight.js/blob/main/SUPPORTED_LANGUAGES.md
  ],
  "htmlOptions": {
    // HTML Loader options
    // See https://github.com/webpack-contrib/html-loader#options
  },
  "markedOptions": {
    // Pass options to marked
    // See https://marked.js.org/using_advanced#options
  }
}webpack.config.js
export default {
  module: {
    rules: [
      {
        test: /\.md$/,
        use:[
          loader: 'react-code-view/webpack-md-loader',
          options:{
            parseLanguages: ['typescript','rust']
          }
        ]
      }
    ]
  }
};import CodeView from 'react-code-view';
import { Button } from 'rsuite';
import 'react-code-view/styles/react-code-view.css';
return (
  <CodeView
    dependencies={{
      Button
    }}
  >
    {require('./example.md')}
  </CodeView>
);The source code is written in markdown, refer to example.md
Note: The code to be rendered must be placed between
<!--start-code-->and<!--end-code-->
| Name | Type | Default value | Description | 
|---|---|---|---|
| afterCompile | (code: string) => string | Executed after compiling the code | |
| beforeCompile | (code: string) => string | Executed before compiling the code | |
| children | any | The code to be rendered is executed. Usually imported via markdown-loader | |
| compileOptions | object | defaultTransformOptions | https://github.com/alangpierce/sucrase#transforms | 
| dependencies | object | Dependent objects required by the executed code | |
| editable | boolean | false | Renders a code editor that can modify the source code | 
| editor | object | Editor properties | |
| onChange | (code?: string) => void | Callback triggered after code change | |
| onCloseEditor | () => void | Callback triggered when the editor is closed | |
| onOpenEditor | () => void | Callback triggered when the editor is opened | |
| renderExtraFooter | () => ReactNode | Customize the rendering footer | |
| renderToolbar | (buttons: ReactNode) => ReactNode | Customize the rendering toolbar | |
| sourceCode | string | The code to be rendered is executed | |
| theme | 'light' , 'dark' | 'light' | Code editor theme, applied to CodeMirror | 
