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 :
Comments
Archives views
Related entries
Private entries
RSS or Atom Feeds
Tags and categories views
Prepublication and expiration
Widgets (Popular entries, Similar entries, …)
Spam protection with Akismet
Admin dashboard
Ping Directories
Ping External links
Bit.ly support
Twitter support
Gravatar support
Django-CMS plugins
Collaborative work
Tags autocompletion
Pingback/Trackback support
Ready to use and extendables templates
Windows Live Writer compatibility
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 :
Django >= 1.2
django-mptt >= 0.4.2
django-tagging >= 0.3.1
BeautifulSoup >= 3.2.0
The packages below are optionnal but needed for run the full test suite.
pyparsing >= 1.5.5
django-xmlrpc >= 0.1.3
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/
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
Discussions and help at Google Group.
For reporting a bug use Github Issues.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-blog-zinnia-0.8.tar.gz
.
File metadata
- Download URL: django-blog-zinnia-0.8.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d06b460cef113347440d8461ba302d6a8ca8ee14e917e77730fae3e9668ec299 |
|
MD5 | edf02043ba4d574cfca165143f2c8594 |
|
BLAKE2b-256 | 1bf75e64103f0748ec759b49c39fc83008da52b430507af87d6b47486ac33e2f |