布局与内容CodeBlock单色驱动主题语法高亮复制按钮
代码块
干净的代码块,整套主题都由一条强调色推导而来。传代码和一个 hex,剩下的交给它。
hero.tsx
上面的组件正在页面上实时运行,可以直接交互。
安装
在项目根目录执行下面的命令,组件源码会写入 @/components/ui/code-block.tsx。
npx shadcn@latest add swamimalode07/rare-ui/code-block用法
组件默认导出(或具名导出)即可直接使用,不需要额外的 Provider。
code-block.tsx
属性
下表列出了该组件公开的主要属性,所有未列出的原生属性都会透传到根元素。
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| code | string | — | 要渲染的源码。 |
| language | string | "tsx" | Prism 语言 id。 |
| accent | string | — | 任意 hex,整套配色由它推导。 |
| mode | "auto" | "dark" | "light" | "auto" | 明暗模式,auto 跟随页面。 |
| filename | string | — | 标题栏文件名。 |
| showFrame | boolean | true | 是否显示外框。 |
| showHeader | boolean | true | 是否显示标题栏。 |
| showLineNumbers | boolean | — | 是否显示行号。 |
| showCopyButton | boolean | true | 是否显示复制按钮。 |
| highlightLines | number[] | — | 需要高亮的 1-based 行号。 |