This is a simple blog based on Pythons Flask framework. The basic design is based on LukeSmithXYZs blog. However I dislike using a script for adding entries and just want to add entries via plain text files.
- Plain text support for blog entries
- HTML files (.html)
- Markdown Files (.md)
- Infinite-scroll blog page
- Search page
- Full-text search
- Preview panel
- Archive page
- Months as headings
- Links to scrolling blog page
- Links to standalone article
- Standalone article page
- Links to scrolling blog page
- TTS Functionality
- RSS feed
- Navigation
- Header
- Footer
- Switchable CSS
- CSS dark-theme
- CSS light-theme
- Language Support
- English
- German
- Config file
- Docker installation
- Logo
Blog entries are managed by plain html files in the templates/entry/
directory.
The first line of each document is reserved as the title of the document.
You have to specify the filetype by extension.
git clone https://github.com/tiyn/beaker-blog
cd beaker-blog/src
- edit the
config.py
file according to your needs pip3install -r requirements.txt
- install depenencies- run
python app.py
- blog is available on port 5000
Make sure you copy an example config.py
and edit it before running the container.
The config.py
can be found in the src
folder.
Set the following volumes with the -v tag.
Volume-Name | Container mount | Description |
---|---|---|
config-file |
/blog/config.py |
Config file |
entries |
/blog/templates/entry |
Directory for blog entries |
graphics |
/blog/static/graphics |
Directory for images needed for entries |
css |
/blog/static/css |
(optional) Directory for css files |
html |
/blog/templates |
(optional) Directory for templates (entry-volume not needed) |
Set the following ports with the -p tag.
Container-Port | Recommended outside port | Protocol | Description |
---|---|---|---|
5000 |
80 |
TCP | HTTP port |
An example run command is shown in rebuild.sh
.