1
- /* eslint-disable */
2
1
import fs from 'fs' ;
3
2
import path from 'path' ;
4
3
import matter from 'gray-matter' ;
5
- // import camelCase from 'camelcase';
6
-
7
- // import testCoverage from '../test-coverage';
8
4
9
5
const componentPath = path . join ( __dirname , './component.vue' ) . replaceAll ( '\\' , '/' ) ;
10
6
@@ -20,33 +16,6 @@ const DEFAULT_EN_TABS = [
20
16
{ tab : 'design' , name : 'Guideline' } ,
21
17
] ;
22
18
23
- export default function mdToVue ( options : any ) {
24
- const mdSegment = customRender ( options ) ;
25
- const { demoCodesImportsStr = '' , demoCodesDefsStr } = options ;
26
-
27
- // let coverage = '';
28
- // if (mdSegment.isComponent) {
29
- // coverage = testCoverage[camelCase(mdSegment.componentName)] || '0%';
30
- // }
31
-
32
- const sfc = `
33
- <template><tdesign-doc /></template>
34
- <script>
35
- import TdesignDoc from '${ componentPath } ';
36
- import { defineComponent } from 'vue';
37
- ${ demoCodesImportsStr }
38
-
39
- export default defineComponent({
40
- props: { docType: String },
41
- components: { TdesignDoc },
42
- provide: { info: ${ JSON . stringify ( mdSegment ) } , demos: { ${ demoCodesDefsStr } } },
43
- });
44
- </script>
45
- ` ;
46
-
47
- return sfc ;
48
- }
49
-
50
19
// 解析 markdown 内容
51
20
function customRender ( { source, file, md } : any ) {
52
21
const { content, data } = matter ( source ) ;
@@ -72,7 +41,7 @@ function customRender({ source, file, md }: any) {
72
41
const componentName = reg && reg [ 1 ] ;
73
42
74
43
// split md
75
- let [ demoMd = '' , apiMd = '' ] = content . split ( pageData . apiFlag ) ;
44
+ const [ demoMd = '' , apiMd = '' ] = content . split ( pageData . apiFlag ) ;
76
45
77
46
const mdSegment = {
78
47
...pageData ,
@@ -103,10 +72,30 @@ function customRender({ source, file, md }: any) {
103
72
if ( fs . existsSync ( designDocPath ) ) {
104
73
const designMd = fs . readFileSync ( designDocPath , 'utf-8' ) ;
105
74
mdSegment . designMd = md . render . call ( md , `${ pageData . toc ? '[toc]\n' : '' } ${ designMd } ` ) . html ;
106
- } else {
107
- // console.log(`[vite-plugin-tdoc]: 未找到 ${designDocPath} 文件`);
108
75
}
109
76
}
110
77
111
78
return mdSegment ;
112
79
}
80
+
81
+ export default function mdToVue ( options : any ) {
82
+ const mdSegment = customRender ( options ) ;
83
+ const { demoCodesImportsStr = '' , demoCodesDefsStr } = options ;
84
+
85
+ const sfc = `
86
+ <template><tdesign-doc /></template>
87
+ <script>
88
+ import TdesignDoc from '${ componentPath } ';
89
+ import { defineComponent } from 'vue';
90
+ ${ demoCodesImportsStr }
91
+
92
+ export default defineComponent({
93
+ props: { docType: String },
94
+ components: { TdesignDoc },
95
+ provide: { info: ${ JSON . stringify ( mdSegment ) } , demos: { ${ demoCodesDefsStr } } },
96
+ });
97
+ </script>
98
+ ` ;
99
+
100
+ return sfc ;
101
+ }
0 commit comments