1
1
import matters from 'micromark-extension-frontmatter/lib/matters.js'
2
2
3
3
export function frontmatterFromMarkdown ( options ) {
4
- var settings = matters ( options )
5
- var length = settings . length
6
- var index = - 1
7
- var enter = { }
8
- var exit = { }
9
- var matter
4
+ const settings = matters ( options )
5
+ const enter = { }
6
+ const exit = { }
7
+ let index = - 1
10
8
11
- while ( ++ index < length ) {
12
- matter = settings [ index ]
9
+ while ( ++ index < settings . length ) {
10
+ const matter = settings [ index ]
13
11
enter [ matter . type ] = opener ( matter )
14
12
exit [ matter . type ] = close
15
13
exit [ matter . type + 'Value' ] = value
@@ -27,7 +25,7 @@ function opener(matter) {
27
25
}
28
26
29
27
function close ( token ) {
30
- var data = this . resume ( )
28
+ const data = this . resume ( )
31
29
// Remove the initial and final eol.
32
30
this . exit ( token ) . value = data . replace ( / ^ ( \r ? \n | \r ) | ( \r ? \n | \r ) $ / g, '' )
33
31
}
@@ -38,15 +36,13 @@ function value(token) {
38
36
}
39
37
40
38
export function frontmatterToMarkdown ( options ) {
41
- var unsafe = [ ]
42
- var handlers = { }
43
- var settings = matters ( options )
44
- var length = settings . length
45
- var index = - 1
46
- var matter
39
+ const unsafe = [ ]
40
+ const handlers = { }
41
+ const settings = matters ( options )
42
+ let index = - 1
47
43
48
- while ( ++ index < length ) {
49
- matter = settings [ index ]
44
+ while ( ++ index < settings . length ) {
45
+ const matter = settings [ index ]
50
46
handlers [ matter . type ] = handler ( matter )
51
47
unsafe . push ( { atBreak : true , character : fence ( matter , 'open' ) . charAt ( 0 ) } )
52
48
}
@@ -55,8 +51,8 @@ export function frontmatterToMarkdown(options) {
55
51
}
56
52
57
53
function handler ( matter ) {
58
- var open = fence ( matter , 'open' )
59
- var close = fence ( matter , 'close' )
54
+ const open = fence ( matter , 'open' )
55
+ const close = fence ( matter , 'close' )
60
56
61
57
return handle
62
58
@@ -66,14 +62,9 @@ function handler(matter) {
66
62
}
67
63
68
64
function fence ( matter , prop ) {
69
- var marker
70
-
71
- if ( matter . marker ) {
72
- marker = pick ( matter . marker , prop )
73
- return marker + marker + marker
74
- }
75
-
76
- return pick ( matter . fence , prop )
65
+ return matter . marker
66
+ ? pick ( matter . marker , prop ) . repeat ( 3 )
67
+ : pick ( matter . fence , prop )
77
68
}
78
69
79
70
function pick ( schema , prop ) {
0 commit comments