Compare commits
3 Commits
88b198365d
...
8b9ddcf048
Author | SHA1 | Date | |
---|---|---|---|
8b9ddcf048 | |||
5f2aba0c2b | |||
cdfc5f2c30 |
@@ -23,6 +23,7 @@ Read the [configuation guide](docs/CONFIG.md) for configuration help (in config.
|
|||||||
* Markdown syntax in posts
|
* Markdown syntax in posts
|
||||||
* Commenting on posts and replying to other comments
|
* Commenting on posts and replying to other comments
|
||||||
* site wide custom CSS
|
* site wide custom CSS
|
||||||
|
* Page indexes
|
||||||
|
|
||||||
# Bugs
|
# Bugs
|
||||||
* probably scales like shit
|
* probably scales like shit
|
||||||
@@ -37,6 +38,7 @@ Read the [configuation guide](docs/CONFIG.md) for configuration help (in config.
|
|||||||
* /postID and /userID pages
|
* /postID and /userID pages
|
||||||
* site index
|
* site index
|
||||||
* Make EJS modification more user friendly
|
* Make EJS modification more user friendly
|
||||||
|
* API for returning posts, users, comments, tags other?...
|
||||||
|
|
||||||
TODO (not finished)
|
TODO (not finished)
|
||||||
# EJS variable names
|
# EJS variable names
|
||||||
|
@@ -25,6 +25,7 @@
|
|||||||
"user_exists": "Sorry, this user already exists, try a different username",
|
"user_exists": "Sorry, this user already exists, try a different username",
|
||||||
"user_doesnt_exist": "Sorry, this user does not exist",
|
"user_doesnt_exist": "Sorry, this user does not exist",
|
||||||
"comment_doesnt_exist": "This comment doesn't exist, this could be because the post it was attached to was deleted",
|
"comment_doesnt_exist": "This comment doesn't exist, this could be because the post it was attached to was deleted",
|
||||||
|
"post_doesnt_exist": "This post doesn't exist or was deleted",
|
||||||
"delete_account_confirmation": "Delete my account - (I agree that my account and all of my posts will be permanently deleted instantly)",
|
"delete_account_confirmation": "Delete my account - (I agree that my account and all of my posts will be permanently deleted instantly)",
|
||||||
"incorrect_password": "Incorrect Password",
|
"incorrect_password": "Incorrect Password",
|
||||||
"rss_disabled": "Sorry, RSS is disabled",
|
"rss_disabled": "Sorry, RSS is disabled",
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
"timeline_length": 20,
|
"timeline_length": 20,
|
||||||
"enable_hitcount": true,
|
"enable_hitcount": true,
|
||||||
"charset": "UTF-8",
|
"charset": "UTF-8",
|
||||||
"root_path": "/path/to/blogger-webroot",
|
"root_path": "/path/to/webroot",
|
||||||
"edit_account_base_url": "/edit_account",
|
"edit_account_base_url": "/edit_account",
|
||||||
"new_post_url": "/post",
|
"new_post_url": "/post",
|
||||||
"signup_url": "/signup",
|
"signup_url": "/signup",
|
||||||
@@ -25,7 +25,8 @@
|
|||||||
"user_exists": "Sorry, this user already exists, try a different username",
|
"user_exists": "Sorry, this user already exists, try a different username",
|
||||||
"user_doesnt_exist": "Sorry, this user does not exist",
|
"user_doesnt_exist": "Sorry, this user does not exist",
|
||||||
"comment_doesnt_exist": "This comment doesn't exist, this could be because the post it was attached to was deleted",
|
"comment_doesnt_exist": "This comment doesn't exist, this could be because the post it was attached to was deleted",
|
||||||
"delete_account_confirmation": "I agree that my account and all of my posts will be permanently deleted instantly",
|
"post_doesnt_exist": "This post doesn't exist or was deleted",
|
||||||
|
"delete_account_confirmation": "Delete my account - (I agree that my account and all of my posts will be permanently deleted instantly)",
|
||||||
"incorrect_password": "Incorrect Password",
|
"incorrect_password": "Incorrect Password",
|
||||||
"rss_disabled": "Sorry, RSS is disabled",
|
"rss_disabled": "Sorry, RSS is disabled",
|
||||||
"attribution": "Powered by blogger-nodejs: <a href='https://git.javalsai.tuxcord.net/deadvey/blogger-nodejs'>Source Code</a>, <a href='https://git.javalsai.tuxcord.net/deadvey/blogger-nodejs/raw/branch/master/LICENSE'>license (WTFPL)</a>"
|
"attribution": "Powered by blogger-nodejs: <a href='https://git.javalsai.tuxcord.net/deadvey/blogger-nodejs'>Source Code</a>, <a href='https://git.javalsai.tuxcord.net/deadvey/blogger-nodejs/raw/branch/master/LICENSE'>license (WTFPL)</a>"
|
||||||
|
@@ -141,6 +141,34 @@ app.get("/user/:username/atom", (req,res) => {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
///////////////////// Page index's ///////////////////////
|
||||||
|
app.get("/index/pages", (req,res) => {
|
||||||
|
res.render("indexes/all_pages", {
|
||||||
|
config,
|
||||||
|
posts,
|
||||||
|
users,
|
||||||
|
comments: comments.comments,
|
||||||
|
});
|
||||||
|
}); // /index/posts
|
||||||
|
app.get("/index/posts", (req,res) => {
|
||||||
|
res.render("indexes/posts", {
|
||||||
|
config,
|
||||||
|
posts,
|
||||||
|
});
|
||||||
|
}); // /index/posts
|
||||||
|
app.get("/index/users", (req,res) => {
|
||||||
|
res.render("indexes/users", {
|
||||||
|
config,
|
||||||
|
users,
|
||||||
|
});
|
||||||
|
}); // /index/posts
|
||||||
|
app.get("/index/comments", (req,res) => {
|
||||||
|
res.render("indexes/comments", {
|
||||||
|
config,
|
||||||
|
comments: comments.comments,
|
||||||
|
});
|
||||||
|
}); // /index/posts
|
||||||
|
|
||||||
|
|
||||||
///////////////////// Standard Pages //////////////////////
|
///////////////////// Standard Pages //////////////////////
|
||||||
app.get("/", (req,res) => {
|
app.get("/", (req,res) => {
|
||||||
@@ -186,19 +214,31 @@ app.get("/user/:username", (req, res) => {
|
|||||||
}); // /user/:username
|
}); // /user/:username
|
||||||
app.get("/post/:post_index", (req, res) => {
|
app.get("/post/:post_index", (req, res) => {
|
||||||
const postID = req.params.post_index
|
const postID = req.params.post_index
|
||||||
res.render("pages/post",
|
if (posts[postID]["deleted"] == true) {
|
||||||
{
|
res.render("partials/message", {
|
||||||
|
message: config.string.post_doesnt_exist,
|
||||||
config,
|
config,
|
||||||
post: posts[postID],
|
|
||||||
postID: postID,
|
|
||||||
user: users[posts[postID].userID],
|
|
||||||
comments: comments.comments[postID],
|
|
||||||
fromUnixTime,
|
|
||||||
format,
|
|
||||||
getUnixTime,
|
|
||||||
func,
|
|
||||||
converter,
|
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
else if (typeof posts[postID]["deleted"] == "undefined" || posts[postID]["deleted"] == false) {
|
||||||
|
res.render("pages/post",
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
post: posts[postID],
|
||||||
|
postID: postID,
|
||||||
|
user: users[posts[postID].userID],
|
||||||
|
comments: comments.comments[postID],
|
||||||
|
fromUnixTime,
|
||||||
|
format,
|
||||||
|
getUnixTime,
|
||||||
|
func,
|
||||||
|
converter,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log("Error loading page")
|
||||||
|
res.redirect(301,"/")
|
||||||
|
}
|
||||||
}); // /post/:post_index
|
}); // /post/:post_index
|
||||||
app.get("/tag/:tag", (req,res) => {
|
app.get("/tag/:tag", (req,res) => {
|
||||||
const tag = req.params.tag
|
const tag = req.params.tag
|
||||||
@@ -431,15 +471,15 @@ app.post("/submit_edit_user", (req,res) => {
|
|||||||
}
|
}
|
||||||
}); // /submit_delete_account
|
}); // /submit_delete_account
|
||||||
app.post("/submit_edit_post", (req,res) => {
|
app.post("/submit_edit_post", (req,res) => {
|
||||||
const password = crypto.createHash('sha512').update(req.body.password).digest('hex');
|
const password = crypto.createHash('sha512').update(req.body.password).digest('hex');
|
||||||
const postID = req.body.postID
|
const postID = req.body.postID
|
||||||
const userID = req.body.userID
|
const userID = req.body.userID
|
||||||
const title = req.body.title
|
const title = req.body.title
|
||||||
const content = req.body.content
|
const content = req.body.content
|
||||||
const tags = req.body.tags.split(',');
|
const tags = req.body.tags.split(',');
|
||||||
const delete_bool = req.body.delete
|
const delete_bool = req.body.delete
|
||||||
const unix_timestamp = getUnixTime(new Date())
|
const unix_timestamp = getUnixTime(new Date())
|
||||||
console.log(users[userID]['prettyname'], "is editting the post titled:", title);
|
console.log(users[userID]['prettyname'], "is editting the post titled:", title);
|
||||||
|
|
||||||
if (users[userID]['hash'] == password) { // password matches
|
if (users[userID]['hash'] == password) { // password matches
|
||||||
let post = posts[postID]
|
let post = posts[postID]
|
||||||
|
1
views/headers/site_wide.ejs
Normal file
1
views/headers/site_wide.ejs
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<a href="/">Home Page</a><br/>
|
45
views/indexes/all_pages.ejs
Normal file
45
views/indexes/all_pages.ejs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="<%= config.charset %>">
|
||||||
|
<head>
|
||||||
|
<%- include("../partials/head") %>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Misc:<br/>
|
||||||
|
<a href="/">Home Page</a><br/>
|
||||||
|
<a href="/index/posts">Posts Index</a><br/>
|
||||||
|
<a href="/index/users">Users Index</a><br/>
|
||||||
|
<a href="/index/comments">Comments Index</a><br/>
|
||||||
|
<a href="<%= config.new_post_url %>">New Post Form</a><br/>
|
||||||
|
<a href="<%= config.signup_url %>">Signup Form</a><br/>
|
||||||
|
Posts:<br/>
|
||||||
|
<% for (let postID = 0; postID < posts.length; postID++) { %>
|
||||||
|
<% if (posts[postID]["deleted"] != true) { %>
|
||||||
|
<a href="/post/<%= postID %>"><%= posts[postID]["title"] %></a><br/>
|
||||||
|
<% }; %>
|
||||||
|
<% }; %>
|
||||||
|
Comments:<br/>
|
||||||
|
<% for (let postID = 0; postID < comments.length; postID++) { %>
|
||||||
|
<% for (let comment_index = 0; comment_index < comments[postID].length; comment_index++) { %>
|
||||||
|
<a href="/comment/<%= comments[postID][comment_index]["id"] %>"><%= comments[postID][comment_index]["id"] %></a><br/>
|
||||||
|
<% }; %>
|
||||||
|
<% }; %>
|
||||||
|
Users:<br/>
|
||||||
|
<% for (let userID = 0; userID < users.length; userID++) { %>
|
||||||
|
<% if (users[userID]["deleted"] != true) { %>
|
||||||
|
<a href="/user/<%= users[userID]["username"] %>"><%= users[userID]["username"] %></a><br/>
|
||||||
|
<% }; %>
|
||||||
|
<% }; %>
|
||||||
|
Edit Posts:<br/>
|
||||||
|
<% for (let postID = 0; postID < posts.length; postID++) { %>
|
||||||
|
<% if (posts[postID]["deleted"] != true) { %>
|
||||||
|
<a href="/<%= config.edit_post_base_url %>/<%= postID %>">Edit <%= posts[postID]["title"] %></a><br/>
|
||||||
|
<% }; %>
|
||||||
|
<% }; %>
|
||||||
|
Edit Users:<br/>
|
||||||
|
<% for (let userID = 0; userID < users.length; userID++) { %>
|
||||||
|
<% if (users[userID]["deleted"] != true) { %>
|
||||||
|
<a href="/<%= config.edit_account_base_url %>/<%= users[userID]["username"] %>">Edit <%= users[userID]["username"] %></a><br/>
|
||||||
|
<% }; %>
|
||||||
|
<% }; %>
|
||||||
|
</body>
|
||||||
|
</html>
|
13
views/indexes/comments.ejs
Normal file
13
views/indexes/comments.ejs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="<%= config.charset %>">
|
||||||
|
<head>
|
||||||
|
<%- include("../partials/head") %>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<% for (let postID = 0; postID < comments.length; postID++) { %>
|
||||||
|
<% for (let comment_index = 0; comment_index < comments[postID].length; comment_index++) { %>
|
||||||
|
<a href="/comment/<%= comments[postID][comment_index]["id"] %>"><%= comments[postID][comment_index]["id"] %></a><br/>
|
||||||
|
<% }; %>
|
||||||
|
<% }; %>
|
||||||
|
</body>
|
||||||
|
</html>
|
13
views/indexes/posts.ejs
Normal file
13
views/indexes/posts.ejs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="<%= config.charset %>">
|
||||||
|
<head>
|
||||||
|
<%- include("../partials/head") %>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<% for (let postID = 0; postID < posts.length; postID++) { %>
|
||||||
|
<% if (posts[postID]["deleted"] != true) { %>
|
||||||
|
<a href="/post/<%= postID %>"><%= posts[postID]["title"] %></a><br/>
|
||||||
|
<% }; %>
|
||||||
|
<% }; %>
|
||||||
|
</body>
|
||||||
|
</html>
|
13
views/indexes/users.ejs
Normal file
13
views/indexes/users.ejs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="<%= config.charset %>">
|
||||||
|
<head>
|
||||||
|
<%- include("../partials/head") %>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<% for (let userID = 0; userID < users.length; userID++) { %>
|
||||||
|
<% if (users[userID]["deleted"] != true) { %>
|
||||||
|
<a href="/user/<%= users[userID]["username"] %>"><%= users[userID]["username"] %></a><br/>
|
||||||
|
<% }; %>
|
||||||
|
<% }; %>
|
||||||
|
</body>
|
||||||
|
</html>
|
@@ -4,6 +4,9 @@
|
|||||||
<%- include('../partials/head'); %>
|
<%- include('../partials/head'); %>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<div id="header">
|
||||||
|
<%- include("../headers/site_wide") %>
|
||||||
|
</div>
|
||||||
<div id="comment">
|
<div id="comment">
|
||||||
<%- include("../partials/comment"); %>
|
<%- include("../partials/comment"); %>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -4,6 +4,9 @@
|
|||||||
<%- include('../partials/head'); %>
|
<%- include('../partials/head'); %>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<div id="header">
|
||||||
|
<%- include("../headers/site_wide") %>
|
||||||
|
</div>
|
||||||
<div id="posts">
|
<div id="posts">
|
||||||
<%- include('../posts/post'); %>
|
<%- include('../posts/post'); %>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="header">
|
<div id="header">
|
||||||
|
<%- include('../headers/site_wide'); %>
|
||||||
<%- include('../headers/tag'); %>
|
<%- include('../headers/tag'); %>
|
||||||
</div>
|
</div>
|
||||||
<div id="posts">
|
<div id="posts">
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="header">
|
<div id="header">
|
||||||
|
<%- include("../headers/site_wide") %>
|
||||||
<%- include('../headers/timeline'); %>
|
<%- include('../headers/timeline'); %>
|
||||||
</div>
|
</div>
|
||||||
<div id="posts">
|
<div id="posts">
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="header">
|
<div id="header">
|
||||||
|
<%- include("../headers/site_wide") %>
|
||||||
<%- include('../headers/user'); %>
|
<%- include('../headers/user'); %>
|
||||||
</div>
|
</div>
|
||||||
<div id="posts">
|
<div id="posts">
|
||||||
|
@@ -1,9 +1,12 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="<%=config.language%>
|
<html lang="<%= config.language %>">
|
||||||
<head>
|
<head>
|
||||||
<%- include('head') %>
|
<%- include('head') %>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<div id="header">
|
||||||
|
<%- include("../headers/site_wide") %>
|
||||||
|
</div>
|
||||||
<%- message %>
|
<%- message %>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
Reference in New Issue
Block a user