From 6e8b20a85c72a4e389c57f5d2e8dc60113b53d0d Mon Sep 17 00:00:00 2001 From: developomp Date: Mon, 2 Aug 2021 07:22:42 +0900 Subject: [PATCH] removed duplicate codes restructured series database --- source/generate.ts | 62 ++++++++++++++++++- source/markdown/series/my quotes/0.md | 4 ++ .../me/11_11.md => my quotes/10_10.md} | 2 +- .../series/{quotes/me => my quotes}/1_1.md | 2 +- .../series/{quotes/me => my quotes}/2_2.md | 2 +- .../series/{quotes/me => my quotes}/3_3.md | 2 +- .../{quotes/me/5_5.md => my quotes/4_4.md} | 2 +- .../{quotes/me/6_6.md => my quotes/5_5.md} | 2 +- .../{quotes/me/7_7.md => my quotes/6_6.md} | 2 +- .../{quotes/me/8_8.md => my quotes/7_7.md} | 2 +- .../{quotes/me/9_9.md => my quotes/8_8.md} | 2 +- .../{quotes/me/10_10.md => my quotes/9_9.md} | 2 +- source/src/pages/Page.tsx | 4 +- source/src/pages/PostList.tsx | 22 ++----- 14 files changed, 80 insertions(+), 32 deletions(-) create mode 100644 source/markdown/series/my quotes/0.md rename source/markdown/series/{quotes/me/11_11.md => my quotes/10_10.md} (88%) rename source/markdown/series/{quotes/me => my quotes}/1_1.md (87%) rename source/markdown/series/{quotes/me => my quotes}/2_2.md (86%) rename source/markdown/series/{quotes/me => my quotes}/3_3.md (84%) rename source/markdown/series/{quotes/me/5_5.md => my quotes/4_4.md} (90%) rename source/markdown/series/{quotes/me/6_6.md => my quotes/5_5.md} (84%) rename source/markdown/series/{quotes/me/7_7.md => my quotes/6_6.md} (88%) rename source/markdown/series/{quotes/me/8_8.md => my quotes/7_7.md} (89%) rename source/markdown/series/{quotes/me/9_9.md => my quotes/8_8.md} (87%) rename source/markdown/series/{quotes/me/10_10.md => my quotes/9_9.md} (88%) diff --git a/source/generate.ts b/source/generate.ts index 1d4f3df..99b1d93 100644 --- a/source/generate.ts +++ b/source/generate.ts @@ -54,7 +54,7 @@ interface Map { title: string toc: string // in series home page and ≡ (3 horizontal line) button length: number - order: string[] + order: string[] // url order tags: string[] } } @@ -80,6 +80,16 @@ const map: Map = { unsearchable: {}, } +interface SeriesMap { + // key: url + [key: string]: { + index: number + url: string + }[] +} + +const seriesMap: SeriesMap = {} + // converts file path to url function path2URL(pathToConvert: string): string { return `/${path.relative(markdownPath, pathToConvert)}` @@ -382,9 +392,37 @@ function recursiveParseSeries(fileOrFolderPath: string) { } if (fileOrFolderName.startsWith("0")) { - console.log("new series") - } else { map.series[urlPath] = { ...postData, order: [], length: 0 } + } else { + map.posts[urlPath] = postData + for (const key of Object.keys(map.series)) { + if (urlPath.slice(0, urlPath.lastIndexOf("/")).includes(key)) { + const index = parseInt( + fileOrFolderName.slice( + 0, + fileOrFolderName.lastIndexOf("_") + ) + ) + + if (isNaN(index)) { + throw Error( + `Invalid series index at: ${fileOrFolderPath}` + ) + } + + const itemToPush = { + index: index, + url: urlPath, + } + + if (seriesMap[key]) { + seriesMap[key].push(itemToPush) + } else { + seriesMap[key] = [itemToPush] + } + break + } + } } } } @@ -438,5 +476,23 @@ for (const tag in map.tags) { map.meta.tags.push(tag) } +// sort series post +for (const seriesURL in seriesMap) { + seriesMap[seriesURL].sort((a, b) => { + if (a.index < b.index) { + return -1 + } + if (a.index > b.index) { + return 1 + } + return 0 + }) +} + +for (const seriesURL in seriesMap) { + map.series[seriesURL].length = seriesMap[seriesURL].length + map.series[seriesURL].order = seriesMap[seriesURL].map((item) => item.url) +} + // write to src/data/map.json fs.writeFileSync(mapFilePath, JSON.stringify(map)) diff --git a/source/markdown/series/my quotes/0.md b/source/markdown/series/my quotes/0.md new file mode 100644 index 0000000..4f6c5f7 --- /dev/null +++ b/source/markdown/series/my quotes/0.md @@ -0,0 +1,4 @@ +--- +title: my quotes +date: 2021-08-01 +--- diff --git a/source/markdown/series/quotes/me/11_11.md b/source/markdown/series/my quotes/10_10.md similarity index 88% rename from source/markdown/series/quotes/me/11_11.md rename to source/markdown/series/my quotes/10_10.md index 98737fc..f37e55b 100644 --- a/source/markdown/series/quotes/me/11_11.md +++ b/source/markdown/series/my quotes/10_10.md @@ -1,5 +1,5 @@ --- -title: My Quote NO.31 +title: My Quote NO.10 date: 2021-03-22 --- diff --git a/source/markdown/series/quotes/me/1_1.md b/source/markdown/series/my quotes/1_1.md similarity index 87% rename from source/markdown/series/quotes/me/1_1.md rename to source/markdown/series/my quotes/1_1.md index b9e702a..81ee471 100644 --- a/source/markdown/series/quotes/me/1_1.md +++ b/source/markdown/series/my quotes/1_1.md @@ -1,5 +1,5 @@ --- -title: My Quote NO.6 +title: My Quote NO.1 date: 2021-03-22 --- diff --git a/source/markdown/series/quotes/me/2_2.md b/source/markdown/series/my quotes/2_2.md similarity index 86% rename from source/markdown/series/quotes/me/2_2.md rename to source/markdown/series/my quotes/2_2.md index 1b6b1c0..0620b6b 100755 --- a/source/markdown/series/quotes/me/2_2.md +++ b/source/markdown/series/my quotes/2_2.md @@ -1,5 +1,5 @@ --- -title: My Quote NO.7 +title: My Quote NO.2 date: 2021-03-22 --- diff --git a/source/markdown/series/quotes/me/3_3.md b/source/markdown/series/my quotes/3_3.md similarity index 84% rename from source/markdown/series/quotes/me/3_3.md rename to source/markdown/series/my quotes/3_3.md index 925aee0..c4cfd85 100755 --- a/source/markdown/series/quotes/me/3_3.md +++ b/source/markdown/series/my quotes/3_3.md @@ -1,5 +1,5 @@ --- -title: My Quote NO.11 +title: My Quote NO.3 date: 2021-03-22 --- diff --git a/source/markdown/series/quotes/me/5_5.md b/source/markdown/series/my quotes/4_4.md similarity index 90% rename from source/markdown/series/quotes/me/5_5.md rename to source/markdown/series/my quotes/4_4.md index 6cfdec6..2f22894 100755 --- a/source/markdown/series/quotes/me/5_5.md +++ b/source/markdown/series/my quotes/4_4.md @@ -1,5 +1,5 @@ --- -title: My Quote NO.14 +title: My Quote NO.4 date: 2021-03-22 --- diff --git a/source/markdown/series/quotes/me/6_6.md b/source/markdown/series/my quotes/5_5.md similarity index 84% rename from source/markdown/series/quotes/me/6_6.md rename to source/markdown/series/my quotes/5_5.md index 713802c..0a84f35 100755 --- a/source/markdown/series/quotes/me/6_6.md +++ b/source/markdown/series/my quotes/5_5.md @@ -1,5 +1,5 @@ --- -title: My Quote NO.16 +title: My Quote NO.5 date: 2021-03-22 --- diff --git a/source/markdown/series/quotes/me/7_7.md b/source/markdown/series/my quotes/6_6.md similarity index 88% rename from source/markdown/series/quotes/me/7_7.md rename to source/markdown/series/my quotes/6_6.md index a825e31..b1a1585 100755 --- a/source/markdown/series/quotes/me/7_7.md +++ b/source/markdown/series/my quotes/6_6.md @@ -1,5 +1,5 @@ --- -title: My Quote NO.20 +title: My Quote NO.6 date: 2021-03-22 --- diff --git a/source/markdown/series/quotes/me/8_8.md b/source/markdown/series/my quotes/7_7.md similarity index 89% rename from source/markdown/series/quotes/me/8_8.md rename to source/markdown/series/my quotes/7_7.md index 9b79f40..d43b777 100644 --- a/source/markdown/series/quotes/me/8_8.md +++ b/source/markdown/series/my quotes/7_7.md @@ -1,5 +1,5 @@ --- -title: My Quote NO.26 +title: My Quote NO.7 date: 2021-03-22 --- diff --git a/source/markdown/series/quotes/me/9_9.md b/source/markdown/series/my quotes/8_8.md similarity index 87% rename from source/markdown/series/quotes/me/9_9.md rename to source/markdown/series/my quotes/8_8.md index 2358e91..2b25c44 100644 --- a/source/markdown/series/quotes/me/9_9.md +++ b/source/markdown/series/my quotes/8_8.md @@ -1,5 +1,5 @@ --- -title: My Quote NO.28 +title: My Quote NO.8 date: 2021-03-22 --- diff --git a/source/markdown/series/quotes/me/10_10.md b/source/markdown/series/my quotes/9_9.md similarity index 88% rename from source/markdown/series/quotes/me/10_10.md rename to source/markdown/series/my quotes/9_9.md index ac21dcb..d751e19 100644 --- a/source/markdown/series/quotes/me/10_10.md +++ b/source/markdown/series/my quotes/9_9.md @@ -1,5 +1,5 @@ --- -title: My Quote NO.30 +title: My Quote NO.9 date: 2021-03-22 --- diff --git a/source/src/pages/Page.tsx b/source/src/pages/Page.tsx index b36b2be..c7ee886 100644 --- a/source/src/pages/Page.tsx +++ b/source/src/pages/Page.tsx @@ -37,9 +37,7 @@ export default class Page extends React.Component { let _isUnsearchable = false // fetch page - let fetchedPage = url.startsWith("/posts") - ? posts.posts[url] - : posts.series[url] + let fetchedPage = posts.posts[url] if (!fetchedPage) { fetchedPage = posts.unsearchable[url] _isUnsearchable = true diff --git a/source/src/pages/PostList.tsx b/source/src/pages/PostList.tsx index c157645..ef74da9 100644 --- a/source/src/pages/PostList.tsx +++ b/source/src/pages/PostList.tsx @@ -72,22 +72,12 @@ export default class PostList extends React.Component< postCount++ const url: string = posts.date[date][length - i - 1] - if (url.startsWith("/posts")) { - PostCards.push( - - ) - } else { - PostCards.push( - - ) - } + PostCards.push( + + ) } }