7.0 KiB
Executable File
7.0 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
All of these customisations support format indicators
Format indicatos are a % sign followed by a character and represent a piece of information
relevant to the data at hand.
Format Indicators
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%Y
%W
Create Post\RSS Feed\
Sign Up\
Delete Account\
Hit count: %H%S"
String. The format of the header peice of the home page/timeline page, example includes the site name, desciption and some relevant links. * "user_page_header": "
%F's posts:
%I%S"String. The format of the header peice of the user page which contains all posts from a particular user. example includes the prettyname and their description. * "tag_page_header": "
Posts tagged: %G
%S"String. The format of the header peice of the tag page which contains all posts with a particular tag, example includes the tag name. ### Post's * "user_post_format": "
%T
%C
%B\Permalink<\br/\>%X%M%S"
String. The format of posts on the users page. Example includes title, content, tags, permalink and comments. * "post_page_format": "
%T
%C
%B\By %N\
Edit Post\
Posted: %D\
Edited: %E%S%X%M%S"
String. The format of the post on the post's page. Example includes title, content, tags, user page hyperlink, edit post hyperlink, publish date, modified date and comments. * "timeline_post_format": "
%T
%C
Permalink<\br/\>By %N%X%M%S"String. The format of the posts on the timeline, example includes title, content, permalink, user page hyperlink and comments. * "tag_post_format": "
%T
%C
%B\Permalink\
By %N%S" String. The format of the posts on the tag page, example includes title, content, permalink and user page hyperlink. ### Other * "site_wide_footer": "Site is ran by DeaDvey\
%Z"
String. The format of the site wide footer, shown on every page. * "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.