Commit Graph

46 Commits

Author SHA1 Message Date
deadvey
9f0eb13bb4 BAD BUG! 2025-10-24 13:10:53 +01:00
deadvey
2d33ce79a8 Fixed a bug where comments could be submitted without any content
and where the hitcount was incremented before the program checked if
the post existed
2025-10-24 13:05:31 +01:00
deadvey
35163b5584 Fixed an issue with an incomplete example-config.json that made the
server not work at all.
Also added a default.css file
2025-10-24 12:28:22 +01:00
66423cb3c0 There is now a Makefile because I learnt make syntax 2025-10-19 21:19:13 +01:00
2ada1d970f Created a per-post hitcount as well a writedata() function that can
write to a particular index or to a whole data type
2025-10-02 13:34:55 +01:00
179a4f83bc Bug fix, most recent post would not show in the post's permalink due to
an indexing bug, pretty simple fix, I'm just a moron.
2025-10-02 10:47:38 +01:00
87fd97730e Escape potentially dangerous input in the search field 2025-10-01 17:45:31 +01:00
521dbccc7e Basic search functionality on the frontpage, I want to add support for
more advanced searches like using boolean operators, but right now it's
pretty basic.
2025-10-01 10:40:36 +01:00
8ad8f01043 Added basic search functionality (no frontend for it yet) 2025-09-30 23:15:33 +01:00
996bf0018b bug fix
numbers should be parsed

Signed-off-by: deadvey <deadvey@deadvey.com>
2025-09-24 21:21:48 +01:00
45af80f747 Updated how comments are searched for
commentID's aren't neccesarily = to the index, so instead of using it as an index,  I just use a for loop to find the matching comment.
I also added another form at the bottom of the timeline to trick bots

Signed-off-by: deadvey <deadvey@deadvey.com>
2025-09-24 21:12:21 +01:00
23744f4000 Bug fix and Document fix
Removed the string object from config.json as it's now all in the locale.
and I fixed data.getdata() to return an error code if the index is out of bounds, it now returns a 1.

Signed-off-by: deadvey <deadvey@deadvey.com>
2025-09-24 20:57:47 +01:00
35e6b94ba1 Support for uncached data loading
So you don't have to restart the server, you can add "cache_data": false option to config.json to not cache data.
Documented in CONFIG.md
I added a require_module function that either does or does not cache the data based on this configuration option.

Signed-off-by: deadvey <deadvey@deadvey.com>
2025-09-24 20:37:35 +01:00
b44762ba7c bug fix
Hitcount updates visually, previously it just showed 1 on the frontend as the value wasn't actually  being retrieved from the data.getdata()

Signed-off-by: deadvey <deadvey@deadvey.com>
2025-09-24 20:18:05 +01:00
1ecc223433 small changes
Signed-off-by: deadvey <deadvey@deadvey.com>
2025-09-24 20:07:49 +01:00
22a7983737 data.getdata() is fully implemented
I think it all works now...

Signed-off-by: deadvey <deadvey@deadvey.com>
2025-09-24 19:31:32 +01:00
e597fd78f7 Comment replies on comment page
There is now a reply form on the comment pages to reply to that comment
Syntax:
>> postID-commentID

Signed-off-by: deadvey <deadvey@deadvey.com>
2025-09-24 17:33:25 +01:00
ef7178cc3f Comment submission works
I fixed the comment submission to use the new way of storing comments and their counter.
I also fixed the AI-consent field in en-US because I accidently had · instead of spaces (from when I copy pasted from vim)

Signed-off-by: deadvey <deadvey@deadvey.com>
2025-09-24 17:20:20 +01:00
max
bfaf957ae2 removed func.get_comment()
It is no longer needed

Signed-off-by: max <deadvey@localhost.localdomain>
2025-09-24 17:06:55 +01:00
max
e6476dcd4e Everything uses data.getdata()
data.getdata() excepts two parameters, if desired, the second will be the index, however if you don't specify anything, the whole array will be returned
Also, comments now have a composite key of postID-commentID, with each post's comments having their own set starting at 0, this makes it easier to index and find a specific comment, and making the getcomment() function unessesary
2025-09-24 17:06:13 +01:00
max
93c5f13750 Clean up changes
Seperated all routes into seperate files for neatness, and I've made the comments.json store only the comments, comments_counter is in the new data.json file which also stores the hitcount.

Signed-off-by: max <deadvey@localhost.localdomain>
2025-09-24 10:02:28 +01:00
max
0541b704db ExpressJS routes in different files
ExpressJS routes for the syndication stuff is now in a seperate file, will now do the other routes.

Signed-off-by: max <deadvey@localhost.localdomain>
2025-09-23 17:38:20 +01:00
max
5e4eb38763 started implementing data functions for easy requests to data 2025-09-23 15:01:28 +01:00
09967a0be9 Automatically removes leading and trailing spaces from tags because tags
are often entered with a space after each comma.
This uses .trim() in func.render_tags() to remove when rendering as well
as .map(str => str.trim()) when a post or post edit is submitted so they
are also stored without spaces.
2025-09-07 22:11:58 +01:00
e3e5469e1a Made it so if an invalid user or post is loaded, a proper error message is
shown instead of just a nodeJS error message
2025-09-06 23:54:49 +01:00
c8af978259 docs and also I improved the readability/user friendliness of the EJS 2025-09-03 22:28:50 +01:00
27b9ee6437 * added "quotes" to the locales
* made all the ejs pages use "postID" as the variable for post indexes
* split up en-GB and en-US
2025-08-27 18:30:26 +01:00
c73ce69f93 bug fix: postID -> post_index 2025-08-27 18:19:12 +01:00
9b5d3f3f73 Fixed issue relating to showdownjs not escaping html tags by porting to
markdown-it, also introduced a new function: func.render_md
2025-08-27 15:09:57 +01:00
6fc1f85e18 Added locale (english only at the moment) and modifed the EJS so I think
every string is customisable (via the /locales/selected locale)
2025-08-09 16:57:31 +01:00
44a060508b Hitcount is now created by init.initialise() 2025-08-09 13:00:07 +01:00
49c7fc7cdf init.initialise() checks for correct path of config.json (bug fix) 2025-08-09 12:51:43 +01:00
144c276bc9 Fixed init.initialise() checking for .js files as opposed to .json files 2025-08-09 12:48:25 +01:00
df4bc99d9a Initialise() imports fs (bug fix) 2025-08-09 12:44:39 +01:00
3e2a63bfd7 Export the init.initialise() function (bug fix) 2025-08-09 12:42:18 +01:00
bced9c7c0e CONFIG.md documentation and also fixed a bug where when ATOM files are
loaded the config.rss boolean is actually checked as opposed to
config.atom, fixed by also adding string.atom_disabled to config.json :)
2025-08-02 03:00:20 +01:00
8b9ddcf048 Added page indexes for comments, posts, users and pages overall, should
add one for tags but it might be inefficient as I don't store all tags
in an array or anything...
2025-08-02 00:51:33 +01:00
cdfc5f2c30 Post doesn't exist page 2025-08-01 23:21:43 +01:00
88b198365d user, post and comment objects contain their ID's now. 2025-08-01 12:34:29 +01:00
b683b658f7 Comments now have their own pages, at /comment/commentID, these are
linked to when someone replies to another comment (>> id), I also fixed
a bug in comment submission where the counter was not incrementing
2025-07-31 03:58:28 +01:00
0cc319a702 Added user specific RSS and ATOM feeds and updated the EJS templates to
add them by default to the user's header section
2025-07-30 01:28:23 +01:00
0c43c7315c editing user redirects to user's page and began to implment ATOM 2025-07-30 00:43:21 +01:00
39eba8fcda posts are marked as deleted to preserve array structure 2025-07-28 15:11:26 +01:00
40e0cc80a3 re-added markdown support under EJS 2025-07-23 02:49:05 +01:00
306adf3943 rss in ejs 2025-07-23 02:38:03 +01:00
797d894621 lots of fixes and more EJS 2025-07-23 02:20:38 +01:00