UNPKG

rspress-plugin-code-block

Version:

Rspress plugin to import and display file contents as code blocks

87 lines (59 loc) 2 kB
# rspress-plugin-code-block 一个Rspress插件,用于在构建时将文件内容嵌入到MDX文档中作为静态代码块。 ## 安装 ```bash pnpm add rspress-plugin-code-block npm install rspress-plugin-code-block ``` ## 配置`rspress.config.ts` 中添加插件: ```typescript import { defineConfig } from 'rspress/config'; import { codeBlockPlugin } from 'rspress-plugin-code-block'; export default defineConfig({ plugins: [codeBlockPlugin()], }); ``` ## 使用方法 ### 使用 CodeBlock 组件 在MDX文件中导入并使用 CodeBlock 组件: ```markdown import { CodeBlock } from 'rspress-plugin-code-block'; <CodeBlock src="config.json" /> ``` ### 指定语言类型 ```markdown import { CodeBlock } from 'rspress-plugin-code-block'; <CodeBlock src="utils.js" language="javascript" /> ``` ### 文件路径说明 - **相对路径**:相对于当前MDX文件的位置 - **支持任意位置**:文件可以放在docs目录的任何位置,不需要public目录 - **自动语言识别**:根据文件扩展名自动识别语言类型 - **纯静态嵌入**:在构建时读取文件内容,生成静态HTML ## 支持的文件格式 自动识别以下文件扩展名的语言类型: - JavaScript: `.js`, `.jsx` - TypeScript: `.ts`, `.tsx` - Python: `.py` - XML: `.xml` - JSON: `.json` - HTML: `.html` - CSS: `.css` - Shell: `.sh` - 以及更多... ## 特点 - **编译时处理**:在构建阶段读取文件内容,生成静态代码块 - **无需运行时加载**:不依赖fetch或网络请求 - **支持相对路径**:文件可以放在与MDX文件相同或子目录中 - **自动语法高亮**:根据文件类型自动选择语言高亮方案 - **错误处理**:文件不存在时显示友好的错误信息 ## 开发 ### 本地开发 1. 克隆仓库 2. 安装依赖:`npm install` 3. 在测试项目中使用相对路径引入插件 ### 构建 这是一个TypeScript项目,无需额外构建步骤。 ## 许可证 MIT License