A blog system based on plain-files.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
tiyn 9fd714eef3
added robots
8 months ago
src added robots 8 months ago
Dockerfile added tts functionality 8 months ago
LICENSE adding license 5 years ago
README.md added tts functionality 8 months ago
beaker_blog_alt.png readme: updated logo 4 years ago
rebuild.sh minor style changes, added graphics volume 8 months ago

README.md

Beaker Blog

beaker-blog-logo

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.

Features/To-Dos

  • 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

Usage

Create entries

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.

Deployment

PIP/Python

  • 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

Docker

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.

Volumes

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)

Ports

Set the following ports with the -p tag.

Container-Port Recommended outside port Protocol Description
5000 80 TCP HTTP port

Example run-command

An example run command is shown in rebuild.sh.