Skip to content
Go to file

Latest commit

  - Fixed calendar bug
  - Cleaned up the code after (Perl::Critic for Perl version, pylint
    for Python version)
  - Refactored styles and cleaned up (stylelint)
  - Bump version to 4.1.0

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

tumblelog: a static microblog generator

tumblelog is a static microblog generator. There are two versions available, one written in Perl and one written in Python. Which version you use is up to you; I make an effort to keep the output of both versions identical.

The input is a single "Markdown" file divided into pages by starting a line with a date followed by a title. Each date page can further be split up into multiple articles using a single % on a line by itself.

Parameters to control the blog are given via command line arguments. The program creates the blog HTML5 pages and both a JSON and RSS feed.

Python Version Quick Start

Install sass and pip3 for Linux:

sudo apt install -y git sass python3-pip

For macOS:

brew install sass
brew install pip3


git clone
cd tumblelog
python3 -m venv venv
pip3 install commonmark
source venv/bin/activate
mkdir htdocs
sass --sourcemap=none -t compressed styles/steel.scss htdocs/steel.css
python3 --template-filename tumblelog.html --output-dir htdocs/ \
        --author 'Test' --name 'Test Blog' --description 'This is a test'    \
        --blog-url '' --css steel.css

To view the generated site at http://localhost:8000/ enter:

cd htdocs
python3 -m http.server


Style Examples

A screenshot of the four styles that come with tumblelog

A screenshot of four of the twelve styles that come with tumblelog.

The screenshots directory has 1:1 examples of themes that come with tumblelog.


If you want your tumblelog generated site listed, please let me know.

You can’t perform that action at this time.