smog is intended to be a lightweight yet feature-complete blog platform for individuals and organizations. I wrote smog in about 60 hours to learn web development using Python and the Flask microframework, after trying other blog platforms and deciding they weren't for me.
I want smog to be a pleasure for bloggers, readers, and also developers who want to tweak or extend what their blog can do. Smog is free software hosted on GitHub.
Markdown is a simple markup language (with a very shallow learning curve) that lets you format your text and add rich content like images, links, and lists. Compared to HTML, plain text with markdown syntax is pretty darn readable. Here is a quick reference, you'll learn it in 10 minutes.
Why you may like smog as a blogger
- Write posts in Markdown, plain text, or HTML
- Create blog posts and static pages; ideal for a web site with a mix of regular/new content and permanent/curated content like project pages or your resume
- Supports multiple content authors, each with their own account
- Guest comments are protected with a CSRF token and reCAPTCHA, which drastically limits the number of spam comments you'll need to deal with
- Comments can be enabled/disabled per post and are easy to moderate
Why you may like smog as a developer
- Written in Python using Flask microframework and several of its extensions
- Easy to modify and extend, fairly complete test coverage will let you know if you break stuff
- Uses SQLAlchemy with modular back-end: use any database you like
- Built-in database migrations (using Flask-Migrate) allows you to update the database of your deployed blog when new features are added to smog
- Input validation using WTForms
- Complete source only ~200 KB (as of March 2016)
- GNU GPL licensed
Here you can create some posts and play with the settings. The demo site is automatically destroyed and re-created every 30 minutes, so if you're having trouble just try again in half an hour.
- Username: 'email@example.com'
- Password: 'test'
How do I get smog?
Visit smog on GitHub to get the code and installation instructions for a web server, or a demo site in a Docker container if you just want to try your own copy. Feel free to contact me with installation questions.