summaryrefslogtreecommitdiff
path: root/source/readfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'source/readfile.js')
-rw-r--r--source/readfile.js60
1 files changed, 53 insertions, 7 deletions
diff --git a/source/readfile.js b/source/readfile.js
index 394ea2d..b0e0ed2 100644
--- a/source/readfile.js
+++ b/source/readfile.js
@@ -16,13 +16,13 @@ class ReadFile {
this.object = {
baseUrl: x.baseUrl,
mime: '',
- main: this.#Build(),
+ main: '',
types: x.mime,
layouts: {
header: `
<section id='header'>
<nav class='menulist' id='menu-list'>
- <img src='' alt='logo'/>
+ <img class='logo' src='' alt='logo'/>
<a class='list' href='/'>Home</a>
<a class='list' href='/about'>About</a>
<a class='list' href='/blog'>Blog</a>
@@ -56,13 +56,60 @@ class ReadFile {
}
}
- GetMain() {return this.object.main}
+ GetMain(x) {
+ const data = {}
+ try {
+ data.header = `
+ <html>
+ <head>
+ <title>Welcome to my website!</title>
+ <link rel='stylesheet' href='/css/prism.css'/>
+ <link rel='stylesheet' href='/css/main.css'/>
+ <meta name='description' content='${x.description}'>
+ <meta name='keywords' content='${x.keywords}'>
+ </head>
+ <body>
+ <section id='main'>
+ `,
+ data.footer = `
+ </section>
+ <script src='/js/purify.js'></script>
+ <script src='/js/main.js'></script>
+ </body>
+ </html>
+ `
+ } catch {
+ data.header = `
+ <html>
+ <head>
+ <title>Welcome to my website!</title>
+ <link rel='stylesheet' href='/css/main.css'/>
+ <link rel='stylesheet' href='/css/prism.css'/>
+ <meta name='description' content=''>
+ <meta name='keywords' content=''>
+ </head>
+ <body>
+ <section id='main'>
+ `
+ data.footer = `
+ </section>
+ <script src='/js/purify.js'></script>
+ <script src='/js/main.js'></script>
+ </body>
+ </html>
+ `
+ }
+ return this.#RemoveSpaces(data.header + data.footer)
+ }
async Create(x) {
try {
return this.#SetData({data: x, mime: this.object.types})
} catch(err) {
try {
- return await x.then(output => {return this.#SetData({data: output, mime: this.object.types})})
+ return await x.then(output => {
+ console.log(output)
+ return this.#SetData({data: output, mime: this.object.types})
+ })
} catch (err) {
logger.Error(`${err.code}: Failed to create HTML`)
}
@@ -81,7 +128,7 @@ class ReadFile {
}
GetFavicon() {
const object = {
- file: fs.createReadStream('./assets/favicon/favicon.ico').on('error', (err) => {
+ file: fs.createReadStream('./favicon/favicon.ico').on('error', (err) => {
logger.Error(`${err.code}: Failed to get 'favicon.ico'`)
return null
}),
@@ -121,9 +168,8 @@ class ReadFile {
object.layouts.data = this.#RemoveSpaces(x.data)
return object
}
- async #GetFileType(x) {return this.object.types[path.extname(`./assets/${x[1]}/${x[2]}`).slice(1)] || 'text/plain'}
- #Build() {return fs.readFileSync('./views/layouts/header.html', 'utf-8') + fs.readFileSync('./views/layouts/footer.html', 'utf-8')}
#RemoveSpaces(x) {return x.replace(/^(\n)\s+/gm, '$1')}
+ async #GetFileType(x) {return this.object.types[path.extname(`./assets/${x[1]}/${x[2]}`).slice(1)] || 'text/plain'}
}
module.exports = ReadFile