# Configuration Documentation ## Introduction The configuration file is stored in a file called config.json, for an example, copy example-config.json to config.json (`cp example-config.json config.json`) and modify from there.
Currently all values in example-config.json are required, however I plan to add support for default values in the case of no value being set.
All options show an example configuartion value and the variable type + an explaination below it.
## Technical configuration * "site_url": "https://example.com"
This value defines the url of your site, this used for the RSS feed to link back to post. * "port": 8080
Integer. This value defines the port that you run the blog on. Don't change this value if you don't know what that means. * "allow_signup": true
Boolean. Defines weather new people should be allowed to signup. * "timeline_length": 20
Integer. How many posts will be shown on the timeline (home page). * "enable_hitcount": true
Boolean. Enabling the hitcount (a number that represents the amount of front page loads (stored in hitcount.txt)) can slightly slow down loading of the front page. * "charset": "UTF-8"
String. This is the value in the tag in the html of all pages, you should not change this unless you know why. * "root_path": "/path/to/root/of/website" String. Anything in this directory will be in the webroot, so put favicon.ico and anything else here. ## Basic Customisation * "seperator": "\
"
String. This is what %S represents in the formatting, this will go inbetween posts and generally to seperate out content on pages. * "site_name": "My Blog"
String. This is what %Y represents; it's the name of your instance, a human readable string. * "site_description": "Read my blogs!" String. This is what %W represents; it's the description of your instance, a human readable string. * "default_commenter_username": "Anon" String. Default commenter username if no username is inputted in comment submission. ## Syndication * "rss": true
Boolean. Enable or Disable RSS feeds. * "rss_path": "/rss"
String. The path of the global rss feed file. ## Dates Read more at [date-fns](https://date-fns.org/v4.1.0/docs/format)
* "date_format": "yyyy-MM-dd"
String. The format of date's on the website. * "time_zone": "+0000"
String. Your offset from UTC ## Advanced Customisation * /views/* files are EJS files (used for formatting HTML) and can be editted to your liking, you might want to read [the EJS docs](https://ejs.co/#docs) for help. * "css": "body { background: red; }"
String. Custom CSS to be applied to all pages, if you want more complex css, you can edit custom.css. ## Custom Strings All of these values are of type String * "signup_agreement": "I agree to not post illegal or hateful content"
The agreement people must check to signup for the server. * "signups_unavailable": "Sorry, this server does not allow signups"
The string to be displayed if the user tries to signup when signup's are disabled. * "user_exists": "Sorry, this user already exists, try a different username"
The string to be shown when someone is trying to signup with a name exists. * "user_doesnt_exist": "Sorry, this user does not exist"
The string to be shown when someone tries to edit their account or make a post but the username doesn't exist. * "delete_account_confirmation": "I agree that my account and all of my posts will be permanently deleted instantly"
The string to be shown as a confirmation when a user tries to delete their account. * "incorrect_password": "Incorrect Password"
The string to be shown if the password is incorrect. ## Other * "attribution" = "Powered by blogger-nodejs: Source Code, license (WTFPL)" String. Represented by format indicator %Z. Only change this value if you modify the source code or just want to change some of the formatting.