Skip to content

Commit 52e238a

Browse files
committed
feat(highlight): add highlight
1 parent 67dd218 commit 52e238a

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

devui/button/demo/button-demo.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ import { defineComponent } from 'vue'
22
import CodeBox from '../../shared/devui-codebox/devui-codebox'
33
import ButtonPrimary from './primary/primary'
44
import ButtonCommon from './common/common'
5+
import PrimaryCode from './primary/primary.tsx?raw'
6+
import CommonCode from './common/common.tsx?raw'
57

68
export default defineComponent({
79
name: 'd-button-demo',
810
setup() {
9-
const primarySource: any[] = [];
10-
const commonSource: any[] = [];
11+
const primarySource: any[] = [{title: 'TSX', language: 'TSX', code: PrimaryCode}];
12+
const commonSource: any[] = [{title: 'TSX', language: 'TSX', code: CommonCode}];
1113
return () => {
1214
return <div class="demo-container">
1315
<div class="demo-example">

devui/shared/devui-codebox/devui-codebox.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export default defineComponent({
8686
{ !_copied.value ? <CopyIcon></CopyIcon> : <CopiedIcon></CopiedIcon>}
8787
</span>
8888
</div>
89-
<DevuiHighlight></DevuiHighlight>
89+
<DevuiHighlight code={item.code.default || item.code} language={item.language}></DevuiHighlight>
9090
</div>
9191
</DevuiTab>
9292
)

devui/shared/devui-highlight/devui-highlight.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,17 @@ import { defineComponent } from 'vue'
33
export default defineComponent({
44
name: 'd-highlight',
55
props: {
6+
code: String,
7+
language: String
68
},
79
setup(props, ctx) {
810
return () => {
9-
return <div>devui-highlight</div>
11+
return (
12+
<pre class={`language-${props.language}`}>
13+
{/* 暂做处理避免tsx语法被解析为html标签 */}
14+
<code innerHTML={props.code?.replace(/(<)/g, '&lt;')}></code>
15+
</pre>
16+
)
1017
}
1118
}
1219
})

0 commit comments

Comments
 (0)