@@ -4,6 +4,17 @@ const replace = require('gulp-replace');
4
4
// 为了翻译工具能正确匹配,
5
5
// 需要为一些结构格式做出调整。
6
6
7
+ // 适用路径
8
+ const gulpSrc = [
9
+ '../../_site/**/*.html' ,
10
+ '../../_site/!(about|community|disclaimer|posts|tutorials)/**/!(*_cn).html' ,
11
+ '!../../_site/{about,disclaimer,posts}/**/*.html' ,
12
+ '!../../_site/community/tutorials/**/*.html' ,
13
+ '../../_site/community/china/index.html' ,
14
+ '../../_site/*/index.html' ,
15
+ '../../_site/index.html' ,
16
+ ] ;
17
+
7
18
// 去掉中文标点与中文间的空格
8
19
gulp . task ( 'remove-space' , ( ) => {
9
20
return gulp . src ( [ '../../_site/**/*.html' ] )
@@ -14,23 +25,23 @@ gulp.task('remove-space', () => {
14
25
// 匹配替换目录相关格式
15
26
gulp . task ( 'mark-side-toc' , ( ) => {
16
27
// 宽显示屏右侧目录 正则匹配
17
- const wideRegexp = / < l i c l a s s = " t o c - e n t r y n a v - i t e m t o c - h ( \d ) " > \s * < a c l a s s = " n a v - l i n k " h r e f = " # ( .* ?) " > (? ! .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ a > \s * < \/ l i > \s * < l i c l a s s = " t o c - e n t r y n a v - i t e m t o c - h ( \d ) " > \s * < a c l a s s = " n a v - l i n k " h r e f = " # ( .* ?) " > (? = .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ a > / g;
28
+ const wideRegexp = / < l i c l a s s = " t o c - e n t r y n a v - i t e m t o c - h ( \d ) " > \s * < a c l a s s = " n a v - l i n k " h r e f = " # ( .* ?) " > (? ! .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ a > \s * < \/ l i > \s * < l i c l a s s = " t o c - e n t r y n a v - i t e m t o c - h \1 " > \s * < a c l a s s = " n a v - l i n k " h r e f = " # ( .* ?) " > (? = .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ a > / g;
18
29
// 移动端显示屏顶部目录 正则匹配
19
- const mobileRegexp = / < l i c l a s s = " t o c - e n t r y t o c - h ( \d ) " > \s * < a h r e f = " # ( .* ?) " > (? ! .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ a > \s * < \/ l i > \s * < l i c l a s s = " t o c - e n t r y t o c - h ( \d ) " > \s * < a h r e f = " # ( .* ?) " > (? = .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ a > / g;
30
+ const mobileRegexp = / < l i c l a s s = " t o c - e n t r y t o c - h ( \d ) " > \s * < a h r e f = " # ( .* ?) " > (? ! .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ a > \s * < \/ l i > \s * < l i c l a s s = " t o c - e n t r y t o c - h \1 " > \s * < a h r e f = " # ( .* ?) " > (? = .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ a > / g;
20
31
21
- return gulp . src ( [ '../../_site/**/*.html' ] )
32
+ return gulp . src ( gulpSrc )
22
33
// 宽显示屏右侧目录
23
34
. pipe (
24
- replace ( wideRegexp , ( match , p1 , p2 , p3 , p4 , p5 , p6 ) => {
35
+ replace ( wideRegexp , ( match , p1 , p2 , p3 , p4 , p5 ) => {
25
36
// 注意:不能以 </li> 结尾,避免分级标题混乱
26
- return `<li class="toc-entry nav-item toc-h${ p1 } "><a class="nav-link" href="#${ p2 } "><t>${ p3 } </t><t>${ p6 } </t></a>` ;
37
+ return `<li class="toc-entry nav-item toc-h${ p1 } "><a class="nav-link" href="#${ p2 } "><t>${ p3 } </t><t>${ p5 } </t></a>` ;
27
38
} )
28
39
)
29
40
// 移动端显示屏顶部目录
30
41
. pipe (
31
- replace ( mobileRegexp , ( match , p1 , p2 , p3 , p4 , p5 , p6 ) => {
42
+ replace ( mobileRegexp , ( match , p1 , p2 , p3 , p4 , p5 ) => {
32
43
// 注意:不能以 </li> 结尾,避免分级标题混乱
33
- return `<li class="toc-entry toc-h${ p1 } "><a href="#${ p2 } "><t>${ p3 } </t><t>${ p6 } </t></a>` ;
44
+ return `<li class="toc-entry toc-h${ p1 } "><a href="#${ p2 } "><t>${ p3 } </t><t>${ p5 } </t></a>` ;
34
45
} )
35
46
)
36
47
. pipe ( gulp . dest ( '../../_site' ) ) ;
@@ -39,29 +50,29 @@ gulp.task('mark-side-toc', () => {
39
50
// 匹配替换正文分级标题相关格式
40
51
gulp . task ( 'mark-side-level-title' , ( ) => {
41
52
// 正文分级标题 正则匹配
42
- const titleRegexp = / < d i v c l a s s = " h e a d e r - w r a p p e r " > \s * < h ( \d ) i d = " ( .* ?) " > (? ! .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ h ( \d ) > \s * < a c l a s s = " h e a d i n g - l i n k " h r e f = " # ( .* ?) " a r i a - l a b e l = " ( .* ?) " > # < \/ a > \s * < \/ d i v > \s * < d i v c l a s s = " h e a d e r - w r a p p e r " > \s * < h ( \d ) i d = " ( .* ?) " > (? = .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ h ( \d ) > \s * < a c l a s s = " h e a d i n g - l i n k " h r e f = " # ( .* ?) " a r i a - l a b e l = " ( .* ?) " > # < \/ a > \s * < \/ d i v > / g;
53
+ const titleRegexp = / < d i v c l a s s = " h e a d e r - w r a p p e r " > \s * < h ( \d ) i d = " ( .* ?) " > (? ! .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ h \1 > \s * < a c l a s s = " h e a d i n g - l i n k " h r e f = " # ( .* ?) " a r i a - l a b e l = " ( .* ?) " > # < \/ a > \s * < \/ d i v > \s * < d i v c l a s s = " h e a d e r - w r a p p e r " > \s * < h \1 i d = " ( .* ?) " > (? = .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ h \1 > \s * < a c l a s s = " h e a d i n g - l i n k " h r e f = " # ( .* ?) " a r i a - l a b e l = " ( .* ?) " > # < \/ a > \s * < \/ d i v > / g;
43
54
// 正文分级标题(no_toc) 正则匹配
44
- const titleNoTocRegexp = / < d i v c l a s s = " h e a d e r - w r a p p e r " > \s * < h ( \d ) c l a s s = " n o _ t o c " i d = " ( .* ?) " > (? ! .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ h ( \d ) > \s * < a c l a s s = " h e a d i n g - l i n k " h r e f = " # ( .* ?) " a r i a - l a b e l = " ( .* ?) " > # < \/ a > \s * < \/ d i v > \s * < d i v c l a s s = " h e a d e r - w r a p p e r " > \s * < h ( \d ) c l a s s = " n o _ t o c " i d = " ( .* ?) " > (? = .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ h ( \d ) > \s * < a c l a s s = " h e a d i n g - l i n k " h r e f = " # ( .* ?) " a r i a - l a b e l = " ( .* ?) " > # < \/ a > \s * < \/ d i v > / g;
55
+ const titleNoTocRegexp = / < d i v c l a s s = " h e a d e r - w r a p p e r " > \s * < h ( \d ) c l a s s = " n o _ t o c " i d = " ( .* ?) " > (? ! .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ h \1 > \s * < a c l a s s = " h e a d i n g - l i n k " h r e f = " # ( .* ?) " a r i a - l a b e l = " ( .* ?) " > # < \/ a > \s * < \/ d i v > \s * < d i v c l a s s = " h e a d e r - w r a p p e r " > \s * < h \1 c l a s s = " n o _ t o c " i d = " ( .* ?) " > (? = .* [ \u4e00 - \u9fa5 ] ) ( .* ?) < \/ h \1 > \s * < a c l a s s = " h e a d i n g - l i n k " h r e f = " # ( .* ?) " a r i a - l a b e l = " ( .* ?) " > # < \/ a > \s * < \/ d i v > / g;
45
56
46
- return gulp . src ( [ '../../_site/**/*.html' ] )
57
+ return gulp . src ( gulpSrc )
47
58
// 正文分级标题
48
59
. pipe (
49
- replace ( titleRegexp , ( match , p1 , p2 , p3 , p4 , p5 , p6 , p7 , p8 , p9 , p10 , p11 , p12 ) => {
60
+ replace ( titleRegexp , ( match , p1 , p2 , p3 , p4 , p5 , p6 , p7 , p8 , p9 ) => {
50
61
return `
51
62
<div class="header-wrapper">
52
- <h${ p1 } id="${ p2 } ">${ p3 } </h${ p1 } ><h${ p1 } id="${ p2 } ">${ p9 } </h${ p1 } >
53
- <a class="heading-link" href="#${ p5 } " aria-label="${ p6 } ">#</a>
63
+ <h${ p1 } id="${ p2 } ">${ p3 } </h${ p1 } ><h${ p1 } id="${ p2 } ">${ p7 } </h${ p1 } >
64
+ <a class="heading-link" href="#${ p4 } " aria-label="${ p5 } ">#</a>
54
65
</div>
55
66
` ;
56
67
} )
57
68
)
58
69
// 正文分级标题(no_toc)
59
70
. pipe (
60
- replace ( titleNoTocRegexp , ( match , p1 , p2 , p3 , p4 , p5 , p6 , p7 , p8 , p9 , p10 , p11 , p12 ) => {
71
+ replace ( titleNoTocRegexp , ( match , p1 , p2 , p3 , p4 , p5 , p6 , p7 , p8 , p9 ) => {
61
72
return `
62
73
<div class="header-wrapper">
63
- <h${ p1 } class="no_toc" id="${ p2 } ">${ p3 } </h${ p1 } ><h${ p1 } class="no_toc" id="${ p2 } ">${ p9 } </h${ p1 } >
64
- <a class="heading-link" href="#${ p5 } " aria-label="${ p6 } ">#</a>
74
+ <h${ p1 } class="no_toc" id="${ p2 } ">${ p3 } </h${ p1 } ><h${ p1 } class="no_toc" id="${ p2 } ">${ p7 } </h${ p1 } >
75
+ <a class="heading-link" href="#${ p4 } " aria-label="${ p5 } ">#</a>
65
76
</div>
66
77
` ;
67
78
} )
0 commit comments