
WallBlog - lightweight blogging engine with markdown support.
Features:
- Page formatting in markdown and html
- Custom page header and footer (in markdown)
- Custom CSS style
- Automatic sitemap generation
- Custom error pages
- HTTP and HTTPS
📦Install binary release
UNIX-like systems
Example for Linux amd64.
For other OS/arch change the link end.
curl --output /usr/local/bin/wallblog -L https://github.com/lcomrade/wallblog/releases/latest/download/wallblog.linux.amd64
chmod 755 /usr/local/bin/wallblog
Docker container
Read more on the Docker Hub page.
🔨Build from source
Build deps:
- Git
- GNU Make
- Golang <= 1.15
git clone https://github.com/lcomrade/wallblog.git
cd ./wallblog
make
You can find result of build in ./dist/
directory.
⚙️Configuration
/etc/wallblog/config.json
To apply the changes in this file, you must restart the program.
Default:
{
"WebRoot": "/var/lib/wallblog",
"HTTP": {
"Enable": true,
"Port": ":80"
},
"HTTPS": {
"Enable": false,
"Port": ":443",
"Cert": "",
"Key": ""
},
"Overwrite": {
"Host": "",
"Protocol": ""
},
"SiteMap": {
"Enable": true,
"URL": "/sitemap.xml",
"SkipHidden": true
},
"Page": {
"AutoTitle": {
"Enable": true,
"Prefix": "",
"Sufix": ""
},
"AddToHead": [],
"EnableBuiltInVars": true
}
}
Read more about:
/var/lib/wallblog/*
**.md
files - normal Markdown with support for HTML tags.
**.htmlp
files - only HTML tags are supported.
Put there what is usually between <body></body>
.
**
files - serve according to their MIME type.
Pages and files
**/index.htmlp
or **/index.md
- works like index.html
Custom page design
./article_start.htmlp
or ./article_start.md
- custom beginning of the article
./article_end.htmlp
or ./article_end.md
- custom end of article
./header.htmlp
or ./header.md
- page header
./footer.htmlp
or ./footer.md
- page footer
./style.css
- page CSS style
./favicon.ico
- site icon
Custom error pages
./error.css
- error page CSS style
./403.htmlp
or ./403.md
./404.htmlp
or ./404.md
./500_permission_denied.htmlp
or ./500_permission_denied.md
./500_file_read_timeout.htmlp
or ./500_file_read_timeout.md
./500_unknown.htmlp
or ./500_unknown.md
📑Documentation