@@ -63,34 +63,34 @@ export const getMetaId = (meta: string = '') => {
63
63
export const isMeta = ( meta : string = '' ) => meta && meta . includes ( 'mdx:preview' ) ;
64
64
65
65
/** 获取需要渲染的代码块 **/
66
- export const getCodeBlock = ( child : MarkdownParseData [ 'children' ] , opts : Options = { } ) : CodeBlockData [ 'data' ] => {
66
+ export function getCodeBlock (
67
+ child : MarkdownParseData [ 'children' ] ,
68
+ opts : Options = { } ,
69
+ resourcePath ?: string ,
70
+ ) : CodeBlockData [ 'data' ] {
67
71
const { lang = [ 'jsx' , 'tsx' ] } = opts ;
68
72
// 获取渲染部分
69
73
const codeBlock : Record < string | number , CodeBlockItem > = { } ;
70
- try {
71
- child . forEach ( ( item ) => {
72
- if ( item && item . type === 'code' && lang . includes ( item . lang ) ) {
73
- const line = item . position . start . line ;
74
- const metaId = getMetaId ( item . meta ) ;
75
- if ( isMeta ( item . meta ) ) {
76
- let name = metaId || line ;
77
- const funName = `${ FUNNAME_PREFIX } ${ name } ` ;
78
- const returnCode = getTransformValue ( item . value , `${ funName } .${ lang } ` , opts ) ;
79
- codeBlock [ name ] = {
80
- name,
81
- meta : getURLParameters ( item . meta ) ,
82
- code : returnCode ,
83
- language : item . lang ,
84
- value : item . value ,
85
- } ;
86
- }
74
+ child . forEach ( ( item ) => {
75
+ if ( item && item . type === 'code' && lang . includes ( item . lang ) ) {
76
+ const line = item . position . start . line ;
77
+ const metaId = getMetaId ( item . meta ) ;
78
+ if ( isMeta ( item . meta ) ) {
79
+ let name = metaId || line ;
80
+ const funName = `${ resourcePath } .${ FUNNAME_PREFIX } ${ name } ` ;
81
+ const returnCode = getTransformValue ( item . value , `${ funName } .${ item . lang } ` , opts ) ;
82
+ codeBlock [ name ] = {
83
+ name,
84
+ meta : getURLParameters ( item . meta ) ,
85
+ code : returnCode ,
86
+ language : item . lang ,
87
+ value : item . value ,
88
+ } ;
87
89
}
88
- } ) ;
89
- } catch ( err ) {
90
- console . warn ( err ) ;
91
- }
90
+ }
91
+ } ) ;
92
92
return codeBlock ;
93
- } ;
93
+ }
94
94
95
95
/**
96
96
* `mdCodeModulesLoader` method for adding `markdown-react-code-preview-loader` to webpack config.
0 commit comments