Skip to main content

django-staticblog is a markdown-based blog system for Django that compiles to static html.

Requirements

django-staticblog requires:

  • Python 2.6+

  • Django 1.4+

  • markdown

  • html2text

Installation

pip install django-staticblog

or

python setup.py install

after checking out the code from http://github.com/cgrice/django-staticblog

Add staticblog to your INSTALLED_APPS setting, and add

url(r'^preview/', include('staticblog.urls'))

to your urls.py

Configuration Options

STATICBLOG_ROOT - root directory of your django project

STATICBLOG_POST_DIRECTORY - full path to the directory which holds your blog posts in markdown format. Defaults to your STATICBLOG_ROOT + '/posts'

STATICBLOG_COMPILE_DIRECTORY - full path to the directory which will hold compiled post and archive html pages. Defaults to MEDIA_ROOT + '/posts'

STATICBLOG_STORAGE - Defines how staticblog stores images defined in blog posts. Defaults to DEFAULT_FILE_STORAGE.

Usage

To start using staticblog, write some posts in your STATICBLOG_POST_DIRECTORY. These posts should be formatted in markdown. Post filenames should contain alphanumeric characters and dashes only, and end with .post. For examples, please see the examples folder in this repository.

Each post can also contain metadata used for title tags and post information. For example:

Title: Look, I'm blogging!
Summary: A concise summary of a post
Author: John Doe
Date: 2009-08-05 11:25:53 GMT

You can include remotely hosted images in your posts - these will automatically be downloaded and stored in the location defined by STATICBLOG_STORAGE.

To include local files, create a folder with the same name as your post file, minus the .post extension. You can then add image files to this folder, and reference them in your markdown like so:

![Alt Text](post-name/image.jpg)

Compiling Posts

To display your posts, you need to compile them. To do this, staticblog provides a management command named update_blog. By defult, this command will process all new blog posts, handle their images, and create a folder in your STATICBLOG_COMPILE_DIRECTORY with the post name, with an index.html file containing the blog post.

update_blog also creates a post listing, which it stores in an index.html file in your STATICBLOG_COMPILE_DIRECTORY.

update_blog takes two optional arguments:

--all - process all blog posts regardless of whether they already exist --name=POST,POST2 - process a list of blog posts by post name

Templates

staticblog provides two default templates - staticblog/post.html and staticblog/archive.html. You can overwrite these in your own template directory to integrate the posts with your site.

Template Variables

staticblog/post.html

  • post : a dict containing:

    • content : blog content in html format

    • title

    • date

    • author

    • summary

staticblog/archive.html

  • posts : a list of post dicts as defined in post.html above

Changelog

0.2.5 - 2012-10-16

  • Bugfixes for setup.py

0.2.4 - 2012-10-16

  • URL for rendering posts is no longer hardcoded to ‘/preview’

  • Added view to handle github post-receives and render blog

Metadata

Release files for django-staticblog 0.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-staticblog 0.2.5
File Size Uploaded
django-staticblog-0.2.5.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-staticblog 0.2.5
File Interpreter ABI Platform
django_staticblog-0.2.5-py2.6.egg Legacy Egg format - - Details

Total release size: 37.8 kB

Release files / django-staticblog-0.2.5.tar.gz

Download URL django-staticblog-0.2.5.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2186c33f8299d2fdd81e4e2f4f1a4157ef6c72edfe6dd243c2a7a1fd03df619e
BLAKE2b-256 checksum
How to use checksums
33f13cc5571671b4f68b82e4a9eea2e1c1734cd2d5120e0e2e8a6d032b49fb23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / django_staticblog-0.2.5-py2.6.egg

Download URL django_staticblog-0.2.5-py2.6.egg
Size 30.9 kB
Tags Egg
SHA-256 checksum
How to use checksums
0c1e4f7a4256be737f1e918801f69b6334f4e01aa9e52fdccb327335ff372387
BLAKE2b-256 checksum
How to use checksums
a46896e3d59be8c6540343490c8bca6dd73548617f96624412d3854dda2a5dc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.5 This release

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page