# RenderMarkdownCodehighlight Plugin
The `RenderMarkdownCodehighlight` plugin improves the readability of code snippets within Markdown content by integrating highlight.js for syntax highlighting. It supports dynamic theme switching, allowing code blocks to adapt seamlessly to either light or dark themes based on your application's current theme. This makes code blocks more visually appealing and easier to read.

### Features
Dynamic Theme Switching: Automatically switches between light and dark modes for code highlighting based on the selected theme.
Theme Support: Supports various highlight.js themes, with some themes designed for both light and dark modes, while others are specifically tailored for one mode.

### Theme Types
theme-all: These themes support both light and dark modes, automatically adjusting based on the application's current theme.
theme-light: These themes are optimized for light mode and will use default dark mode.
theme-dark: These themes are designed specifically for dark mode and will use default light mode.
