Files
blogger-nodejs/docs/CONFIG.md
2025-08-09 20:53:57 +01:00

56 lines
3.1 KiB
Markdown
Executable File

# 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.<br/>
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.<br/>
All options show an example configuartion value and the variable type + an explaination below it.<br/>
## Technical configuration
* "site_url": "https://example.com"<br/>
This value defines the url of your site, this used for the RSS feed to link back to post.
* "port": 8080<br/>
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<br/>
Boolean. Defines weather new people should be allowed to signup.
* "timeline_length": 20<br/>
Integer. How many posts will be shown on the timeline (home page).
* "enable_hitcount": true<br/>
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"<br/>
String. This is the value in the <meta charset=""> 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
* "locale": en<br/>
String. Your locale, see [/locales](/locales) for a list of all locales (you can open a PR for a new translation too)
* "seperator": "\<hr/\>"<br/>
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"<br/>
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<br/>
Boolean. Enable or Disable RSS feeds.
* "atom": true<br/>
Boolean. Enable or Disable ATOM feeds.
## Dates
Read more at [date-fns](https://date-fns.org/v4.1.0/docs/format)<br/>
* "date_format": "yyyy-MM-dd"<br/>
String. The format of date's on the website.
* "time_zone": "+0000"<br/>
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; }"<br/>
String. Custom CSS to be applied to all pages, if you want more complex css, you can edit custom.css.<br/>
You can also edit the custom.css file in the webroot, as by default this is linked in the global header.
## Custom Strings
* You can edit all the strings on the site in /locales/<your-locale>.json