26
26
draftRegex = regexp .MustCompile ("@draft (.+)" )
27
27
linkRegex = regexp .MustCompile ("@link (.+)" )
28
28
frontendIdRegex = regexp .MustCompile ("@frontendId (.+)" )
29
+ solvedRegex = regexp .MustCompile ("@solved (.+)" )
29
30
)
30
31
31
32
const (
@@ -46,6 +47,8 @@ type Meta struct {
46
47
Fp string
47
48
Link string
48
49
FrontendId string
50
+ Ext string
51
+ Completed string
49
52
}
50
53
51
54
type Metas []* Meta
@@ -92,6 +95,11 @@ func findMeta(content []byte, fp string) *Meta {
92
95
return nil
93
96
}
94
97
tags := strings .Split (findTag (content , tagsRegex ), "," )
98
+ solved := false
99
+ if strings .ToLower (findTag (content , solvedRegex )) == "true" {
100
+ solved = true
101
+ }
102
+
95
103
return & Meta {
96
104
Index : findTag (content , indexRegex ),
97
105
Title : findTag (content , titleRegex ),
@@ -101,7 +109,16 @@ func findMeta(content []byte, fp string) *Meta {
101
109
Fp : filepath .Dir (fp ),
102
110
Link : findTag (content , linkRegex ),
103
111
FrontendId : findTag (content , frontendIdRegex ),
112
+ Ext : filepath .Ext (fp ),
113
+ Completed : genCompleted (solved , filepath .Ext (fp )),
114
+ }
115
+ }
116
+
117
+ func genCompleted (isCompleted bool , ext string ) string {
118
+ if isCompleted {
119
+ return ext [1 :] + " ✅"
104
120
}
121
+ return ext [1 :] + " ❎"
105
122
}
106
123
107
124
func genTable (data * TableData ) string {
@@ -164,7 +181,7 @@ func Run() {
164
181
}
165
182
166
183
for tag , metas := range tagMetas {
167
- fp := fmt .Sprintf ("./toc/ %s.md" , tag )
184
+ fp := filepath . Join ( toc , fmt .Sprintf ("%s.md" , tag ) )
168
185
wg .Add (1 )
169
186
metas := metas
170
187
tag := tag
@@ -202,9 +219,9 @@ var tableStr = `
202
219
203
220
总计: {{ .Total }}
204
221
205
- | 网页序号 | 序号 | 难度 | 题目 | 解答 |
206
- | ---- | ---- | ---- | ------------------ | ---------------- |{{ range .Metas }}
207
- | {{ .FrontendId }} | {{ .Index }} | {{ .Difficulty }} | [{{ .Title }}]({{ .Link }}) | [{{ .Fp }}](../{{ .Fp }})|{{ end }}
222
+ | 网页序号 | 序号 | 难度 | 题目 | 解答 | 完成 |
223
+ | ---- | ---- | ---- | ------------------ | ---------------- | -------- | {{ range .Metas }}
224
+ | {{ .FrontendId }} | {{ .Index }} | {{ .Difficulty }} | [{{ .Title }}]({{ .Link }}) | [{{ .Fp }}](../{{ .Fp }})| {{ .Completed }} | {{ end }}
208
225
`
209
226
210
227
var tagStr = `# {{ .Name }}
0 commit comments