Skip to content

Commit 167dd41

Browse files
author
robot
committed
feat: 生成讲义
1 parent a29f297 commit 167dd41

10 files changed

+46
-43
lines changed

Diff for: 91alg-5

Diff for: package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"prd": "pm2 start bin/www",
1212
"test": "echo \"Error: no test specified\" && exit 1",
1313
"daily-schedule": "node ./schedule/daily-problem.js && node ./schedule/daily-check.js && node ./schedule/check-in.js",
14-
"generate": "node ./static/solution/generate.js && && node ./static/users/generate.js",
14+
"generate": "node ./static/solution/generate.js && node ./static/users/generate.js",
1515
"lecture": "node ./static/lectures/generate.js"
1616
},
1717
"dependencies": {

Diff for: static/lectures/generate.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -239,19 +239,19 @@ const lectures = {
239239

240240
// 先导
241241
lectures.intro["1001"].content = encrypt(
242-
fs.readFileSync(path.resolve(__dirname, "../../91alg-4/algo.md"))
242+
fs.readFileSync(path.resolve(__dirname, "../../91alg-5/algo.md"))
243243
);
244244

245245
lectures.intro["1002"].content = encrypt(
246-
fs.readFileSync(path.resolve(__dirname, "../../91alg-4/bigO.md"))
246+
fs.readFileSync(path.resolve(__dirname, "../../91alg-5/bigO.md"))
247247
);
248248

249249
// 基础
250250

251251
[2001, 2002, 2003, 2004, 2005, 2006, 2007].forEach((id, i) => {
252252
lectures.basic[id].content = encrypt(
253253
fs.readFileSync(
254-
path.resolve(__dirname, `../../91alg-4/lecture/basic-0${i + 1}.md`)
254+
path.resolve(__dirname, `../../91alg-5/lecture/basic-0${i + 1}.md`)
255255
)
256256
);
257257
});
@@ -261,7 +261,7 @@ lectures.intro["1002"].content = encrypt(
261261
[3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008].forEach((id, i) => {
262262
lectures.topic[id].content = encrypt(
263263
fs.readFileSync(
264-
path.resolve(__dirname, `../../91alg-4/lecture/topic-0${i + 1}.md`)
264+
path.resolve(__dirname, `../../91alg-5/lecture/topic-0${i + 1}.md`)
265265
)
266266
);
267267
});
@@ -271,7 +271,7 @@ lectures.intro["1002"].content = encrypt(
271271
[4001, 4002, 4003, 4004, 4005, 4006, 4007].forEach((id, i) => {
272272
lectures.advance[id].content = encrypt(
273273
fs.readFileSync(
274-
path.resolve(__dirname, `../../91alg-4/lecture/advanced-0${i + 1}.md`)
274+
path.resolve(__dirname, `../../91alg-5/lecture/advanced-0${i + 1}.md`)
275275
)
276276
);
277277
});

Diff for: static/lectures/lectures-by-category.json

+1-1
Large diffs are not rendered by default.

Diff for: static/lectures/lectures-by-id.json

+1-1
Large diffs are not rendered by default.

Diff for: static/meta.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"users":{"lastUpdateTime":1630470874152}}
1+
{"users":{"lastUpdateTime":1631207692866}}

Diff for: static/solution/generate.js

+33-30
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
const fs = require("fs");
22
const path = require("path");
3-
const fetch = require('node-fetch')
3+
const fetch = require("node-fetch");
44

5-
const { leetcodeConfig:{ allProblem } } = require('../../config/index')
5+
const {
6+
leetcodeConfig: { allProblem },
7+
} = require("../../config/index");
68
const { encrypt } = require("../../utils/crypto.js");
79

810
const solutions = require("./solutions.json");
9-
let lcProblemIdMap = {}
11+
let lcProblemIdMap = {};
1012

1113
function toArray(sep = "-", txt) {
1214
if (!txt) return txt;
@@ -54,12 +56,12 @@ function matchWioutPaddingLine(reg, txt) {
5456
}
5557

5658
function getQuestionId(link = "") {
57-
if(!link) return null
59+
if (!link) return null;
5860
let slug = link
59-
.split('/')
60-
.reverse()
61-
.find(item => item)
62-
return lcProblemIdMap[slug]
61+
.split("/")
62+
.reverse()
63+
.find((item) => item);
64+
return lcProblemIdMap[slug];
6365
}
6466

6567
function generate(rawMD, rawMDBuffer, i) {
@@ -85,17 +87,18 @@ function generate(rawMD, rawMDBuffer, i) {
8587
description,
8688
content: encrypt(rawMDBuffer),
8789
title,
88-
link
90+
link,
8991
};
90-
solutions[i]['question_id'] = getQuestionId(link) || solutions[i]['question_id']
92+
solutions[i]["question_id"] =
93+
getQuestionId(link) || solutions[i]["question_id"];
9194
}
9295
// 基础篇
9396
function generateBasic() {
9497
Array.from({ length: 28 }, (_, i) => i + 1).forEach((i) => {
9598
solutions[i] = solutions[i] || {};
9699

97100
const rawMDBuffer = fs.readFileSync(
98-
path.resolve(__dirname, `../../91alg-4/solution/basic/d${i}.md`)
101+
path.resolve(__dirname, `../../91alg-5/solution/basic/d${i}.md`)
99102
);
100103
const rawMD = rawMDBuffer.toString();
101104
generate(rawMD, rawMDBuffer, i);
@@ -107,7 +110,7 @@ function generateTopic() {
107110
solutions[i] = solutions[i] || {};
108111

109112
const rawMDBuffer = fs.readFileSync(
110-
path.resolve(__dirname, `../../91alg-4/solution/topic/d${i}.md`)
113+
path.resolve(__dirname, `../../91alg-5/solution/topic/d${i}.md`)
111114
);
112115
const rawMD = rawMDBuffer.toString();
113116
generate(rawMD, rawMDBuffer, i);
@@ -119,7 +122,7 @@ function generateAdvance() {
119122
solutions[i] = solutions[i] || {};
120123

121124
const rawMDBuffer = fs.readFileSync(
122-
path.resolve(__dirname, `../../91alg-4/solution/advanced/d${i}.md`)
125+
path.resolve(__dirname, `../../91alg-5/solution/advanced/d${i}.md`)
123126
);
124127
const rawMD = rawMDBuffer.toString();
125128
generate(rawMD, rawMDBuffer, i);
@@ -128,26 +131,26 @@ function generateAdvance() {
128131

129132
function getLcProblemIdMap() {
130133
return fetch(allProblem)
131-
.then(res => res.json())
132-
.then(res => {
133-
let result = {}
134-
let data = res.stat_status_pairs
135-
if(data){
136-
result = data.reduce((pre, item) => {
137-
let { stat: { question__title_slug, question_id } = {} } = item || {}
138-
if(question__title_slug && question_id){
139-
pre[question__title_slug] = question_id
140-
}
141-
return pre
142-
}, {})
143-
}
144-
return result
145-
})
134+
.then((res) => res.json())
135+
.then((res) => {
136+
let result = {};
137+
let data = res.stat_status_pairs;
138+
if (data) {
139+
result = data.reduce((pre, item) => {
140+
let { stat: { question__title_slug, question_id } = {} } = item || {};
141+
if (question__title_slug && question_id) {
142+
pre[question__title_slug] = question_id;
143+
}
144+
return pre;
145+
}, {});
146+
}
147+
return result;
148+
});
146149
}
147150

148151
async function main() {
149152
try {
150-
lcProblemIdMap = await getLcProblemIdMap()
153+
lcProblemIdMap = await getLcProblemIdMap();
151154
} catch (err) {
152155
console.log(err);
153156
}
@@ -158,4 +161,4 @@ async function main() {
158161
fs.writeFileSync(__dirname + "/solutions.json", JSON.stringify(solutions));
159162
}
160163

161-
main()
164+
main();

Diff for: static/solution/solutions.json

+1-1
Large diffs are not rendered by default.

Diff for: static/users/index.json

+1-1
Large diffs are not rendered by default.

Diff for: test/daily-check.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const octokit = new Octokit({ auth: process.env.issueToken });
44
octokit.rest.issues
55
.listComments({
66
owner: "leetcode-pp",
7-
repo: "91alg-4",
7+
repo: "91alg-5",
88
issue_number: 1,
99
})
1010
.then((res) => {

0 commit comments

Comments
 (0)