Skip to main content

A clear and powerfull weblog application powered with Django

Project description

Simple yet powerful application for managing a blog within your Django website.

Zinnia has been made for publishing weblog entries and designed to do it well.

Basically any feature that can be provided by another reusable app has been left out. Why should we re-implement something that is already done and reviewed by others and tested ?

Features

More than a long speech, here the list of the main features :

Examples

Take a look at the online demo at : http://django-blog-zinnia.com or you can visit these websites who use Zinnia.

If you are a proud user of Zinnia, send me the URL of your website and I will add it to the list.

Installation

Dependencies

Make sure to install these packages prior to installation :

The packages below are optionnal but needed for run the full test suite.

Note that all the dependencies will be resolved if you install Zinnia with pip or easy_install, excepting Django.

Getting the code

You could retrieve the last sources from http://github.com/Fantomas42/django-blog-zinnia and run the installation script

$ python setup.py install

or use pip

$ pip install -e git://github.com/Fantomas42/django-blog-zinnia.git#egg=django-blog-zinnia

For the latest stable version use easy_install

$ easy_install django-blog-zinnia

Applications

Then register zinnia, and these following applications in the INSTALLED_APPS section of your project’s settings.

INSTALLED_APPS = (
  # Your favorite apps
  'django.contrib.contenttypes',
  'django.contrib.comments',
  'django.contrib.sessions',
  'django.contrib.sites',
  'django.contrib.admin',
  'tagging',
  'mptt',
  'zinnia',)

Template Context Processors

Add these following template context processors if not already present.

TEMPLATE_CONTEXT_PROCESSORS = (
  'django.core.context_processors.auth',
  'django.core.context_processors.i18n',
  'django.core.context_processors.request',
  'django.core.context_processors.media',
  'zinnia.context_processors.version', # Optional
  'zinnia.context_processors.media',)

Media Files

You have to make a symbolic link from zinnia/media/zinnia directory to your media directory or make a copy named zinnia, but if want to change this value, define ZINNIA_MEDIA_URL in the settings.py as appropriate.

And don’t forget to serve this URL.

URLs

Add the following lines to your project’s urls.py in order to display the blog.

url(r'^weblog/', include('zinnia.urls')),
url(r'^comments/', include('django.contrib.comments.urls')),

Note that the default zinnia URLset is provided for convenient usage, but you can customize your URLs if you want. Here’s how :

url(r'^', include('zinnia.urls.capabilities')),
url(r'^search/', include('zinnia.urls.search')),
url(r'^sitemap/', include('zinnia.urls.sitemap')),
url(r'^trackback/', include('zinnia.urls.trackback')),
url(r'^weblog/tags/', include('zinnia.urls.tags')),
url(r'^weblog/feeds/', include('zinnia.urls.feeds')),
url(r'^weblog/authors/', include('zinnia.urls.authors')),
url(r'^weblog/categories/', include('zinnia.urls.categories')),
url(r'^weblog/discussions/', include('zinnia.urls.discussions')),
url(r'^weblog/', include('zinnia.urls.quick_entry')),
url(r'^weblog/', include('zinnia.urls.entries')),
url(r'^comments/', include('django.contrib.comments.urls')),

Developers

Your contributions are welcomed and needed.

Buildout

To increase the speed of the development process a Buildout script is provided to properly initialize the project for anybody who wants to contribute to the project.

First of all, please use VirtualEnv to protect your system, it’s not mandatory but handy.

Follow these steps to start the development :

$ git clone git://github.com/Fantomas42/django-blog-zinnia.git
$ virtualenv --no-site-packages django-blog-zinnia
$ cd django-blog-zinnia
$ source ./bin/activate
$ python bootstrap.py
$ ./bin/buildout

The buildout script will resolve all the dependencies needed to develop the application.

Once these operations are done, you are ready to develop the zinnia project.

Run this command to launch the tests.

$ ./bin/test

To view the code coverage run this command.

$ ./bin/cover

Execute these commands to check the code conventions.

$ ./bin/pyflakes zinnia
$ ./bin/pep8 --count -r --exclude=tests.py,migrations zinnia

To launch the demo site, execute these commands.

$ ./bin/demo syncdb
$ ./bin/demo loaddata helloworld
$ ./bin/demo runserver

And for building the HTML documentation run this.

$ ./bin/docs

Pretty easy no ?

Translations

If you want to contribute by updating a translation or adding a translation in your language, it’s simple: create a account on Transifex.net and you will be able to edit the translations at this URL :

http://www.transifex.net/projects/p/django-blog-zinnia/resource/djangopo/

http://www.transifex.net/projects/p/django-blog-zinnia/resource/djangopo/chart/image_png

The translations hosted on Transifex.net will be pulled periodically in the repository, but if you are in a hurry, send me a message.

Online resources

CHANGELOG

0.8

  • Admin dashboard

  • Featured entries

  • Using Microformats

  • Mails for comment reply

  • Entry model can be extended

  • More plugins for django-cms

  • Zinnia to Wordpress utility command

  • Code cleaning and optimizations

  • And a lot of bug fixes

0.7

  • Using signals

  • Trackback support

  • Ping external urls

  • Private posts

  • Hierarchical categories

  • TinyMCE integration

  • Code optimizations

  • And a lot of bug fixes

0.6

  • Handling PingBacks

  • Support MetaWeblog API

  • Passing to Django 1.2.x

  • Breadcrumbs templatetag

  • Bug correction in calendar widget

  • Wordpress to Zinnia utility command

  • Major bug correction on publication system

  • And a lot of bug fixes

0.5

  • Packaging

  • Tests added

  • Translations

  • Better templates

  • New templatetags

  • Plugins for django-cms

  • Twitter and Bit.ly support

  • Publishing sources on Github.com

0.4 and before

  • The previous versions of Zinnia were not packaged, and were destinated for a personnal use.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-blog-zinnia-0.8.tar.gz (2.1 MB view details)

Uploaded Source

File details

Details for the file django-blog-zinnia-0.8.tar.gz.

File metadata

File hashes

Hashes for django-blog-zinnia-0.8.tar.gz
Algorithm Hash digest
SHA256 d06b460cef113347440d8461ba302d6a8ca8ee14e917e77730fae3e9668ec299
MD5 edf02043ba4d574cfca165143f2c8594
BLAKE2b-256 1bf75e64103f0748ec759b49c39fc83008da52b430507af87d6b47486ac33e2f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page