66 lines
2.2 KiB
JavaScript
66 lines
2.2 KiB
JavaScript
const fs = require("fs"),
|
|
path = require("path"),
|
|
showdown = require("showdown"),
|
|
paths = require("./fileManager.js"),
|
|
mkthtml = new showdown.Converter()
|
|
|
|
mkthtml.setFlavor("github")
|
|
|
|
module.exports = {
|
|
root: () => {
|
|
var data = JSON.parse(fs.readFileSync(path.join(paths.data, 'data.json')))
|
|
var postsArray = data.posts
|
|
|
|
var html = ""
|
|
|
|
for (var i = 0; i < postsArray.length; i++) {
|
|
var addedHTML = ""
|
|
var post = postsArray[i]
|
|
|
|
|
|
addedHTML +=
|
|
`<div class="post">
|
|
<a style="text-decoration: none;" href="./post/${post.path}">
|
|
<h2>${post.name}</h2>
|
|
<p style="color: white; font-size: 1rem;">${post.desc}</p>
|
|
<p style="color: darkgray; font-size: 1rem;">Path: <code>/post/${post.path}</code></p>
|
|
</a>
|
|
</div>`
|
|
|
|
html += addedHTML
|
|
}
|
|
|
|
html = fs.readFileSync(path.join(__dirname, 'resources/mainPage.html')).toString().replace('{POSTS}', html)
|
|
|
|
return html
|
|
},
|
|
blogPost: (req) => {
|
|
var postName = req.params.post
|
|
|
|
var data = JSON.parse(fs.readFileSync(path.join(paths.data, 'data.json')))
|
|
var postsArray = data.posts
|
|
|
|
for (let index = 0; index < postsArray.length; index++) {
|
|
const post = postsArray[index];
|
|
|
|
if (post.path == postName) {
|
|
postContent = mkthtml.makeHtml(fs.readFileSync(path.join(paths.posts, post.path)).toString())
|
|
|
|
var html = fs.readFileSync(path.join(__dirname, 'resources/postPage.html')).toString()
|
|
|
|
html = html.replace('{POST}', postContent)
|
|
html = html.replace('{POST_TITLE}', post.name)
|
|
|
|
// res.send(html)
|
|
return html
|
|
}
|
|
}
|
|
|
|
var html = fs.readFileSync(path.join(__dirname, 'resources/postPage.html')).toString()
|
|
html = html.replace("{POST_TITLE}", "Not found!")
|
|
html = html.replace("{POST}", "<p>Couldn't find this post... Maybe try clearing your cache? Violet's Limbo is currently going through alot of backend changes, so expect things to break!</p>")
|
|
// res.send(html)
|
|
|
|
return html
|
|
}
|
|
} |