summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMhykol <mchaeldonald62@pm.me>2024-05-11 15:04:10 -0400
committerMhykol <mchaeldonald62@pm.me>2024-05-11 15:04:10 -0400
commit521fafb339e1db68925443b09b34f5c35634e00c (patch)
treeafc971926c71b0040e6c5d278a95a5f9f708a202
parent8b163507a90dfb2f88d01ccabcc951c2222bf974 (diff)
Improve error handling in blog.js
-rw-r--r--source/blog.js77
1 files changed, 39 insertions, 38 deletions
diff --git a/source/blog.js b/source/blog.js
index a45267e..22a7cfc 100644
--- a/source/blog.js
+++ b/source/blog.js
@@ -19,45 +19,46 @@ class Blog {
fs.readdir('./blog/', (err, files) => {
if (err) {
logger.Error(`Error reading directory ${err}`)
- rej(false)
- }
-
- this.blog = new Map()
- files.forEach(file => {
- try {
- this.blog.set(file.replace('.md', ''), fs.readFileSync(path.resolve(`./blog/${file}`), 'utf-8', (err, data) => {
- if (err) {
- logger.Error(err)
- return
- }
- return data
- }))
- } catch (err) {
- logger.Error(err)
- }
- })
- this.blog.forEach((value, key) => {
- const regex = /# (.*)\nDate: (.*)\n---(.*?)---/s
- const match = value.match(regex)
+ rej(null)
+ } else {
+ this.blog = new Map()
+ files.forEach(file => {
+ try {
+ this.blog.set(file.replace('.md', ''), fs.readFileSync(path.resolve(`./blog/${file}`), 'utf-8', (err, data) => {
+ if (err) {
+ logger.Error(err)
+ return
+ }
+ return data
+ }))
+ } catch (err) {
+ logger.Error(err)
+ rej(null)
+ }
+ })
+ this.blog.forEach((value, key) => {
+ const regex = /# (.*)\nDate: (.*)\n---(.*?)---/s
+ const match = value.match(regex)
- if (match) {
- const [, title, date, description] = match
- this.blog.set(key, {
- title: title,
- date: new Date(date),
- short: description,
- body: md.render(value)
- })
- } else {
- this.blog.set(key, {
- title: undefined,
- date: undefined,
- short: undefined,
- body: md.render(value)
- })
- }
- })
- res(this.#OrderByDate(this.blog))
+ if (match) {
+ const [, title, date, description] = match
+ this.blog.set(key, {
+ title: title,
+ date: new Date(date),
+ short: description,
+ body: md.render(value)
+ })
+ } else {
+ this.blog.set(key, {
+ title: undefined,
+ date: undefined,
+ short: undefined,
+ body: md.render(value)
+ })
+ }
+ })
+ res(this.#OrderByDate(this.blog))
+ }
})
})
}