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
TiynGER 4d24ec5289
adding footer
5 years ago
docker updating dockerfile and readme according to changes made 5 years ago
src adding footer 5 years ago
README.md adding footer 5 years ago

README.md

Python Flask Blog

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
  • Archive page
    • Months as headings
    • Links to scrolling blog page
    • Links to standalone article
  • Standalone article page
    • Links to scrolling blog page
  • RSS feed
  • Better navigation
    • Header
    • Footer
  • Switchable CSS
    • CSS dark-theme
    • CSS light-theme
  • Config file
  • Docker installation
    • Enable variables/environment variables

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/tiyny-blog
  • cd flaskblog/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/src/config.py Config file
entries /blog/src/templates/entry Directory for blog entries
css /blog/src/static/css (optional) Directory for css files
html /blog/src/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

docker run --name blog --restart unless-stopped -v ./config.py:/blog/src/config.py -v entries:/blog/src/templates/entry -p 80:5000 -d tiynger/tiyny-blog