1- import { createEffect , createResource , createSignal , FlowProps , JSX , Show } from 'solid-js'
2- import * as shikiji from 'shikiji'
3- import { Dynamic , render } from 'solid-js/web'
4- import { MDXProvider } from 'solid-marked'
1+ import { createEffect , createResource , createSignal , FlowProps , JSX , Show } from 'solid-js' ;
2+ import * as shikiji from 'shikiji' ;
3+ import { Dynamic , render } from 'solid-js/web' ;
4+ import { MDXProvider } from 'solid-marked' ;
55
66export function Markdown ( props : FlowProps ) {
77 const [ highlighter ] = createResource ( async ( ) =>
88 shikiji . getHighlighter ( {
99 langs : [ 'tsx' , 'jsx' , 'md' , 'mdx' , 'markdown' , 'bash' , 'js' , 'ts' ] ,
1010 themes : [ 'vitesse-dark' ] ,
1111 } ) ,
12- )
12+ ) ;
1313
1414 return (
1515 < MDXProvider
@@ -21,44 +21,44 @@ export function Markdown(props: FlowProps) {
2121 { props . children }
2222 </ Dynamic >
2323 </ a >
24- )
24+ ) ;
2525 } ,
2626 Paragraph ( props ) : JSX . Element {
27- return < p > { props . children } </ p >
27+ return < p > { props . children } </ p > ;
2828 } ,
2929 Root ( props ) : JSX . Element {
30- return < div class = "" > { props . children } </ div >
30+ return < div class = "" > { props . children } </ div > ;
3131 } ,
3232 Blockquote ( props ) : JSX . Element {
33- return < blockquote > { props . children } </ blockquote >
33+ return < blockquote > { props . children } </ blockquote > ;
3434 } ,
3535 Image ( props ) : JSX . Element {
36- return < img src = { props . url } alt = { props . alt ?? props . title ?? undefined } />
36+ return < img src = { props . url } alt = { props . alt ?? props . title ?? undefined } /> ;
3737 } ,
3838 Code ( props ) : JSX . Element {
39- const [ ref , setRef ] = createSignal < HTMLPreElement | undefined > ( )
39+ const [ ref , setRef ] = createSignal < HTMLPreElement | undefined > ( ) ;
4040 createEffect ( ( ) => {
41- const current = ref ( )
42- const instance = highlighter ( )
43- const content = props . children
41+ const current = ref ( ) ;
42+ const instance = highlighter ( ) ;
43+ const content = props . children ;
4444 if ( current && instance && content ) {
4545 current . innerHTML = instance . codeToHtml ( content , {
4646 lang : ( props . lang ?? undefined ) as shikiji . BuiltinLanguage ,
4747 theme : 'vitesse-dark' ,
48- } )
48+ } ) ;
4949 }
50- } )
51- return < div ref = { setRef } lang = { props . lang ?? undefined } />
50+ } ) ;
51+ return < div ref = { setRef } lang = { props . lang ?? undefined } /> ;
5252 } ,
5353 InlineCode ( props ) : JSX . Element {
54- return < code > { props . children } </ code >
54+ return < code > { props . children } </ code > ;
5555 } ,
5656 List ( props ) : JSX . Element {
5757 return (
5858 < Dynamic component = { props . ordered ? 'ol' : 'ul' } start = { props . start ?? undefined } >
5959 { props . children }
6060 </ Dynamic >
61- )
61+ ) ;
6262 } ,
6363 ListItem ( props ) : JSX . Element {
6464 return (
@@ -68,18 +68,18 @@ export function Markdown(props: FlowProps) {
6868 { props . children }
6969 </ Show >
7070 </ li >
71- )
71+ ) ;
7272 } ,
7373 Link ( props ) : JSX . Element {
7474 return (
7575 < a href = { props . url } title = { props . title ?? undefined } >
7676 { props . children }
7777 </ a >
78- )
78+ ) ;
7979 } ,
8080 } }
8181 >
8282 { props . children }
8383 </ MDXProvider >
84- )
84+ ) ;
8585}
0 commit comments