Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1a35014

Browse files
Merge pull request #95 from codeisneverodd/feat/id-based-parsing-2
feat: 리드미용 파일 이름 수정 및 빌드 구조 변경
2 parents 5b5fcfd + 712affc commit 1a35014

File tree

2 files changed

+24
-15
lines changed

2 files changed

+24
-15
lines changed

‎utils/api.js‎

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
import fs from 'fs';
22
import { splitCodeToSolutions } from './format.js';
33

4-
const makeAPI = () =>
5-
[1, 2, 3, 4, 5].flatMap(level =>
6-
fs
7-
.readdirSync(`level-${level}`)
8-
.filter(name => name !== '00-해답-예시.js')
9-
.map(file => {
10-
const [name, id, extension] = file.split('&');
11-
const code = splitCodeToSolutions(fs.readFileSync(`level-${level}/${file}`, 'utf-8'));
12-
return { id, name: name.replace('-', ' '), level, code: code[0] + code[1] };
13-
})
14-
);
15-
16-
fs.writeFileSync('api.json', JSON.stringify(makeAPI()));
4+
export const getSolutions = () => {
5+
try {
6+
const api = [1, 2, 3, 4, 5].flatMap(level =>
7+
fs
8+
.readdirSync(`level-${level}`)
9+
.filter(name => name !== '00-해답-예시.js')
10+
.map(file => {
11+
const [name, id, extension] = file.split('&');
12+
const code = splitCodeToSolutions(fs.readFileSync(`level-${level}/${file}`, 'utf-8'));
13+
return { id, name: name.replaceAll('-', ' '), level, code: code[0] + code[1] };
14+
})
15+
);
16+
fs.writeFileSync('api.json', JSON.stringify(api));
17+
return api;
18+
} catch (e) {
19+
console.log('Making API ERROR: ' + e);
20+
return [];
21+
}
22+
};

‎utils/string.js‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as fs from 'fs';
22
import path from 'path';
3+
import { makeAPI } from './api.js';
34
import fetchTitleLink from './fetch.js';
45

56
const __dirname = path.resolve();
@@ -38,7 +39,7 @@ function getTitle(fileName) {
3839
}
3940

4041
export function getInfoList(levelNumber) {
41-
const files = JSON.parse(fs.readFileSync('api.json'));
42+
const files = getSolutions();
4243
return files
4344
.filter(v => v.level === levelNumber)
4445
.map(({ name, level, id }) => ({
@@ -59,7 +60,9 @@ export function getInfoList(levelNumber) {
5960

6061
function makeReadmeStr(infoItem, index) {
6162
const { title, link, fileName, levelNumber } = infoItem;
62-
const codeLink = `https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-${levelNumber}/${fileName}`;
63+
const codeLink = `https://github.com/codeisneverodd/programmers-coding-test/blob/main/level-${levelNumber}/${fileName
64+
.split(' ')
65+
.join('-')}`;
6366
return `| ${index + 1} | [${title}](${link}) | [${fileName}](${codeLink}) |`;
6467
}
6568

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /