@@ -6,58 +6,89 @@ import remarkGfm from 'remark-gfm'
6
6
import clsx from 'clsx'
7
7
import rehypeRaw from 'rehype-raw'
8
8
import readme from '../../README.md?raw'
9
- import { card , container , description , header , meta } from './plugins'
9
+ import { card , className , container , description , header , meta } from './plugins'
10
10
11
11
function Resume ( ) {
12
12
return (
13
13
< ReactMarkdown
14
14
components = { {
15
- 'container' : ( { ...props } ) => < div className = "font-sans text-base bg-gray-100" { ...props } /> ,
16
- 'content' : ( { ...props } ) => < div className = "bg-white md:w-768px xs:w-full mx-auto p-y-5 sm:p-x-10 p-x-4" { ...props } /> ,
17
- 'h1' : ( { ...props } ) => < h1 className = "text-2xl font-semibold" { ...props } > </ h1 > ,
18
- 'h2' : ( { ...props } ) => {
19
- return < div className = "text-xl font-semibold p-y-1 b-b" >
20
- < h2 { ...props } > </ h2 >
21
- </ div >
15
+ 'container' : ( { className, ...props } ) => < div className = {
16
+ clsx (
17
+ 'font-sans text-base bg-gray-100' ,
18
+ className ,
19
+ )
20
+ } { ...props } /> ,
21
+ 'content' : ( { className, ...props } ) => < div className = {
22
+ clsx (
23
+ 'bg-white md:w-768px xs:w-full mx-auto p-y-5 sm:p-x-10 p-x-4' ,
24
+ className ,
25
+ )
26
+ } { ...props } /> ,
27
+ 'h1' : ( { className, ...props } ) => < h1 className = {
28
+ clsx (
29
+ 'text-2xl font-semibold' ,
30
+ className ,
31
+ )
32
+ } { ...props } > </ h1 > ,
33
+ 'h2' : ( { className, ...props } ) => {
34
+ return < h2 className = { clsx ( 'text-xl font-semibold p-y-1 b-b' , className ) } { ...props } > </ h2 >
22
35
} ,
23
- 'h3' : ( { ...props } ) => < h3 className = "p-y-1 text-lg font-semibold" { ...props } > </ h3 > ,
24
- 'ul' : ( { ...props } ) => < ul className = "text-0.95rem p-l-5 list-disc p-y-1" { ...props } > </ ul > ,
25
- 'ol' : ( { ...props } ) => < ol className = "text-0.95rem p-l-5 list-decimal p-y-1" { ...props } > </ ol > ,
26
- 'a' : ( { ...props } ) => < a className = "text-blue underline" { ...props } > </ a > ,
27
- 'p' : ( { ...props } ) => < p className = "font-medium p-y-1" { ...props } > </ p > ,
28
- 'strong' : ( { ...props } ) => < strong className = "font-semibold" { ...props } > </ strong > ,
29
- 'card' : ( { ...props } ) => {
30
- return < div className = "p-y-0.5 grid grid-cols-2 gap-y-0.5" { ...props } />
36
+ 'h3' : ( { className, ...props } ) => < h3 className = {
37
+ clsx ( 'p-y-1 text-lg font-semibold' , className )
38
+ } { ...props } > </ h3 > ,
39
+ 'ul' : ( { className, ...props } ) => < ul className = {
40
+ clsx ( 'text-0.95rem p-l-5 list-disc p-y-1' , className )
41
+ } { ...props } > </ ul > ,
42
+ 'ol' : ( { className, ...props } ) => < ol className = {
43
+ clsx ( 'text-0.95rem p-l-5 list-decimal p-y-1' , className )
44
+ } { ...props } > </ ol > ,
45
+ 'a' : ( { className, ...props } ) => < a className = {
46
+ clsx ( 'text-blue underline' , className )
47
+ } { ...props } > </ a > ,
48
+ 'p' : ( { className, ...props } ) => < p className = {
49
+ clsx ( 'font-medium p-y-1' , className )
50
+ } { ...props } > </ p > ,
51
+ 'strong' : ( { className, ...props } ) => < strong className = {
52
+ clsx ( 'font-semibold' , className )
53
+ } { ...props } /> ,
54
+ 'card' : ( { className, ...props } ) => {
55
+ return < div className = {
56
+ clsx ( 'p-y-0.5 grid grid-cols-2 gap-y-0.5' , className )
57
+ } { ...props } />
31
58
} ,
32
- 'card-item' : ( { index, ...props } ) => {
33
- return < div { ...props } className = { clsx ( 'text-sm' , { 'justify-self-end' : index % 2 === 1 } ) } />
59
+ 'card-item' : ( { className , index, ...props } ) => {
60
+ return < div { ...props } className = { clsx ( 'text-sm' , { 'justify-self-end' : index % 2 === 1 } , className ) } />
34
61
} ,
35
- 'card-item-label' : ( { ...props } ) => {
36
- return < span { ...props } className = "text-sm font-medium" />
62
+ 'card-item-label' : ( { className, ...props } ) => {
63
+ return < span { ...props } className = {
64
+ clsx ( 'text-sm font-medium' , className )
65
+ } />
37
66
} ,
38
- 'card-item-value' : ( { ...props } ) => {
39
- return < span className = "text-blue-gray-600" { ...props } />
67
+ 'card-item-value' : ( { className, ...props } ) => {
68
+ return < span className = {
69
+ clsx ( 'text-blue-gray-600' , className )
70
+ } { ...props } />
40
71
} ,
41
- 'description' : ( { ...props } ) => {
42
- return < p { ...props } className = " text-sm indent" />
72
+ 'description' : ( { className , ...props } ) => {
73
+ return < p { ...props } className = { clsx ( ' text-sm indent' , className ) } />
43
74
} ,
44
- 'header' : ( { node : _ , ...props } ) => {
45
- return < header { ...props } className = " flex flex-col items-center p-4" />
75
+ 'header' : ( { className , ...props } ) => {
76
+ return < header { ...props } className = { clsx ( ' flex flex-col items-center p-4' , className ) } />
46
77
} ,
47
- 'header-content' : ( { node : _ , ...props } ) => {
48
- return < div { ...props } className = " flex flex-col items-center" />
78
+ 'header-content' : ( { className , ...props } ) => {
79
+ return < div { ...props } className = { clsx ( ' flex flex-col items-center' , className ) } />
49
80
} ,
50
- 'header-name' : ( { node : _ , ...props } ) => {
51
- return < h1 { ...props } className = " font-bold text-2xl" />
81
+ 'header-name' : ( { className , ...props } ) => {
82
+ return < h1 { ...props } className = { clsx ( ' font-bold text-2xl' , className ) } />
52
83
} ,
53
- 'header-avatar' : ( { node : _ , ...props } ) => {
54
- return < img { ...props } className = " w-40 font-bold text-2xl" />
84
+ 'header-avatar' : ( { className , ...props } ) => {
85
+ return < img { ...props } className = { clsx ( ' w-40 font-bold text-2xl' , className ) } />
55
86
} ,
56
- 'header-row' : ( { ...props } ) => {
57
- return < ul { ...props } className = " list-none flex flex-wrap" />
87
+ 'header-row' : ( { className , ...props } ) => {
88
+ return < ul { ...props } className = { clsx ( ' list-none flex flex-wrap' , className ) } />
58
89
} ,
59
- 'header-col' : ( { ...props } ) => {
60
- return < li className = " sibling:before:content-| sibling:before:p-x-2 sibling:before:text-gray-400" { ...props } />
90
+ 'header-col' : ( { className , ...props } ) => {
91
+ return < li className = { clsx ( ' sibling:before:content-| sibling:before:p-x-2 sibling:before:text-gray-400' , className ) } { ...props } />
61
92
} ,
62
93
} }
63
94
remarkPlugins = { [
@@ -71,6 +102,7 @@ function Resume() {
71
102
header ,
72
103
description ,
73
104
container ,
105
+ className ,
74
106
] }
75
107
remarkRehypeOptions = { {
76
108
allowDangerousHtml : true ,
0 commit comments