@@ -12,6 +12,11 @@ import { slugify } from 'markdown-toc';
12
12
import { marked } from 'marked' ;
13
13
import { markedHighlight } from 'marked-highlight' ;
14
14
15
+ import {
16
+ DAFF_DOC_KIND_PATH_SEGMENT_MAP ,
17
+ DaffDocKind ,
18
+ } from '@daffodil/docs-utils' ;
19
+
15
20
hljs . registerLanguage ( 'typescript' , typescript ) ;
16
21
hljs . registerLanguage ( 'ts' , typescript ) ;
17
22
hljs . registerLanguage ( 'xml' , xml ) ;
@@ -20,17 +25,11 @@ hljs.registerLanguage('bash', bash);
20
25
hljs . registerLanguage ( 'graphql' , graphql ) ;
21
26
hljs . registerLanguage ( 'gql' , graphql ) ;
22
27
23
- enum DocKind {
24
- GUIDE = 'GUIDE' ,
25
- EXPLANATION = 'EXPLANATION' ,
26
- PACKAGE = 'PACKAGE' ,
27
- API = 'API' ,
28
- }
29
28
const DOC_KIND_REGEX = {
30
- [ DocKind . GUIDE ] : / \/ d o c s \/ g u i d e s \/ (?< path > .+ ) \. m d / ,
31
- [ DocKind . EXPLANATION ] : / \/ d o c s \/ e x p l a n a t i o n s \/ (?< path > .+ ) \. m d / ,
32
- [ DocKind . PACKAGE ] : / \/ l i b s \/ (?< path > .+ ) \. m d / ,
33
- [ DocKind . API ] : / \/ l i b s \/ (?< path > .+ ) \. t s / ,
29
+ [ DaffDocKind . GUIDE ] : / \/ d o c s \/ g u i d e s \/ (?< path > .+ ) \. m d / ,
30
+ [ DaffDocKind . EXPLANATION ] : / \/ d o c s \/ e x p l a n a t i o n s \/ (?< path > .+ ) \. m d / ,
31
+ [ DaffDocKind . PACKAGE ] : / \/ l i b s \/ (?< path > .+ ) \. m d / ,
32
+ [ DaffDocKind . API ] : / \/ l i b s \/ (?< path > .+ ) \. t s / ,
34
33
} ;
35
34
const getLinkUrl = ( path : string ) : string => {
36
35
const kind = ( < Array < keyof typeof DOC_KIND_REGEX > > Object . keys ( DOC_KIND_REGEX ) ) . find ( ( k ) => DOC_KIND_REGEX [ k ] . test ( path ) ) ;
@@ -41,18 +40,14 @@ const getLinkUrl = (path: string): string => {
41
40
}
42
41
43
42
switch ( kind ) {
44
- case DocKind . GUIDE :
45
- return `/docs/guides/${ match . groups . path } ` ;
43
+ case DaffDocKind . GUIDE :
44
+ case DaffDocKind . EXPLANATION :
45
+ case DaffDocKind . API :
46
+ return `/docs/${ DAFF_DOC_KIND_PATH_SEGMENT_MAP [ kind ] } /${ match . groups . path } ` ;
46
47
47
- case DocKind . EXPLANATION :
48
- return `/docs/explanations/${ match . groups . path } ` ;
49
-
50
- case DocKind . PACKAGE :
48
+ case DaffDocKind . PACKAGE :
51
49
return `/docs/packages/${ match . groups . path } ` . replaceAll ( / \/ (?: r e a d m e | s r c | g u i d e s ) / gi, '' ) ;
52
50
53
- case DocKind . API :
54
- return `/docs/api/${ match . groups . path } ` ;
55
-
56
51
default :
57
52
return path ;
58
53
}
0 commit comments