Files
blogger-nodejs/CONFIG.md
2025-07-20 23:05:53 +01:00

4.3 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.

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
    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 that defines weather new people should be allowed to signup.
  • "timeline_length": 20
    How many posts will be shown on the timeline (home page).
  • "enable_hitcount": true
    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"
    This is the value in the tag in the html of all pages, you should not change this unless you know why.

Basic Customisation

seperator = "


" site_name = "My Blog" site_description = "Read my blogs!"

// Anything in this directory will be in the webroot, so put favicon.ico and anything else here. root_path = "/path/to/root/of/website"

// Default username if no username is inputted in comment submission default_username = "Anon"

// RSS feeds rss = true rss_path = "/rss"

// Dates // https://date-fns.org/v4.1.0/docs/format date_format = "yyyy-MM-dd" time_zone = "+0000"

//// Format ///// // The syntax for this is pretty simple // %% - A literal % // %A - List of tags // %B - List of tags, each one with a hyperlink to that tag page // %C - Post content // %D - Published date in the format specified by date_format // %E - Edited date in the format specified by date_format // %F - Pretty name // %G - Tag name (used for the tag page only) // %H - Frontpage hit count // %I - User description // %L - URL Permanent link to the post // %M - comments // %N - the username of the user (poster) // %O - URL to edit this post // %P - URL to create a new post // %Q - URL to sign up // %R - Site wide RSS feed // %S - post seperator as defined by post_seperator // %T - Title // %U - URL the the user (poster) // %W - Site Description as defined by site_description // %X - Comment submission box // %Y - Site Name as defined by site_name // %Z - Attribution (to me) and source code link and license

timeline_header = `

%Y

%W

Create Post
RSS Feed
Sign Up
Delete Account
Hit count: %H %S` user_page_header = `

%F's posts:

%I %S` tag_page_header = `

Posts tagged: %G

%S` // --------------------------------------------- user_post_format = `

%T

%C

%B
Permalink
%X %M %S` post_page_format = `

%T

%C

%B
By %N
Edit Post
Posted: %D
Edited: %E %S %X %M %S` timeline_post_format = `

%T

%C

Permalink
By %N %X %M %S` tag_post_format = `

%T

%C

%B
Permalink
By %N %S` // ------------------------------------- site_wide_footer = `Site is ran by DeaDvey
%Z`

// Custom Strings signup_agreement = "I agree to not post illegal or hateful content" signups_unavailable = "Sorry, this server does not allow signups" user_exists = "Sorry, this user already exists, try a different username" user_doesnt_exist = "Sorry, this user does not exist" delete_account_confirmation = "I agree that my account and all of my posts will be permanently deleted instantly" incorrect_password = "Incorrect Password"

/// Custom CSS to be applied to every page css = /* Put you custom CSS here, Read about existing classes and ID's in the docs (coming soon)*\

// pretty please don't change this attribution = "Powered by blogger-nodejs: Source Code, license (WTFPL)"