Files
blogger-nodejs/CONFIG.md
deadvey 929151a16d Update CONFIG.md
removed stuff about format indicators
2025-07-22 23:40:19 +02:00

4.1 KiB
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.
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": "<hr/>"
    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

  • "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 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.