PKٍ3Fm$!"django-blog-zinnia-v0.9/.buildinfo# Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. config: tags: PKٍ3F7$#django-blog-zinnia-v0.9/objects.inv# Sphinx inventory version 2 # Project: Django Blog Zinnia # Version: 0.9 # The remainder of this file is compressed using zlib. xOKIP(.IILJQ5T(ͅJe(+槔*xShBu@&%g*AC$r1PKٍ3FH|W"django-blog-zinnia-v0.9/index.html Django Blog Zinnia 0.9 documentation

Welcome to Django-Blog-Zinnia’s documentation!

Django Blog Zinnia

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.

Online resources

More information and help available at these URLs :

Getting Started

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')),

Upgrading Zinnia

If you want to upgrade your installation of Zinnia from a previous release, it’s easy, but you need to be cautious. The whole process takes less than 15 minutes.

Dumping

The first thing to do is a to dump your data for safety reasons.

$ python manage.py dumpdata --indent=2 zinnia > dump_zinnia_before_migration.json

Preparing the database

The main problem with the upgrade process is the database. The Zinnia’s models can have changed with new or missing fields. That’s why Zinnia use South‘s migrations to facilitate this step.

So we need to install the South package.

$ easy_install south

South needs to be registered in your project’s settings as an INSTALLED_APPS. Once it is done, use syncdb to finish the installtaion of South in your project.

$ python manage.py syncdb

Now we will install the previous migrations of Zinnia to synchronize the current database schema with South.

$ python manage.py migrate zinnia --fake

Update Zinnia’s code

We are now ready to upgrade Zinnia. If you want to use the latest stable version use easy_install with this command :

$ easy_install -U zinnia

or if you prefer to upgrade from the development release, use pip like that :

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

Update the database

The database should probably be updated to the latest database schema of Zinnia, South will be useful.

$ python manage.py migrate zinnia

The database is now up to date, and ready to use.

Check list

In order to finish the upgrade process, we must check if everything works fine by browsing the website.

By experience, problems mainly come from customized templates, because of changes in the url reverse functions.

Advanced Usage

Advanced Configuration

Sitemaps

One of the cool features of Django is the sitemap application, so if you want to fill your website’s sitemap with the entries of your blog, follow these steps.

  • Register django.contrib.sitemaps in the INSTALLED_APPS section.
  • Edit your project’s URLs and add this code :
from zinnia.sitemaps import TagSitemap
from zinnia.sitemaps import EntrySitemap
from zinnia.sitemaps import CategorySitemap
from zinnia.sitemaps import AuthorSitemap

sitemaps = {'tags': TagSitemap,
            'blog': EntrySitemap,
            'authors': AuthorSitemap,
            'categories': CategorySitemap,}

urlpatterns += patterns('django.contrib.sitemaps.views',
                        url(r'^sitemap.xml$', 'index',
                            {'sitemaps': sitemaps}),
                        url(r'^sitemap-(?P<section>.+)\.xml$', 'sitemap',
                            {'sitemaps': sitemaps}),)

Akismet Anti-Spam

If you want to benefit of the Akismet spam protection on your comments, it’s possible to do it by installing the akismet python module, and add this setting:

ZINNIA_SPAM_CHECKER_BACKENDS = ('zinnia.spam_checker.backends.automattic',)

Important

You need an API key. If you don’t have any, get one for free at http://akismet.com/signup/ then set it in your project’s settings like this:

AKISMET_SECRET_API_KEY = 'your key'

TypePad Anti-Spam

It’s also possible to benefit of the TypePad AntiSpam service to fight the spam. Like the Akismet protection you need to install the akismet python module.

The register the TypePad AntiSpam protection with this setting:

ZINNIA_SPAM_CHECKER_BACKENDS = ('zinnia.spam_checker.backends.typepad',)

Important

You need an API key. If you don’t have any, get one for free at http://antispam.typepad.com/info/get-api-key.html then set it in your project’s settings like this:

TYPEPAD_SECRET_API_KEY = 'your key'

Bit.ly

You find http://bit.ly useful and want to use it for your blog entries ?

It’s simple, install django_bitly in your project’s settings and add these settings:

BITLY_LOGIN = 'your bit.ly login'
BITLY_API_KEY = 'your bit.ly api key'
ZINNIA_URL_SHORTENER_BACKEND = 'zinnia.url_shortener.backends.bitly'

Zinnia will do the rest.

Twitter

When you post a new entry on your blog you might want to tweet it as well.

In order to do that, you first need to activate the Bit.ly support like described above.

Then install tweepy and add these settings.

TWITTER_CONSUMER_KEY = 'Your Consumer Key'
TWITTER_CONSUMER_SECRET = 'Your Consumer Secret'
TWITTER_ACCESS_KEY = 'Your Access Key'
TWITTER_ACCESS_SECRET = 'Your Access Secret'

Note that the authentification for Twitter has changed since September 2010. The actual authentification system is based on oAuth. That’s why now you need to set these 4 settings. If you don’t know how to get these information, follow this excellent tutorial at:

http://jmillerinc.com/2010/05/31/twitter-from-the-command-line-in-python-using-oauth/

Now in the admin, you can post an update containing your entry’s title and the shortened url of your entry.

Django-CMS

If you use Django-cms 2.0, Zinnia can be integrated into your pages, thanks to the plugin system.

Simply register zinnia.plugins in the INSTALLED_APPS section of your project’s settings.

It will provides custom plugins for adding entries into your pages, an App-Hook and Menus for easy integration.

If you want to use the plugin system of django-cms in your entries, an extended EntryModel with a PlaceholderField is provided.

Add this line in your project’s settings.

ZINNIA_ENTRY_BASE_MODEL = 'zinnia.plugins.placeholder.EntryPlaceholder'

TinyMCE

If you want to replace WYMEditor by TinyMCE install django-tinymce and follow the installation instructions.

TinyMCE can be customized by overriding the admin/zinnia/entry/tinymce_textareas.js template.

Markup languages

If you doesn’t want to write your entries in HTML, because you are an über coder knowing more than 42 programming languages, you have the possibility to use a custom markup language for editing the entries.

Currently MarkDown, Textile and reStructuredText are supported, so if you want to use one of these languages, simply set this variable as appropriate in your project’s settings.

ZINNIA_MARKUP_LANGUAGE = 'restructuredtext'

Note that the name of the language must be in lowercase.

More informations about the dependencies at this URL :

http://docs.djangoproject.com/en/1.2/ref/contrib/markup/

XML-RPC

Zinnia provides few webservices via XML-RPC, but before using it, you need to install django-xmlrpc.

Then register django_xmlrpc in your INSTALLED_APPS section of your project’s settings.

Now add these lines in your project’s settings.

from zinnia.xmlrpc import ZINNIA_XMLRPC_METHODS
XMLRPC_METHODS = ZINNIA_XMLRPC_METHODS

ZINNIA_XMLRPC_METHODS is a simple list of tuples containing all the webservices embedded in Zinnia.

If you only want to use the Pingback service import ZINNIA_XMLRPC_PINGBACK, or if you want you just want to enable the MetaWeblog API import ZINNIA_XMLRPC_METAWEBLOG.

You can also use your own mixins.

Finally we need to register the url of the XML-RPC server. Insert something like this in your project’s urls.py:

url(r'^xmlrpc/$', 'django_xmlrpc.views.handle_xmlrpc'),

Note : For the Pingback service check if your site is enabled for pingback detection. More information at http://hixie.ch/specs/pingback/pingback-1.0#TOC2

Channels

Views by author, categories, tags is not enough :).

The idea is to create specific pages based on a query search.

Imagine that we want to customize the homepage of the weblog, because we write on a variety of subjects and we don’t want to bore visitors who aren’t interested in some really specific entries.

Another usage of the channels is for SEO, for aggregating entries under a well-formatted url.

For doing that Zinnia provides a view called zinnia.views.channels.entry_channel.

If we take our first example, we will do like that for customizing the weblog homepage in our project’s urls.py.

url(r'^weblog/$', 'zinnia.views.channels.entry_channel',
    {'query': 'category:python OR category:django'}),
url(r'^weblog/', include('zinnia.urls')),

The first url will handle the homepage of the blog instead of the default url provided by Zinnia.

As we can see, the only required argument for this view is query. This parameter represents a query search string. This string will be interpreted by the search engine activated in Zinnia and return a list of entries (See Search Engines for more informations).

So our homepage will only display entries filled under the categories Python and Django.

The others parameters handled by the channel view are the same that the generic object_list view bundled in Django can handle.

Search Engines

Zinnia like almost all blogging systems contains a search engine feature.

But in fact there are 2 search engines, a basic and an advanced, the advanced search engine is enabled by default, but if he fails the basic search engine will resume the job.

Basic Search Engine

The basic search engine is the original engine of Zinnia, and will be used if the advanced engine cannot be used.

It will always returns more results than the advanced engine, because each terms of the query will be searched in the entries and the results are added to a main result list. We can say that the results are inclusives.

Example of a query :

love paris

This will returns all the entries containing the terms love or paris.

Advanced Search Engine

The advanced search engine has several possibilities for making more elaborated queries, with it’s own grammar system.

The grammar of the search is close to the main search engines like Google or Yahoo.

The main difference with the basic engine is that the results are exclusives.

For enabling the advanced search engine, you simply need to install the pyparsing package. Otherelse the basic engine will be used.

Query examples

Here a list of examples and possibilities :

Example of a query with terms :

love paris

This will returns all the entries containing the terms love and paris.

Example of a query with excluded terms :

paris -hate

This will returns all the entries containing the term paris without the term hate.

Example of a query with expressions :

"Paris, I love you"

This will returns all the entries containing the expression Paris, I love you.

Example of a query with category operator :

love category:paris

This will returns all the entries containing the term love filled in the category named paris.

Example of a query with tag operator :

paris tag:love

This will returns all the entries containing the term paris with the tag love.

Example of a query with author operator :

paris author:john

This will returns all the entries containing the term paris writed by john.

Example of a query with boolean operator :

paris or berlin

This will returns all the entries containing the term paris or berlin.

Example of e query with parenthesis :

(paris or berlin) love

This will returns all the entries containing the terms paris or berlin with the term love.

Complex example :

((paris or berlin) and (tag:love or category:meet*) girl -money

This will returns all the entries containing the terms paris or berlin with the tag love or filled under the categories starting by meet also containing the term girl excluding entries with the term money.

Note that the query is stripped of common words known as stop words. These are words such as on, the or which that are generally not meaningful and cause irrelevant results.

The list of stop words is stored in the ZINNIA_STOP_WORDS setting.

URL Shortener

The URL shortening has becoming a big deal of the Internet especially for transfering long URLs.

And so many URL shortening services exist, each with his own features.

Originally Zinnia provided a only way to generate short urls for your entries, and you needed to install django_bitly.

One way it’s not bad, but it’s not enough.

First of all Zinnia now provides his own short URLs for the entries, ex :

Of course the URL is short (and can be shorter) but if you have a long domain, the URL can be not so short, ex :

But now you can easily change this behavior and use your favorite URL shortener service by writing a backend.

Writing your own URL shortener backend

Writing a backend for using your custom URL shortener is simple as possible, you only needs to follows 4 rules.

  1. In a new python file write a function named backend taking an Entry instance in parameters.

  2. The backend function should returns an URL including the protocol and the domain.

  3. If the backend requires initial configuration you must raise a django.core.exceptions.ImproperlyConfigured exception if the configuration is not valid. The error will be displayed in the console.

  4. Register your backend to be used in your project with this setting :

    ZINNIA_URL_SHORTENER_BACKEND = 'path.to.your.url.shortener.module'
    

Here the source code of the default backend.

from django.contrib.sites.models import Site
from django.core.urlresolvers import reverse
from zinnia.settings import PROTOCOL

def backend(entry):
    return '%s://%s%s' % (PROTOCOL, Site.objects.get_current().domain,
                          reverse('zinnia_entry_shortlink', args=[entry.pk]))

For a more examples take a look in this folder : zinnia/url_shortener/backends/.

Spam Checker

Spam protection is mandatory when you want to let your users to comment your entries.

Originally Zinnia provided a only one type of spam protection with the support of Akismet.

One it’s not bad, but it’s not enough, because depend of a third-party service may be a little bit risky.

Now Akismet has been moved in a dedicated module and the moderation system let you choose the spam checkers to use. With this new feature you can now write a custom spam checker corresponding to your needs and use it for moderation your comments.

We can imagine for example that you want to authorize comments from a white-list of IPs, it’s possible by writing a backend.

Note that you can use multiple backends, they are chained, useful for an maximum protection.

Writing your own spam checker backend

Writing a backend for using a custom spam checker is simple as possible, you only needs to follows 4 rules.

  1. In a new python file write a function named backend taking in parameter : content the text to verify, content_object the object related to the text and request the current request.

  2. The backend function should returns True if content is spam and False otherwhise.

  3. If the backend requires initial configuration you must raise a django.core.exceptions.ImproperlyConfigured exception if the configuration is not valid. The error will be displayed in the console.

  4. Register your backend to be used in your project with this setting :

    ZINNIA_SPAM_CHECKER_BACKENDS = ('path.to.your.spam.checker.module',)
    

For a more examples take a look in this folder : zinnia/spam_checker/backends/.

Extending Entry model

The Entry model bundled in Zinnia can now be extended and customized.

This feature is useful for who wants to add some fields in the model, or change its behavior. It allows Zinnia to be a really generic and reusable application.

Imagine that I find Zinnia really great, but that is misses some fields or features to be the blog app that I need for my django project. For example I need to add a custom field linking to an image gallery, 2 solutions :

  • I search for another django blogging app fitting my needs.
  • I make a monkey patch, but I won’t be able to upgrade to future releases.

These 2 solutions are really bad, that’s why Zinnia provides a third solution.

  • Customizing the model noninvasively with the power of inheritance.

How do we do that ?

In fact, simply by creating an abstract model inherited from EntryBaseModel, adding fields or/and overriding his methods, and registering it with the ZINNIA_ENTRY_BASE_MODEL setting in your project.

Example for adding a gallery field.

from django.db import models
from mygalleryapp.models import Gallery
from zinnia.models import EntryAbstractClass

class EntryGallery(EntryAbstractClass):
  gallery = models.ForeignKey(Gallery)

  class Meta:
    abstract = True

Now you register the EntryGallery model like this in your project’s settings.

ZINNIA_ENTRY_BASE_MODEL = 'appname.custom_entry.EntryGallery'

Finally extend the entry’s admin class to show your custom field.

from django.contrib import admin
from zinnia.models import Entry
from zinnia.admin.entry import EntryAdmin
from django.utils.translation import ugettext_lazy as _

class EntryGalleryAdmin(EntryAdmin):

  # In our case we put the gallery field
  # into the 'Content' fieldset
  fieldsets = ((_('Content'), {'fields': (
    'title', 'content', 'image', 'status', 'gallery')})) + \
    EntryAdmin.fieldsets[1:]

admin.site.unregister(Entry)
admin.site.register(Entry, EntryGalleryAdmin)

You can see another example in the files zinnia/plugins/placeholder.py and zinnia/plugins/admin.py.

Note

You have to respect 4 important rules :

  1. Do not import the Entry model in your file defining the extended model because it will cause a circular importation.
  2. Do not put your abstract model in a file named models.py, it will not work for a non obvious reason.
  3. Don’t forget to tell that your model is abstract. Otherwise a table will be created and the extending process will not work as expected.
  4. If you extend the Entry model after the syncdb command, you will have to reset the Zinnia application to reflect your changes.

Import / Export

If you already have a blog, Zinnia has the ability to import your posts from other blogging platforms. Useful for rapid migration.

From WordPress to Zinnia

Zinnia provides a command for importing export files from WordPress.

http://codex.wordpress.org/Tools_Export_SubPanel

Once you have the XML file, you simply have to do this.

$ python manage.py wp2zinnia path/to/your/wordpress.xml

This command will associate the post’s authors to User and import the tags, categories, post and comments.

For the options execute this.

$ python manage.py help wp2zinnia

From Zinnia to WordPress

Zinnia also provides a command for exporting your blog to WordPress in the case you want to migrate on it.

Simply execute this command :

$ python manage.py zinnia2wp > export.xml

Once you have the XML export, you can import it into your WordPress site.

http://codex.wordpress.org/Importing_Content

From Blogger to Zinnia

If you are comming from Blogger, you can import your posts and comments with this simple command :

$ python manage.py blogger2zinnia

For the options execute this.

$ python manage.py help blogger2zinnia

Note that you need to install the gdata package to run the importation.

From Feed to Zinnia

If you don’t have the possibility to export your posts but have a RSS or Atom feed on your weblog, Zinnia can import it. This command is the most generic way to import content into Zinnia. Simply execute this command:

$ python manage.py feed2zinnia http://url.of/the/feed

For the options execute this.

$ python manage.py help feed2zinnia

Note that you need to install the feedparser package to run the importation.

Development

Contributing to Zinnia

Zinnia is an open-source project, so yours contributions are welcomed and needed.

Writing code

So you have a great idea to program, found a bug or a way to optimize the code ? You are welcome.

Process
  1. Fork the code on Github.
  2. Checkout your fork.
  3. Write unit tests.
  4. Develop your code.
  5. Test the code.
  6. Update the documentation.
  7. Commit your changes
  8. Push to your fork.
  9. Open a pull request.
Conventions

Code conventions are important in a way where they ensure the lisibility of the code in the time, that’s why the code try to respect at most the PEP8.

If you have already run the Buildout script you can execute this Makefile rule to check your code.

$ make kwalitee

With a clear and uniform code, the development is better and faster.

Tests

The submited code should be covered with one or more unittests to ensure the new behavior and will make easier future developments. Without that, your code will not be reliable and may not be integrated.

See Testing and Coverage for more informations.

Writing documentation

Sometimes considered like “annoying” by hard-core coders, documentation is more important than the code itself! This is what brings fresh blood to a project, and serves as a reference for old timers.

On top of this, documentation is the one area where less technical people can help most - you just need to write a semi-decent English. People need to understand you. We don’t care about style or correctness.

The documentation should :

  • Use Sphinx and restructuredText.
  • Use .rst as file extension.
  • Be written in English.
  • Be accessible. You should assume the reader to be moderately familiar with Python and Django, but not anything else.

Keep it mind that documenting is most useful than coding, so your contribution will be greatly appreciated.

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.

Testing and Coverage

“An application without tests, is a dead-born application.”
Someone very serious

Writing tests is important, maybe more important than coding.

And this for a lot of reasons, but I’m not here to convince you about the benefits of software testing, some prophets will do it better than me.

Of course Zinnia is tested using the unittest approach. All the tests belong in the directory zinnia/tests/.

Launching the test suite

If you have run the Buildout script bundled in Zinnia, the tests are run under nose by launching this command:

$ ./bin/test

But the tests can also be launched within a django project with the default test runner:

$ django-admin.py test zinnia --settings=zinnia.testsettings

Coverage

Despite my best efforts, some functionnalities are not yet tested, that’s why I need your help !

As I write these lines the 121 tests in Zinnia cover 96% of the code bundled in Zinnia. A real effort has been made to obtain this percentage, for ensuring the quality of the code.

I know that a coverage percent does not represent the quality of the tests, but maintaining or increasing this percentage ensures the quality of Zinnia and his future evolutions.

You can check the actual coverage percent at this url:

http://django-blog-zinnia.com/documentation/coverage/

I hope that you will write some tests and find some bugs. :)

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 test suite.

$ ./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 ?

References

List of settings

Zinnia has a lot of parameters to configure the application accordingly to your needs.

All settings described here can be found in zinnia/settings.py.

Entry

ZINNIA_ENTRY_TEMPLATES

Default value: ()

List of tuple for extending the list of templates availables for rendering the entry.

ZINNIA_ENTRY_BASE_MODEL

Default value: ''

String defining the base Model path for the Entry model. See Extending Entry model for more informations.

ZINNIA_UPLOAD_TO

Default value: 'uploads'

String setting that tells Zinnia where to upload entries’ images.

Edition

ZINNIA_MARKUP_LANGUAGE

Default value: 'html'

String determining the markup language used for writing the entries.

ZINNIA_MARKDOWN_EXTENSIONS

Default value: ''

Extensions names to be used when rendering entries in MarkDown.

ZINNIA_WYSIWYG

Default value: 'tinymce' if in settings.INSTALLED_APPS else 'wymeditor' if ZINNIA_MARKUP_LANGUAGE is 'html'. If MarkDown, Textile or reStructuredText are used, the value will be 'markitup'.

Used for determining the WYSIWYG editor for editing an entry. Can also be used for disabling the WYSIWYG functionnality.

Views

ZINNIA_PAGINATION

Default value: 10

Integer used to paginate the entries.

ZINNIA_ALLOW_EMPTY

Default value: True

Used for archives views, raise a 404 error if no entries are present at the specified date.

ZINNIA_ALLOW_FUTURE

Default value: True

Used for allowing archives views in the future.

Feeds

ZINNIA_FEEDS_FORMAT

Default value: 'rss'

String determining the format of the syndication feeds. Use ‘atom’ for Atom feeds.

ZINNIA_FEEDS_MAX_ITEMS

Default value: 15

Integer used to define the maximum items provided in the syndication feeds.

URLs

ZINNIA_PROTOCOL

Default value: 'http'

String representing the protocol of the site.

ZINNIA_MEDIA_URL

Default value: os.path.join(settings.MEDIA_URL, 'zinnia/')

String of the url that handles the media files of Zinnia.

Comment moderation

ZINNIA_AUTO_MODERATE_COMMENTS

Default value: False

Determine if a new comment should be allowed to show up immediately or should be marked non-public and await approval.

ZINNIA_AUTO_CLOSE_COMMENTS_AFTER

Default value: None

Determine the number of days where comments are open.

ZINNIA_MAIL_COMMENT_REPLY

Default value: False

Boolean used for sending an email to comment’s authors when a new comment is posted.

ZINNIA_MAIL_COMMENT_AUTHORS

Default value: True

Boolean used for sending an email to entry authors when a new comment is posted.

ZINNIA_MAIL_COMMENT_NOTIFICATION_RECIPIENTS

Default value: list of emails based on settings.MANAGERS

List of emails used for sending a notification when a new public comment has been posted.

ZINNIA_SPAM_CHECKER_BACKENDS

Default value: ()

List of strings representing the module path to a spam checker backend.

Pinging

ZINNIA_PING_DIRECTORIES

Default value: ('http://django-blog-zinnia.com/xmlrpc/',)

List of the directories you want to ping.

ZINNIA_PING_EXTERNAL_URLS

Default value: True

Boolean setting for telling if you want to ping external urls when saving an entry.

ZINNIA_SAVE_PING_DIRECTORIES

Default value: bool(ZINNIA_PING_DIRECTORIES)

Boolean setting for telling if you want to ping directories when saving an entry.

ZINNIA_PINGBACK_CONTENT_LENGTH

Default value: 300

Size of the excerpt generated on pingback.

Similarity

ZINNIA_F_MIN

Default value: 0.1

Float setting of the minimal word frequency for similar entries.

ZINNIA_F_MAX

Default value: 1.0

Float setting of the minimal word frequency for similar entries.

Miscellaneous

ZINNIA_STOP_WORDS

Default value: See zinnia/settings.py

List of common words excluded from the advanced search engine to optimize the search querying and the results.

ZINNIA_URL_SHORTENER_BACKEND

Default value: 'zinnia.url_shortener.backends.default'

String representing the module path to the url shortener backend.

ZINNIA_USE_TWITTER

Default value: True if python-twitter is in PYTHONPATH

Boolean telling if Zinnia can use Twitter.

CMS

All the settings related to the CMS can be found in zinnia/plugins/settings.py.

ZINNIA_APP_MENUS

Default value: ('zinnia.plugins.menu.EntryMenu', 'zinnia.plugins.menu.CategoryMenu', 'zinnia.plugins.menu.TagMenu', 'zinnia.plugins.menu.AuthorMenu')

List of strings representing the path to the Menu class provided for the Zinnia AppHook.

ZINNIA_HIDE_ENTRY_MENU

Default value: True

Boolean used for displaying or not the entries in the EntryMenu object.

ZINNIA_PLUGINS_TEMPLATES

Default value: ()

List of tuple for extending the CMS’s plugins rendering templates.

Template Tags

Zinnia provides several template tags based on inclusion_tag system to create some widgets in your website’s templates.

To use any of the following template tags you need to load them first at the top of your template:

{% load zinnia_tags %}

get_recent_entries

Display the latest entries.

Prototype: get_recent_entries(number=5, template="zinnia/tags/recent_entries.html")

Examples:

{% get_recent_entries %}
{% get_recent_entries 3 %}
{% get_recent_entries 3 "custom_template.html" %}

get_random_entries

Display random entries.

Prototype: get_random_entries(number=5, template="zinnia/tags/random_entries.html")

Examples:

{% get_random_entries %}
{% get_random_entries 3 %}
{% get_random_entries 3 "custom_template.html" %}

get_similar_entries

Display entries similar to an existing entry.

Prototype: get_similar_entries(number=5, template="zinnia/tags/similar_entries.html")

Examples:

{% get_similar_entries %}
{% get_similar_entries 3 %}
{% get_similar_entries 3 "custom_template.html" %}

get_calendar_entries

Display an HTML calendar with date of publications.

If you don’t set the year or the month parameter, the calendar will look in the context of the template if one of these variables is set in this order : (month, day, object.creation_date).

If no one of these variables is found, the current month will be displayed.

Prototype: get_calendar_entries(year=auto, month=auto, template="zinnia/tags/calendar.html")

Examples:

{% get_calendar_entries %}
{% get_calendar_entries 2011 4 %}
{% get_calendar_entries 2011 4 "custom_template.html" %}

get_archives_entries

Display the archives by month.

Prototype: get_archives_entries(template="zinnia/tags/archives_entries.html")

Examples:

{% get_archives_entries %}
{% get_archives_entries "custom_template.html" %}

get_archives_entries_tree

Display all the archives as a tree.

Prototype: get_archives_entries_tree(template="zinnia/tags/archives_entries_tree.html")

Examples:

{% get_archives_entries_tree %}
{% get_archives_entries_tree "custom_template.html" %}

get_authors

Display all the published authors.

Prototype: get_authors(template="zinnia/tags/authors.html")

Examples:

{% get_authors %}
{% get_authors "custom_template.html" %}

get_categories

Display all the categories available.

Prototype: get_categories(template="zinnia/tags/categories.html")

Examples:

{% get_categories %}
{% get_categories "custom_template.html" %}

get_tags

Store in a context variable a queryset of all the published tags.

Example:

{% get_tags as entry_tags %}

get_tag_cloud

Display a cloud of published tags.

Prototype: get_tag_cloud(steps=6, template="zinnia/tags/tag_cloud.html")

Examples:

{% get_tag_cloud %}
{% get_tag_cloud 9 %}
{% get_tag_cloud 9 "custom_template.html" %}

get_recent_comments

Display the latest comments.

Prototype: get_recent_comments(number=5, template="zinnia/tags/recent_comments.html")

Examples:

{% get_recent_comments %}
{% get_recent_comments 3 %}
{% get_recent_comments 3 "custom_template.html" %}

get_recent_linkbacks

Display the latest linkbacks.

Prototype: get_recent_linkbacks(number=5, template="zinnia/tags/recent_linkbacks.html")

Examples:

{% get_recent_linkbacks %}
{% get_recent_linkbacks 3 %}
{% get_recent_linkbacks 3 "custom_template.html" %}

zinnia_pagination

Display a Digg-like pagination for long list of pages.

Prototype: zinnia_pagination(page, begin_pages=3, end_pages=3, before_pages=2, after_pages=2, template="zinnia/tags/pagination.html")

Examples:

{% zinnia_pagination page_obj %}
{% zinnia_pagination page_obj 2 2 %}
{% zinnia_pagination page_obj 2 2 3 3 %}
{% zinnia_pagination page_obj 2 2 3 3 "custom_template.html" %}

zinnia_breadcrumbs

Display the breadcrumbs for the pages handled by Zinnia.

Prototype: zinnia_breadcrumbs(separator="/", root_name="Blog", template="zinnia/tags/breadcrumbs.html")

Examples:

{% zinnia_breadcrumbs %}
{% zinnia_breadcrumbs ">" "News" %}
{% zinnia_breadcrumbs ">" "News" "custom_template.html" %}

get_gravatar

Display the Gravatar image associated to an email, useful for comments.

Prototype: get_gravatar(email, size=80, rating='g', default=None)

Examples:

{% get_gravatar user.email %}
{% get_gravatar user.email 50 %}
{% get_gravatar user.email 50 "PG" %}
{% get_gravatar user.email 50 "PG" "identicon" %}

The usage of the template argument allow you to reuse and customize the rendering of a template tag in a generic way. Like this you can display the same template tag many times in your pages but with a different appearance.

Notes

Frequently Asked Questions

Templates

The templates does not fit to my wishes. What can I do ?

The templates provided for Zinnia are simple but complete and as generic as possible. But you can easily change them by specifying a template directory.

A good starting point is to copy-paste the zinnia/base.html template, and edit the extends instruction for fitting to your skin.

Note

  • The main content is displayed in block named content.
  • Additional datas are displayed in a block named sidebar.

You can also create your own app containing some Zinnia’s templates based on inheritance. You can find an app example with HTML5 templates for Zinnia which can be a good starting point to make your own at : Django Blog Quintet.

Comments

Is it possible to have a better comment system, with reply feature for example ?

Yes the comment system integrated in Zinnia is based on django.contrib.comments and can be extended or replaced.

If you want the ability to reply on comments, you can take a look at django-threadcomments for example.

Edition

I want to write my entries in MarkDown, RestructuredText or any lightweight markup language, is it possible ?

Yes of course, Zinnia currently support MarkDown, Textile and reStructuredText as markup languages, but if you want to write your entries in a custom markup language a solution is to disable the WYSIWYG editor in the admin site with the ZINNIA_WYSIWYG setting, and use the appropriate template filter in your templates.

Authors

Is Zinnia able to allow multiple users to edit it’s own blog ?

Zinnia is designed to be multi-site. That’s mean you can publish entries on several sites or share an admin interface for all the sites handled.

Zinnia also provides a new permission that’s allow or not the user to change the authors. Useful for collaborative works.

But if you want to restrict the edition of the entries by site, authors or whatever you want, it’s your job to implement this functionality in your project.

The simple way to do that, respecting the Django rules, is to override the admin classes provided by Zinnia, and register those classes in another admin site.

Images

How can I use the image field for fitting to my skin ?

Take a looks at sorl.thumbnail and use his templatetags.

You can do something like this in your templates :

<img src="{% thumbnail object.image 250x250 %}" />

Compatibility

Zinnia tries to fit a maximum to the Django’s standards to gain in readability and to be always present when the version 3.4.2 will be here. :)

Predicting the future is a good thing, because it will be soon. Actually Zinnia is designed to handle the 1.2.x version and will reach the release 1.5 easily without major changes.

http://docs.djangoproject.com/en/dev/internals/deprecation/

If you are running on the 1.1.x versions you can also use Zinnia by applying the patch located in patches/compatibility_django_1.1.patch.

But the patch is not 100% efficient for 1 thing.

The feeds API provided by the django.contrib.syndication in the 1.1 versions is deprecated and the Feed classes provided by has been migrated to the new API. This migration is actually incompatible with the 1.1 versions.

The patch only avoid the generation of errors when the tests are runned.

So if someone find a good solution to this problem, the patch will be integrated in the development branch.

Thanks

Zinnia cannot be a great application without great contributors who make this application greatest each day.

  • Bjorn Meyer (bmeyer71)
  • Jannis Leideil (jezdez)
  • Tobias von Klipstein (klipstein)
  • Mark Renton (indexofire)
  • Bill Mill (llimllib)
  • Kevin Renskers (Bolhoed)
  • Jonathan Stoppani (GaretJax)
  • Elijah Rutschman (elijahr)
  • Thomas Bartelmess (tbartelmess)
  • Franck Bret
  • Jason Davies
  • Brandon Taylor
  • bernhardvallant
  • nl0
  • esauro
  • 0Chuzz
  • un33K
  • orblivion
  • kjikaqawej
  • igalarzab
  • jtrain
  • and You.

I also want to thanks Transifex.net and ReadTheDocs.org for their services of great quality.

CHANGELOG

0.9

  • Improved URL shortening
  • Improved moderation system
  • Better support of django-tagging
  • Blogger to Zinnia utility command
  • OpenSearch capabilities
  • Upgraded search engine
  • Feed to Zinnia utility command
  • And a lot of bug fixes

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.

Indices and tables

Table Of Contents

PK؍3F3%_%_8django-blog-zinnia-v0.9/.doctrees/search_engines.doctreecdocutils.nodes document q)q}q(U nametypesq}q(Xsearch enginesqNXquery examplesqNXadvanced search engineqNXbasic search engineq NuUsubstitution_defsq }q Uparse_messagesq ]q Ucurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hUsearch-enginesqhUquery-examplesqhUadvanced-search-engineqh Ubasic-search-enginequUchildrenq]qcdocutils.nodes section q)q}q(U rawsourceqUUparentqhUsourceqcdocutils.nodes reprunicode qXP/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/search_engines.rstq q!}q"bUtagnameq#Usectionq$U attributesq%}q&(Udupnamesq']Uclassesq(]Ubackrefsq)]Uidsq*]q+haUnamesq,]q-hauUlineq.KUdocumentq/hh]q0(cdocutils.nodes title q1)q2}q3(hXSearch Enginesq4hhhh!h#Utitleq5h%}q6(h']h(]h)]h*]h,]uh.Kh/hh]q7cdocutils.nodes Text q8XSearch Enginesq9q:}q;(hh4hh2ubaubcdocutils.nodes paragraph q<)q=}q>(hXIZinnia like almost all blogging systems contains a search engine feature.q?hhhh!h#U paragraphq@h%}qA(h']h(]h)]h*]h,]uh.Kh/hh]qBh8XIZinnia like almost all blogging systems contains a search engine feature.qCqD}qE(hh?hh=ubaubh<)qF}qG(hXBut in fact there are 2 search engines, a basic and an advanced, the advanced search engine is enabled by default, but if he fails the basic search engine will resume the job.qHhhhh!h#h@h%}qI(h']h(]h)]h*]h,]uh.Kh/hh]qJh8XBut in fact there are 2 search engines, a basic and an advanced, the advanced search engine is enabled by default, but if he fails the basic search engine will resume the job.qKqL}qM(hhHhhFubaubh)qN}qO(hUhhhh!h#h$h%}qP(h']h(]h)]h*]qQhah,]qRh auh.K h/hh]qS(h1)qT}qU(hXBasic Search EngineqVhhNhh!h#h5h%}qW(h']h(]h)]h*]h,]uh.K h/hh]qXh8XBasic Search EngineqYqZ}q[(hhVhhTubaubh<)q\}q](hXqThe basic search engine is the original engine of Zinnia, and will be used if the advanced engine cannot be used.q^hhNhh!h#h@h%}q_(h']h(]h)]h*]h,]uh.Kh/hh]q`h8XqThe basic search engine is the original engine of Zinnia, and will be used if the advanced engine cannot be used.qaqb}qc(hh^hh\ubaubh<)qd}qe(hXIt will always returns more results than the advanced engine, because each terms of the query will be searched in the entries and the results are added to a main result list. We can say that the results are inclusives.qfhhNhh!h#h@h%}qg(h']h(]h)]h*]h,]uh.Kh/hh]qhh8XIt will always returns more results than the advanced engine, because each terms of the query will be searched in the entries and the results are added to a main result list. We can say that the results are inclusives.qiqj}qk(hhfhhdubaubcdocutils.nodes definition_list ql)qm}qn(hUhhNhh!h#Udefinition_listqoh%}qp(h']h(]h)]h*]h,]uh.Nh/hh]qqcdocutils.nodes definition_list_item qr)qs}qt(hXtExample of a query : ``love paris`` This will returns all the entries containing the terms ``love`` or ``paris``. hhmhh!h#Udefinition_list_itemquh%}qv(h']h(]h)]h*]h,]uh.Kh]qw(cdocutils.nodes term qx)qy}qz(hXExample of a query :q{hhshh!h#Utermq|h%}q}(h']h(]h)]h*]h,]uh.Kh]q~h8XExample of a query :qq}q(hh{hhyubaubcdocutils.nodes definition q)q}q(hUh%}q(h']h(]h)]h*]h,]uhhsh]q(h<)q}q(hX``love paris``qhhhh!h#h@h%}q(h']h(]h)]h*]h,]uh.Kh]qcdocutils.nodes literal q)q}q(hhh%}q(h']h(]h)]h*]h,]uhhh]qh8X love parisqq}q(hUhhubah#Uliteralqubaubh<)q}q(hXMThis will returns all the entries containing the terms ``love`` or ``paris``.hhhh!h#h@h%}q(h']h(]h)]h*]h,]uh.Kh]q(h8X7This will returns all the entries containing the terms qq}q(hX7This will returns all the entries containing the terms hhubh)q}q(hX``love``h%}q(h']h(]h)]h*]h,]uhhh]qh8Xloveqq}q(hUhhubah#hubh8X or qq}q(hX or hhubh)q}q(hX ``paris``h%}q(h']h(]h)]h*]h,]uhhh]qh8Xparisqq}q(hUhhubah#hubh8X.q}q(hX.hhubeubeh#U definitionqubeubaubeubh)q}q(hUhhhh!h#h$h%}q(h']h(]h)]h*]qhah,]qhauh.Kh/hh]q(h1)q}q(hXAdvanced Search Engineqhhhh!h#h5h%}q(h']h(]h)]h*]h,]uh.Kh/hh]qh8XAdvanced Search Engineqq}q(hhhhubaubh<)q}q(hXvThe advanced search engine has several possibilities for making more elaborated queries, with it's own grammar system.qhhhh!h#h@h%}q(h']h(]h)]h*]h,]uh.Kh/hh]qh8XvThe advanced search engine has several possibilities for making more elaborated queries, with it's own grammar system.qÅq}q(hhhhubaubh<)q}q(hXSThe grammar of the search is close to the main search engines like Google or Yahoo.qhhhh!h#h@h%}q(h']h(]h)]h*]h,]uh.K"h/hh]qh8XSThe grammar of the search is close to the main search engines like Google or Yahoo.q˅q}q(hhhhubaubh<)q}q(hXMThe main difference with the basic engine is that the results are exclusives.qhhhh!h#h@h%}q(h']h(]h)]h*]h,]uh.K%h/hh]qh8XMThe main difference with the basic engine is that the results are exclusives.qӅq}q(hhhhubaubh<)q}q(hXFor enabling the advanced search engine, you simply need to install the **pyparsing** package. Otherelse the basic engine will be used.hhhh!h#h@h%}q(h']h(]h)]h*]h,]uh.K(h/hh]q(h8XHFor enabling the advanced search engine, you simply need to install the qڅq}q(hXHFor enabling the advanced search engine, you simply need to install the hhubcdocutils.nodes strong q)q}q(hX **pyparsing**h%}q(h']h(]h)]h*]h,]uhhh]qh8X pyparsingq⅁q}q(hUhhubah#Ustrongqubh8X2 package. Otherelse the basic engine will be used.q慁q}q(hX2 package. Otherelse the basic engine will be used.hhubeubh)q}q(hUhhhh!h#h$h%}q(h']h(]h)]h*]qhah,]qhauh.K-h/hh]q(h1)q}q(hXQuery examplesqhhhh!h#h5h%}q(h']h(]h)]h*]h,]uh.K-h/hh]qh8XQuery examplesqq}q(hhhhubaubh<)q}q(hX+Here a list of examples and possibilities :qhhhh!h#h@h%}q(h']h(]h)]h*]h,]uh.K/h/hh]qh8X+Here a list of examples and possibilities :qq}q(hhhhubaubhl)q}r(hUhhhh!h#hoh%}r(h']h(]h)]h*]h,]uh.Nh/hh]r(hr)r}r(hXExample of a query with terms : ``love paris`` This will returns all the entries containing the terms ``love`` and ``paris``. hhhh!h#huh%}r(h']h(]h)]h*]h,]uh.K5h]r(hx)r}r(hXExample of a query with terms :r hjhh!h#h|h%}r (h']h(]h)]h*]h,]uh.K5h]r h8XExample of a query with terms :r r }r(hj hjubaubh)r}r(hUh%}r(h']h(]h)]h*]h,]uhjh]r(h<)r}r(hX``love paris``rhjhh!h#h@h%}r(h']h(]h)]h*]h,]uh.K2h]rh)r}r(hjh%}r(h']h(]h)]h*]h,]uhjh]rh8X love parisrr}r(hUhjubah#hubaubh<)r}r (hXNThis will returns all the entries containing the terms ``love`` and ``paris``.hjhh!h#h@h%}r!(h']h(]h)]h*]h,]uh.K4h]r"(h8X7This will returns all the entries containing the terms r#r$}r%(hX7This will returns all the entries containing the terms hjubh)r&}r'(hX``love``h%}r((h']h(]h)]h*]h,]uhjh]r)h8Xlover*r+}r,(hUhj&ubah#hubh8X and r-r.}r/(hX and hjubh)r0}r1(hX ``paris``h%}r2(h']h(]h)]h*]h,]uhjh]r3h8Xparisr4r5}r6(hUhj0ubah#hubh8X.r7}r8(hX.hjubeubeh#hubeubhr)r9}r:(hXExample of a query with excluded terms : ``paris -hate`` This will returns all the entries containing the term ``paris`` without the term ``hate``. hhhh!h#huh%}r;(h']h(]h)]h*]h,]uh.K;h/hh]r<(hx)r=}r>(hX(Example of a query with excluded terms :r?hj9hh!h#h|h%}r@(h']h(]h)]h*]h,]uh.K;h]rAh8X(Example of a query with excluded terms :rBrC}rD(hj?hj=ubaubh)rE}rF(hUh%}rG(h']h(]h)]h*]h,]uhj9h]rH(h<)rI}rJ(hX``paris -hate``rKhjEhh!h#h@h%}rL(h']h(]h)]h*]h,]uh.K8h]rMh)rN}rO(hjKh%}rP(h']h(]h)]h*]h,]uhjIh]rQh8X paris -haterRrS}rT(hUhjNubah#hubaubh<)rU}rV(hXZThis will returns all the entries containing the term ``paris`` without the term ``hate``.hjEhh!h#h@h%}rW(h']h(]h)]h*]h,]uh.K:h]rX(h8X6This will returns all the entries containing the term rYrZ}r[(hX6This will returns all the entries containing the term hjUubh)r\}r](hX ``paris``h%}r^(h']h(]h)]h*]h,]uhjUh]r_h8Xparisr`ra}rb(hUhj\ubah#hubh8X without the term rcrd}re(hX without the term hjUubh)rf}rg(hX``hate``h%}rh(h']h(]h)]h*]h,]uhjUh]rih8Xhaterjrk}rl(hUhjfubah#hubh8X.rm}rn(hX.hjUubeubeh#hubeubhr)ro}rp(hXExample of a query with expressions : ``"Paris, I love you"`` This will returns all the entries containing the expression ``Paris, I love you``. hhhh!h#huh%}rq(h']h(]h)]h*]h,]uh.KAh/hh]rr(hx)rs}rt(hX%Example of a query with expressions :ruhjohh!h#h|h%}rv(h']h(]h)]h*]h,]uh.KAh]rwh8X%Example of a query with expressions :rxry}rz(hjuhjsubaubh)r{}r|(hUh%}r}(h']h(]h)]h*]h,]uhjoh]r~(h<)r}r(hX``"Paris, I love you"``rhj{hh!h#h@h%}r(h']h(]h)]h*]h,]uh.K>h]rh)r}r(hjh%}r(h']h(]h)]h*]h,]uhjh]rh8X"Paris, I love you"rr}r(hUhjubah#hubaubh<)r}r(hXRThis will returns all the entries containing the expression ``Paris, I love you``.hj{hh!h#h@h%}r(h']h(]h)]h*]h,]uh.K@h]r(h8X<This will returns all the entries containing the expression rr}r(hX<This will returns all the entries containing the expression hjubh)r}r(hX``Paris, I love you``h%}r(h']h(]h)]h*]h,]uhjh]rh8XParis, I love yourr}r(hUhjubah#hubh8X.r}r(hX.hjubeubeh#hubeubhr)r}r(hXExample of a query with **category operator** : ``love category:paris`` This will returns all the entries containing the term ``love`` filled in the category named ``paris``. hhhh!h#huh%}r(h']h(]h)]h*]h,]uh.KGh/hh]r(hx)r}r(hX/Example of a query with **category operator** :rhjhh!h#h|h%}r(h']h(]h)]h*]h,]uh.KGh]r(h8XExample of a query with rr}r(hXExample of a query with hjubh)r}r(hX**category operator**h%}r(h']h(]h)]h*]h,]uhjh]rh8Xcategory operatorrr}r(hUhjubah#hubh8X :rr}r(hX :hjubeubh)r}r(hUh%}r(h']h(]h)]h*]h,]uhjh]r(h<)r}r(hX``love category:paris``rhjhh!h#h@h%}r(h']h(]h)]h*]h,]uh.KDh]rh)r}r(hjh%}r(h']h(]h)]h*]h,]uhjh]rh8Xlove category:parisrr}r(hUhjubah#hubaubh<)r}r(hXfThis will returns all the entries containing the term ``love`` filled in the category named ``paris``.hjhh!h#h@h%}r(h']h(]h)]h*]h,]uh.KFh]r(h8X6This will returns all the entries containing the term rr}r(hX6This will returns all the entries containing the term hjubh)r}r(hX``love``h%}r(h']h(]h)]h*]h,]uhjh]rh8Xloverr}r(hUhjubah#hubh8X filled in the category named rr}r(hX filled in the category named hjubh)r}r(hX ``paris``h%}r(h']h(]h)]h*]h,]uhjh]rh8Xparisrr}r(hUhjubah#hubh8X.r}r(hX.hjubeubeh#hubeubhr)r}r(hXExample of a query with **tag operator** : ``paris tag:love`` This will returns all the entries containing the term ``paris`` with the tag ``love``. hhhh!h#huh%}r(h']h(]h)]h*]h,]uh.KMh/hh]r(hx)r}r(hX*Example of a query with **tag operator** :rhjhh!h#h|h%}r(h']h(]h)]h*]h,]uh.KMh]r(h8XExample of a query with rr}r(hXExample of a query with hjubh)r}r(hX**tag operator**h%}r(h']h(]h)]h*]h,]uhjh]rh8X tag operatorrr}r(hUhjubah#hubh8X :rr}r(hX :hjubeubh)r}r(hUh%}r(h']h(]h)]h*]h,]uhjh]r(h<)r}r(hX``paris tag:love``rhjhh!h#h@h%}r(h']h(]h)]h*]h,]uh.KJh]rh)r}r(hjh%}r(h']h(]h)]h*]h,]uhjh]rh8Xparis tag:loverr}r(hUhjubah#hubaubh<)r}r(hXVThis will returns all the entries containing the term ``paris`` with the tag ``love``.hjhh!h#h@h%}r(h']h(]h)]h*]h,]uh.KLh]r(h8X6This will returns all the entries containing the term rr}r(hX6This will returns all the entries containing the term hjubh)r}r (hX ``paris``h%}r (h']h(]h)]h*]h,]uhjh]r h8Xparisr r }r(hUhjubah#hubh8X with the tag rr}r(hX with the tag hjubh)r}r(hX``love``h%}r(h']h(]h)]h*]h,]uhjh]rh8Xloverr}r(hUhjubah#hubh8X.r}r(hX.hjubeubeh#hubeubhr)r}r(hXExample of a query with **author operator** : ``paris author:john`` This will returns all the entries containing the term ``paris`` writed by ``john``. hhhh!h#huh%}r(h']h(]h)]h*]h,]uh.KSh/hh]r(hx)r}r (hX-Example of a query with **author operator** :r!hjhh!h#h|h%}r"(h']h(]h)]h*]h,]uh.KSh]r#(h8XExample of a query with r$r%}r&(hXExample of a query with hjubh)r'}r((hX**author operator**h%}r)(h']h(]h)]h*]h,]uhjh]r*h8Xauthor operatorr+r,}r-(hUhj'ubah#hubh8X :r.r/}r0(hX :hjubeubh)r1}r2(hUh%}r3(h']h(]h)]h*]h,]uhjh]r4(h<)r5}r6(hX``paris author:john``r7hj1hh!h#h@h%}r8(h']h(]h)]h*]h,]uh.KPh]r9h)r:}r;(hj7h%}r<(h']h(]h)]h*]h,]uhj5h]r=h8Xparis author:johnr>r?}r@(hUhj:ubah#hubaubh<)rA}rB(hXSThis will returns all the entries containing the term ``paris`` writed by ``john``.hj1hh!h#h@h%}rC(h']h(]h)]h*]h,]uh.KRh]rD(h8X6This will returns all the entries containing the term rErF}rG(hX6This will returns all the entries containing the term hjAubh)rH}rI(hX ``paris``h%}rJ(h']h(]h)]h*]h,]uhjAh]rKh8XparisrLrM}rN(hUhjHubah#hubh8X writed by rOrP}rQ(hX writed by hjAubh)rR}rS(hX``john``h%}rT(h']h(]h)]h*]h,]uhjAh]rUh8XjohnrVrW}rX(hUhjRubah#hubh8X.rY}rZ(hX.hjAubeubeh#hubeubhr)r[}r\(hXExample of a query with boolean operator : ``paris or berlin`` This will returns all the entries containing the term ``paris`` or ``berlin``. hhhh!h#huh%}r](h']h(]h)]h*]h,]uh.KYh/hh]r^(hx)r_}r`(hX*Example of a query with boolean operator :rahj[hh!h#h|h%}rb(h']h(]h)]h*]h,]uh.KYh]rch8X*Example of a query with boolean operator :rdre}rf(hjahj_ubaubh)rg}rh(hUh%}ri(h']h(]h)]h*]h,]uhj[h]rj(h<)rk}rl(hX``paris or berlin``rmhjghh!h#h@h%}rn(h']h(]h)]h*]h,]uh.KVh]roh)rp}rq(hjmh%}rr(h']h(]h)]h*]h,]uhjkh]rsh8Xparis or berlinrtru}rv(hUhjpubah#hubaubh<)rw}rx(hXNThis will returns all the entries containing the term ``paris`` or ``berlin``.hjghh!h#h@h%}ry(h']h(]h)]h*]h,]uh.KXh]rz(h8X6This will returns all the entries containing the term r{r|}r}(hX6This will returns all the entries containing the term hjwubh)r~}r(hX ``paris``h%}r(h']h(]h)]h*]h,]uhjwh]rh8Xparisrr}r(hUhj~ubah#hubh8X or rr}r(hX or hjwubh)r}r(hX ``berlin``h%}r(h']h(]h)]h*]h,]uhjwh]rh8Xberlinrr}r(hUhjubah#hubh8X.r}r(hX.hjwubeubeh#hubeubhr)r}r(hXExample of e query with parenthesis : ``(paris or berlin) love`` This will returns all the entries containing the terms ``paris`` or ``berlin`` with the term ``love``. hhhh!h#huh%}r(h']h(]h)]h*]h,]uh.K_h/hh]r(hx)r}r(hX%Example of e query with parenthesis :rhjhh!h#h|h%}r(h']h(]h)]h*]h,]uh.K_h]rh8X%Example of e query with parenthesis :rr}r(hjhjubaubh)r}r(hUh%}r(h']h(]h)]h*]h,]uhjh]r(h<)r}r(hX``(paris or berlin) love``rhjhh!h#h@h%}r(h']h(]h)]h*]h,]uh.K\h]rh)r}r(hjh%}r(h']h(]h)]h*]h,]uhjh]rh8X(paris or berlin) loverr}r(hUhjubah#hubaubh<)r}r(hXfThis will returns all the entries containing the terms ``paris`` or ``berlin`` with the term ``love``.hjhh!h#h@h%}r(h']h(]h)]h*]h,]uh.K^h]r(h8X7This will returns all the entries containing the terms rr}r(hX7This will returns all the entries containing the terms hjubh)r}r(hX ``paris``h%}r(h']h(]h)]h*]h,]uhjh]rh8Xparisrr}r(hUhjubah#hubh8X or rr}r(hX or hjubh)r}r(hX ``berlin``h%}r(h']h(]h)]h*]h,]uhjh]rh8Xberlinrr}r(hUhjubah#hubh8X with the term rr}r(hX with the term hjubh)r}r(hX``love``h%}r(h']h(]h)]h*]h,]uhjh]rh8Xloverr}r(hUhjubah#hubh8X.r}r(hX.hjubeubeh#hubeubhr)r}r(hX>Complex example : ``((paris or berlin) and (tag:love or category:meet*) girl -money`` This will returns all the entries containing the terms ``paris`` or ``berlin`` with the tag ``love`` or filled under the categories starting by ``meet`` also containing the term ``girl`` excluding entries with the term ``money``. hhhh!h#huh%}r(h']h(]h)]h*]h,]uh.Khh/hh]r(hx)r}r(hXComplex example :rhjhh!h#h|h%}r(h']h(]h)]h*]h,]uh.Khh]rh8XComplex example :rr}r(hjhjubaubh)r}r(hUh%}r(h']h(]h)]h*]h,]uhjh]r(h<)r}r(hXC``((paris or berlin) and (tag:love or category:meet*) girl -money``rhjhh!h#h@h%}r(h']h(]h)]h*]h,]uh.Kbh]rh)r}r(hjh%}r(h']h(]h)]h*]h,]uhjh]rh8X?((paris or berlin) and (tag:love or category:meet*) girl -moneyrr}r(hUhjubah#hubaubh<)r}r(hXThis will returns all the entries containing the terms ``paris`` or ``berlin`` with the tag ``love`` or filled under the categories starting by ``meet`` also containing the term ``girl`` excluding entries with the term ``money``.hjhh!h#h@h%}r(h']h(]h)]h*]h,]uh.Kdh]r(h8X7This will returns all the entries containing the terms rr}r(hX7This will returns all the entries containing the terms hjubh)r}r(hX ``paris``h%}r(h']h(]h)]h*]h,]uhjh]rh8Xparisrr}r(hUhjubah#hubh8X or rr}r(hX or hjubh)r}r(hX ``berlin``h%}r(h']h(]h)]h*]h,]uhjh]rh8Xberlinrr}r(hUhjubah#hubh8X with the tag rr}r(hX with the tag hjubh)r}r (hX``love``h%}r (h']h(]h)]h*]h,]uhjh]r h8Xlover r }r(hUhjubah#hubh8X, or filled under the categories starting by rr}r(hX, or filled under the categories starting by hjubh)r}r(hX``meet``h%}r(h']h(]h)]h*]h,]uhjh]rh8Xmeetrr}r(hUhjubah#hubh8X also containing the term rr}r(hX also containing the term hjubh)r}r(hX``girl``h%}r(h']h(]h)]h*]h,]uhjh]rh8Xgirlr r!}r"(hUhjubah#hubh8X! excluding entries with the term r#r$}r%(hX! excluding entries with the term hjubh)r&}r'(hX ``money``h%}r((h']h(]h)]h*]h,]uhjh]r)h8Xmoneyr*r+}r,(hUhj&ubah#hubh8X.r-}r.(hX.hjubeubeh#hubeubeubh<)r/}r0(hXNote that the query is stripped of common words known as stop words. These are words such as **on**, **the** or **which** that are generally not meaningful and cause irrelevant results.hhhh!h#h@h%}r1(h']h(]h)]h*]h,]uh.Kjh/hh]r2(h8X]Note that the query is stripped of common words known as stop words. These are words such as r3r4}r5(hX]Note that the query is stripped of common words known as stop words. These are words such as hj/ubh)r6}r7(hX**on**h%}r8(h']h(]h)]h*]h,]uhj/h]r9h8Xonr:r;}r<(hUhj6ubah#hubh8X, r=r>}r?(hX, hj/ubh)r@}rA(hX**the**h%}rB(h']h(]h)]h*]h,]uhj/h]rCh8XtherDrE}rF(hUhj@ubah#hubh8X or rGrH}rI(hX or hj/ubh)rJ}rK(hX **which**h%}rL(h']h(]h)]h*]h,]uhj/h]rMh8XwhichrNrO}rP(hUhjJubah#hubh8X@ that are generally not meaningful and cause irrelevant results.rQrR}rS(hX@ that are generally not meaningful and cause irrelevant results.hj/ubeubh<)rT}rU(hXFThe list of stop words is stored in the **ZINNIA_STOP_WORDS** setting.rVhhhh!h#h@h%}rW(h']h(]h)]h*]h,]uh.Knh/hh]rX(h8X(The list of stop words is stored in the rYrZ}r[(hX(The list of stop words is stored in the hjTubh)r\}r](hX**ZINNIA_STOP_WORDS**h%}r^(h']h(]h)]h*]h,]uhjTh]r_h8XZINNIA_STOP_WORDSr`ra}rb(hUhj\ubah#hubh8X setting.rcrd}re(hX setting.hjTubeubeubeubeubahUU transformerrfNU footnote_refsrg}rhUrefnamesri}rjUsymbol_footnotesrk]rlUautofootnote_refsrm]rnUsymbol_footnote_refsro]rpU citationsrq]rrh/hU current_linersNUtransform_messagesrt]ruUreporterrvNUid_startrwKU autofootnotesrx]ryU citation_refsrz}r{Uindirect_targetsr|]r}Usettingsr~(cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlrUhttp://tools.ietf.org/html/rU tracebackrUpep_referencesrNUstrip_commentsrNU toc_backlinksrUentryrU language_coderUenrU datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesrNh5NUerror_encoding_error_handlerrUbackslashreplacerUdebugrNUembed_stylesheetrUoutput_encoding_error_handlerrUstrictrU sectnum_xformrKUdump_transformsrNU docinfo_xformrKUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUP/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/search_engines.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]Ufile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hhhhhhNhhuUsubstitution_namesr}rh#h/h%}r(h']h*]h)]Usourceh!h(]h,]uU footnotesr]rUrefidsr}rub.PK؍3Fᤊ--/django-blog-zinnia-v0.9/.doctrees/tests.doctreecdocutils.nodes document q)q}q(U nametypesq}q(XunittestqXnoseqXlaunching the test suiteqNXcoverageq NXtesting and coverageq NuUsubstitution_defsq }q Uparse_messagesq ]qUcurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hUunittestqhUnoseqhUlaunching-the-test-suiteqh Ucoverageqh Utesting-and-coveragequUchildrenq]qcdocutils.nodes section q)q}q(U rawsourceqUUparentqhUsourceq cdocutils.nodes reprunicode q!XG/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/tests.rstq"q#}q$bUtagnameq%Usectionq&U attributesq'}q((Udupnamesq)]Uclassesq*]Ubackrefsq+]Uidsq,]q-haUnamesq.]q/h auUlineq0KUdocumentq1hh]q2(cdocutils.nodes title q3)q4}q5(hXTesting and Coverageq6hhh h#h%Utitleq7h'}q8(h)]h*]h+]h,]h.]uh0Kh1hh]q9cdocutils.nodes Text q:XTesting and Coverageq;q<}q=(hh6hh4ubaubcdocutils.nodes block_quote q>)q?}q@(hUhhh Nh%U block_quoteqAh'}qB(h)]h*]h+]h,]h.]uh0Nh1hh]qCcdocutils.nodes definition_list qD)qE}qF(hUh'}qG(h)]h*]h+]h,]h.]uhh?h]qHcdocutils.nodes definition_list_item qI)qJ}qK(hXS*"An application without tests, is a dead-born application."* Someone very serious hhEh h#h%Udefinition_list_itemqLh'}qM(h)]h*]h+]h,]h.]uh0Kh]qN(cdocutils.nodes term qO)qP}qQ(hX=*"An application without tests, is a dead-born application."*qRhhJh h#h%UtermqSh'}qT(h)]h*]h+]h,]h.]uh0Kh]qUcdocutils.nodes emphasis qV)qW}qX(hhRh'}qY(h)]h*]h+]h,]h.]uhhPh]qZh:X;"An application without tests, is a dead-born application."q[q\}q](hUhhWubah%Uemphasisq^ubaubcdocutils.nodes definition q_)q`}qa(hUh'}qb(h)]h*]h+]h,]h.]uhhJh]qccdocutils.nodes paragraph qd)qe}qf(hXSomeone very seriousqghh`h h#h%U paragraphqhh'}qi(h)]h*]h+]h,]h.]uh0Kh]qjh:XSomeone very seriousqkql}qm(hhghheubaubah%U definitionqnubeubah%Udefinition_listqoubaubhd)qp}qq(hX=Writing tests is important, maybe more important than coding.qrhhh h#h%hhh'}qs(h)]h*]h+]h,]h.]uh0Kh1hh]qth:X=Writing tests is important, maybe more important than coding.quqv}qw(hhrhhpubaubhd)qx}qy(hXAnd this for a lot of reasons, but I'm not here to convince you about the benefits of software testing, some prophets will do it better than me.qzhhh h#h%hhh'}q{(h)]h*]h+]h,]h.]uh0K h1hh]q|h:XAnd this for a lot of reasons, but I'm not here to convince you about the benefits of software testing, some prophets will do it better than me.q}q~}q(hhzhhxubaubcdocutils.nodes bullet_list q)q}q(hUhhh h#h%U bullet_listqh'}q(UbulletqX*h,]h+]h)]h*]h.]uh0K h1hh]q(cdocutils.nodes list_item q)q}q(hX-http://en.wikipedia.org/wiki/Software_testingqhhh h#h%U list_itemqh'}q(h)]h*]h+]h,]h.]uh0Nh1hh]qhd)q}q(hhhhh h#h%hhh'}q(h)]h*]h+]h,]h.]uh0K h]qcdocutils.nodes reference q)q}q(hhh'}q(Urefurihh,]h+]h)]h*]h.]uhhh]qh:X-http://en.wikipedia.org/wiki/Software_testingqq}q(hUhhubah%U referencequbaubaubh)q}q(hX5http://docs.djangoproject.com/en/dev/topics/testing/ hhh h#h%hh'}q(h)]h*]h+]h,]h.]uh0Nh1hh]qhd)q}q(hX4http://docs.djangoproject.com/en/dev/topics/testing/qhhh h#h%hhh'}q(h)]h*]h+]h,]h.]uh0K h]qh)q}q(hhh'}q(Urefurihh,]h+]h)]h*]h.]uhhh]qh:X4http://docs.djangoproject.com/en/dev/topics/testing/qq}q(hUhhubah%hubaubaubeubhd)q}q(hXOf course Zinnia is tested using the `unittest `_ approach. All the tests belong in the directory *zinnia/tests/*.hhh h#h%hhh'}q(h)]h*]h+]h,]h.]uh0Kh1hh]q(h:X%Of course Zinnia is tested using the qq}q(hX%Of course Zinnia is tested using the hhubh)q}q(hX:`unittest `_h'}q(UnamehUrefuriqX,http://docs.python.org/library/unittest.htmlqh,]h+]h)]h*]h.]uhhh]qh:Xunittestqq}q(hUhhubah%hubcdocutils.nodes target q)q}q(hX/ U referencedqKhhh%Utargetqh'}q(Urefurihh,]qhah+]h)]h*]h.]qhauh]ubh:X1 approach. All the tests belong in the directory qÅq}q(hX1 approach. All the tests belong in the directory hhubhV)q}q(hX*zinnia/tests/*h'}q(h)]h*]h+]h,]h.]uhhh]qh:X zinnia/tests/qʅq}q(hUhhubah%h^ubh:X.q}q(hX.hhubeubh)q}q(hUhhh h#h%h&h'}q(h)]h*]h+]h,]qhah.]qhauh0Kh1hh]q(h3)q}q(hXLaunching the test suiteqhhh h#h%h7h'}q(h)]h*]h+]h,]h.]uh0Kh1hh]qh:XLaunching the test suiteqڅq}q(hhhhubaubhd)q}q(hXIf you have run the :doc:`buildout` script bundled in Zinnia, the tests are run under `nose `_ by launching this command: ::hhh h#h%hhh'}q(h)]h*]h+]h,]h.]uh0Kh1hh]q(h:XIf you have run the qᅁq}q(hXIf you have run the hhubcsphinx.addnodes pending_xref q)q}q(hX:doc:`buildout`qhhh h#h%U pending_xrefqh'}q(UreftypeXdocqUrefwarnqU reftargetqXbuildoutU refdomainUh,]h+]U refexplicith)]h*]h.]UrefdocqXtestsquh0Kh]qcdocutils.nodes literal q)q}q(hhh'}q(h)]h*]q(Uxrefqheh+]h,]h.]uhhh]qh:Xbuildoutqq}q(hUhhubah%Uliteralqubaubh:X3 script bundled in Zinnia, the tests are run under qq}q(hX3 script bundled in Zinnia, the tests are run under hhubh)q}q(hXC`nose `_h'}r(UnamehhX9http://somethingaboutorange.com/mrl/projects/nose/0.11.2/rh,]h+]h)]h*]h.]uhhh]rh:Xnoserr}r(hUhhubah%hubh)r}r(hX< hKhhh%hh'}r(Urefurijh,]r hah+]h)]h*]h.]r hauh]ubh:X by launching this command:r r }r (hX by launching this command:hhubeubcdocutils.nodes literal_block r)r}r(hX $ ./bin/testhhh h#h%U literal_blockrh'}r(U xml:spacerUpreserverh,]h+]h)]h*]h.]uh0Kh1hh]rh:X $ ./bin/testrr}r(hUhjubaubhd)r}r(hX[But the tests can also be launched within a django project with the default test runner: ::hhh h#h%hhh'}r(h)]h*]h+]h,]h.]uh0Kh1hh]rh:XXBut the tests can also be launched within a django project with the default test runner:rr}r(hXXBut the tests can also be launched within a django project with the default test runner:hjubaubj)r }r!(hX<$ django-admin.py test zinnia --settings=zinnia.testsettingshhh h#h%jh'}r"(jjh,]h+]h)]h*]h.]uh0K h1hh]r#h:X<$ django-admin.py test zinnia --settings=zinnia.testsettingsr$r%}r&(hUhj ubaubeubh)r'}r((hUhhh h#h%h&h'}r)(h)]h*]h+]h,]r*hah.]r+h auh0K#h1hh]r,(h3)r-}r.(hXCoverager/hj'h h#h%h7h'}r0(h)]h*]h+]h,]h.]uh0K#h1hh]r1h:XCoverager2r3}r4(hj/hj-ubaubhd)r5}r6(hX`Despite my best efforts, some functionnalities are not yet tested, that's why I need your help !r7hj'h h#h%hhh'}r8(h)]h*]h+]h,]h.]uh0K%h1hh]r9h:X`Despite my best efforts, some functionnalities are not yet tested, that's why I need your help !r:r;}r<(hj7hj5ubaubhd)r=}r>(hXAs I write these lines the **121** tests in Zinnia cover **96%** of the code bundled in Zinnia. A real effort has been made to obtain this percentage, for ensuring the quality of the code.hj'h h#h%hhh'}r?(h)]h*]h+]h,]h.]uh0K(h1hh]r@(h:XAs I write these lines the rArB}rC(hXAs I write these lines the hj=ubcdocutils.nodes strong rD)rE}rF(hX**121**h'}rG(h)]h*]h+]h,]h.]uhj=h]rHh:X121rIrJ}rK(hUhjEubah%UstrongrLubh:X tests in Zinnia cover rMrN}rO(hX tests in Zinnia cover hj=ubjD)rP}rQ(hX**96%**h'}rR(h)]h*]h+]h,]h.]uhj=h]rSh:X96%rTrU}rV(hUhjPubah%jLubh:X| of the code bundled in Zinnia. A real effort has been made to obtain this percentage, for ensuring the quality of the code.rWrX}rY(hX| of the code bundled in Zinnia. A real effort has been made to obtain this percentage, for ensuring the quality of the code.hj=ubeubhd)rZ}r[(hXI know that a coverage percent does not represent the quality of the tests, but maintaining or increasing this percentage ensures the quality of Zinnia and his future evolutions.r\hj'h h#h%hhh'}r](h)]h*]h+]h,]h.]uh0K,h1hh]r^h:XI know that a coverage percent does not represent the quality of the tests, but maintaining or increasing this percentage ensures the quality of Zinnia and his future evolutions.r_r`}ra(hj\hjZubaubhd)rb}rc(hX6You can check the actual coverage percent at this url:rdhj'h h#h%hhh'}re(h)]h*]h+]h,]h.]uh0K0h1hh]rfh:X6You can check the actual coverage percent at this url:rgrh}ri(hjdhjbubaubhd)rj}rk(hX5http://django-blog-zinnia.com/documentation/coverage/rlhj'h h#h%hhh'}rm(h)]h*]h+]h,]h.]uh0K2h1hh]rnh)ro}rp(hjlh'}rq(Urefurijlh,]h+]h)]h*]h.]uhjjh]rrh:X5http://django-blog-zinnia.com/documentation/coverage/rsrt}ru(hUhjoubah%hubaubhd)rv}rw(hX<I hope that you will write some tests and find some bugs. :)rxhj'h h#h%hhh'}ry(h)]h*]h+]h,]h.]uh0K4h1hh]rzh:X<I hope that you will write some tests and find some bugs. :)r{r|}r}(hjxhjvubaubeubeubahUU transformerr~NU footnote_refsr}rUrefnamesr}rUsymbol_footnotesr]rUautofootnote_refsr]rUsymbol_footnote_refsr]rU citationsr]rh1hU current_linerNUtransform_messagesr]rUreporterrNUid_startrKU autofootnotesr]rU citation_refsr}rUindirect_targetsr]rUsettingsr(cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlrUhttp://tools.ietf.org/html/rU tracebackrUpep_referencesrNUstrip_commentsrNU toc_backlinksrUentryrU language_coderUenrU datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesrNh7NUerror_encoding_error_handlerrUbackslashreplacerUdebugrNUembed_stylesheetrUoutput_encoding_error_handlerrUstrictrU sectnum_xformrKUdump_transformsrNU docinfo_xformrKUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUG/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/tests.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]rUfile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hhhhhhhj'hjuUsubstitution_namesr}rh%h1h'}r(h)]h,]h+]Usourceh#h*]h.]uU footnotesr]rUrefidsr}rub.PK؍3F+wH""2django-blog-zinnia-v0.9/.doctrees/channels.doctreecdocutils.nodes document q)q}q(U nametypesq}q(XchannelsqNX object_listquUsubstitution_defsq}q Uparse_messagesq ]q Ucurrent_sourceq NU decorationq NUautofootnote_startqKUnameidsq}q(hUchannelsqhU object-listquUchildrenq]qcdocutils.nodes section q)q}q(U rawsourceqUUparentqhUsourceqcdocutils.nodes reprunicode qXJ/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/channels.rstqq}qbUtagnameqUsectionq U attributesq!}q"(Udupnamesq#]Uclassesq$]Ubackrefsq%]Uidsq&]q'haUnamesq(]q)hauUlineq*KUdocumentq+hh]q,(cdocutils.nodes title q-)q.}q/(hXChannelsq0hhhhhUtitleq1h!}q2(h#]h$]h%]h&]h(]uh*Kh+hh]q3cdocutils.nodes Text q4XChannelsq5q6}q7(hh0hh.ubaubcdocutils.nodes paragraph q8)q9}q:(hX3Views by author, categories, tags is not enough :).q;hhhhhU paragraphqh4X3Views by author, categories, tags is not enough :).q?q@}qA(hh;hh9ubaubh8)qB}qC(hX=The idea is to create specific pages based on a query search.qDhhhhhh`_ view bundled in Django can handle.hhhhhh`_h!}q(UnamehUrefuriqXdhttp://docs.djangoproject.com/en/dev/ref/generic-views/#django-views-generic-list-detail-object-listqh&]h%]h#]h$]h(]uhhh]qh4X object_listqۅq}q(hUhhubahU referencequbcdocutils.nodes target q)q}q(hXg U referencedqKhhhUtargetqh!}q(Urefurihh&]qhah%]h#]h$]h(]qhauh]ubh4X# view bundled in Django can handle.q煁q}q(hX# view bundled in Django can handle.hhubeubeubahUU transformerqNU footnote_refsq}qUrefnamesq}qUsymbol_footnotesq]qUautofootnote_refsq]qUsymbol_footnote_refsq]qU citationsq]qh+hU current_lineqNUtransform_messagesq]qUreporterqNUid_startqKU autofootnotesq]qU citation_refsq}qUindirect_targetsr]rUsettingsr(cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlrUhttp://tools.ietf.org/html/r U tracebackr Upep_referencesr NUstrip_commentsr NU toc_backlinksr UentryrU language_coderUenrU datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesrNh1NUerror_encoding_error_handlerrUbackslashreplacerUdebugrNUembed_stylesheetrUoutput_encoding_error_handlerrUstrictrU sectnum_xformrKUdump_transformsrNU docinfo_xformrKUwarning_streamrNUpep_file_url_templater Upep-%04dr!Uexit_status_levelr"KUconfigr#NUstrict_visitorr$NUcloak_email_addressesr%Utrim_footnote_reference_spacer&Uenvr'NUdump_pseudo_xmlr(NUexpose_internalsr)NUsectsubtitle_xformr*U source_linkr+NUrfc_referencesr,NUoutput_encodingr-Uutf-8r.U source_urlr/NUinput_encodingr0U utf-8-sigr1U_disable_configr2NU id_prefixr3UU tab_widthr4KUerror_encodingr5Uasciir6U_sourcer7UJ/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/channels.rstr8Ugettext_compactr9U generatorr:NUdump_internalsr;NU smart_quotesr<U pep_base_urlr=Uhttp://www.python.org/dev/peps/r>Usyntax_highlightr?Ulongr@Uinput_encoding_error_handlerrAjUauto_id_prefixrBUidrCUdoctitle_xformrDUstrip_elements_with_classesrENU _config_filesrF]Ufile_insertion_enabledrGU raw_enabledrHKU dump_settingsrINubUsymbol_footnote_startrJKUidsrK}rL(hhhhuUsubstitution_namesrM}rNhh+h!}rO(h#]h&]h%]Usourcehh$]h(]uU footnotesrP]rQUrefidsrR}rSub.PK؍3Fu~l(C(C6django-blog-zinnia-v0.9/.doctrees/contribution.doctreecdocutils.nodes document q)q}q(U nametypesq}q(XforkqXsend me a messageqXtestsqNX writing codeq NXprocessq NX translationsq NX conventionsq NXpep8q Xcontributing to zinniaqNXwriting documentationqNuUsubstitution_defsq}qUparse_messagesq]qUcurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hUforkqhUsend-me-a-messageqhUtestsqh U writing-codeqh Uprocessqh U translationsqh U conventionsqh Upep8q hUcontributing-to-zinniaq!hUwriting-documentationq"uUchildrenq#]q$cdocutils.nodes section q%)q&}q'(U rawsourceq(UUparentq)hUsourceq*cdocutils.nodes reprunicode q+XN/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/contribution.rstq,q-}q.bUtagnameq/Usectionq0U attributesq1}q2(Udupnamesq3]Uclassesq4]Ubackrefsq5]Uidsq6]q7h!aUnamesq8]q9hauUlineq:KUdocumentq;hh#]q<(cdocutils.nodes title q=)q>}q?(h(XContributing to Zinniaq@h)h&h*h-h/UtitleqAh1}qB(h3]h4]h5]h6]h8]uh:Kh;hh#]qCcdocutils.nodes Text qDXContributing to ZinniaqEqF}qG(h(h@h)h>ubaubcdocutils.nodes paragraph qH)qI}qJ(h(XQZinnia is an open-source project, so yours contributions are welcomed and needed.qKh)h&h*h-h/U paragraphqLh1}qM(h3]h4]h5]h6]h8]uh:Kh;hh#]qNhDXQZinnia is an open-source project, so yours contributions are welcomed and needed.qOqP}qQ(h(hKh)hIubaubh%)qR}qS(h(Uh)h&h*h-h/h0h1}qT(h3]h4]h5]h6]qUhah8]qVh auh:Kh;hh#]qW(h=)qX}qY(h(X Writing codeqZh)hRh*h-h/hAh1}q[(h3]h4]h5]h6]h8]uh:Kh;hh#]q\hDX Writing codeq]q^}q_(h(hZh)hXubaubhH)q`}qa(h(XaSo you have a great idea to program, found a bug or a way to optimize the code ? You are welcome.qbh)hRh*h-h/hLh1}qc(h3]h4]h5]h6]h8]uh:K h;hh#]qdhDXaSo you have a great idea to program, found a bug or a way to optimize the code ? You are welcome.qeqf}qg(h(hbh)h`ubaubh%)qh}qi(h(Uh)hRh*h-h/h0h1}qj(h3]h4]h5]h6]qkhah8]qlh auh:Kh;hh#]qm(h=)qn}qo(h(XProcessqph)hhh*h-h/hAh1}qq(h3]h4]h5]h6]h8]uh:Kh;hh#]qrhDXProcessqsqt}qu(h(hph)hnubaubcdocutils.nodes enumerated_list qv)qw}qx(h(Uh)hhh*h-h/Uenumerated_listqyh1}qz(Usuffixq{U.h6]h5]h3]Uprefixq|Uh4]h8]Uenumtypeq}Uarabicq~uh:Kh;hh#]q(cdocutils.nodes list_item q)q}q(h(XS`Fork `_ the code on Github.h)hwh*h-h/U list_itemqh1}q(h3]h4]h5]h6]h8]uh:Nh;hh#]qhH)q}q(h(XS`Fork `_ the code on Github.h)hh*h-h/hLh1}q(h3]h4]h5]h6]h8]uh:Kh#]q(cdocutils.nodes reference q)q}q(h(X?`Fork `_h1}q(UnameXForkUrefuriqX5https://github.com/Fantomas42/django-blog-zinnia/forkqh6]h5]h3]h4]h8]uh)hh#]qhDXForkqq}q(h(Uh)hubah/U referencequbcdocutils.nodes target q)q}q(h(X8 U referencedqKh)hh/Utargetqh1}q(Urefurihh6]qhah5]h3]h4]h8]qhauh#]ubhDX the code on Github.qq}q(h(X the code on Github.h)hubeubaubh)q}q(h(XCheckout your fork.qh)hwh*h-h/hh1}q(h3]h4]h5]h6]h8]uh:Nh;hh#]qhH)q}q(h(hh)hh*h-h/hLh1}q(h3]h4]h5]h6]h8]uh:Kh#]qhDXCheckout your fork.qq}q(h(hh)hubaubaubh)q}q(h(XWrite unit tests.qh)hwh*h-h/hh1}q(h3]h4]h5]h6]h8]uh:Nh;hh#]qhH)q}q(h(hh)hh*h-h/hLh1}q(h3]h4]h5]h6]h8]uh:Kh#]qhDXWrite unit tests.qq}q(h(hh)hubaubaubh)q}q(h(XDevelop your code.qh)hwh*h-h/hh1}q(h3]h4]h5]h6]h8]uh:Nh;hh#]qhH)q}q(h(hh)hh*h-h/hLh1}q(h3]h4]h5]h6]h8]uh:Kh#]qhDXDevelop your code.qq}q(h(hh)hubaubaubh)q}q(h(XTest the code.qh)hwh*h-h/hh1}q(h3]h4]h5]h6]h8]uh:Nh;hh#]qhH)q}q(h(hh)hh*h-h/hLh1}q(h3]h4]h5]h6]h8]uh:Kh#]qhDXTest the code.qͅq}q(h(hh)hubaubaubh)q}q(h(XUpdate the documentation.qh)hwh*h-h/hh1}q(h3]h4]h5]h6]h8]uh:Nh;hh#]qhH)q}q(h(hh)hh*h-h/hLh1}q(h3]h4]h5]h6]h8]uh:Kh#]qhDXUpdate the documentation.qمq}q(h(hh)hubaubaubh)q}q(h(XCommit your changesqh)hwh*h-h/hh1}q(h3]h4]h5]h6]h8]uh:Nh;hh#]qhH)q}q(h(hh)hh*h-h/hLh1}q(h3]h4]h5]h6]h8]uh:Kh#]qhDXCommit your changesq允q}q(h(hh)hubaubaubh)q}q(h(XPush to your fork.qh)hwh*h-h/hh1}q(h3]h4]h5]h6]h8]uh:Nh;hh#]qhH)q}q(h(hh)hh*h-h/hLh1}q(h3]h4]h5]h6]h8]uh:Kh#]qhDXPush to your fork.qq}q(h(hh)hubaubaubh)q}q(h(XOpen a pull request. h)hwh*h-h/hh1}q(h3]h4]h5]h6]h8]uh:Nh;hh#]qhH)q}q(h(XOpen a pull request.qh)hh*h-h/hLh1}q(h3]h4]h5]h6]h8]uh:Kh#]qhDXOpen a pull request.qq}q(h(hh)hubaubaubeubeubh%)r}r(h(Uh)hRh*h-h/h0h1}r(h3]h4]h5]h6]rhah8]rh auh:Kh;hh#]r(h=)r}r(h(X Conventionsrh)jh*h-h/hAh1}r (h3]h4]h5]h6]h8]uh:Kh;hh#]r hDX Conventionsr r }r (h(jh)jubaubhH)r}r(h(XCode conventions are important in a way where they ensure the lisibility of the code in the time, that's why the code try to respect at most the `PEP8 `_.h)jh*h-h/hLh1}r(h3]h4]h5]h6]h8]uh:Kh;hh#]r(hDXCode conventions are important in a way where they ensure the lisibility of the code in the time, that's why the code try to respect at most the rr}r(h(XCode conventions are important in a way where they ensure the lisibility of the code in the time, that's why the code try to respect at most the h)jubh)r}r(h(X2`PEP8 `_h1}r(UnameXPEP8hX(http://www.python.org/dev/peps/pep-0008/rh6]h5]h3]h4]h8]uh)jh#]rhDXPEP8rr}r(h(Uh)jubah/hubh)r}r(h(X+ hKh)jh/hh1}r(Urefurijh6]r h ah5]h3]h4]h8]r!h auh#]ubhDX.r"}r#(h(X.h)jubeubhH)r$}r%(h(XlIf you have already run the :doc:`buildout` script you can execute this Makefile rule to check your code. ::h)jh*h-h/hLh1}r&(h3]h4]h5]h6]h8]uh:K#h;hh#]r'(hDXIf you have already run the r(r)}r*(h(XIf you have already run the h)j$ubcsphinx.addnodes pending_xref r+)r,}r-(h(X:doc:`buildout`r.h)j$h*h-h/U pending_xrefr/h1}r0(UreftypeXdocr1Urefwarnr2U reftargetr3XbuildoutU refdomainUh6]h5]U refexplicith3]h4]h8]Urefdocr4X contributionr5uh:K#h#]r6cdocutils.nodes literal r7)r8}r9(h(j.h1}r:(h3]h4]r;(Uxrefr<j1eh5]h6]h8]uh)j,h#]r=hDXbuildoutr>r?}r@(h(Uh)j8ubah/UliteralrAubaubhDX> script you can execute this Makefile rule to check your code.rBrC}rD(h(X> script you can execute this Makefile rule to check your code.h)j$ubeubcdocutils.nodes literal_block rE)rF}rG(h(X$ make kwaliteeh)jh*h-h/U literal_blockrHh1}rI(U xml:spacerJUpreserverKh6]h5]h3]h4]h8]uh:K&h;hh#]rLhDX$ make kwaliteerMrN}rO(h(Uh)jFubaubhH)rP}rQ(h(XDWith a clear and uniform code, the development is better and faster.rRh)jh*h-h/hLh1}rS(h3]h4]h5]h6]h8]uh:K(h;hh#]rThDXDWith a clear and uniform code, the development is better and faster.rUrV}rW(h(jRh)jPubaubeubh%)rX}rY(h(Uh)hRh*h-h/h0h1}rZ(h3]h4]h5]h6]r[hah8]r\hauh:K+h;hh#]r](h=)r^}r_(h(XTestsr`h)jXh*h-h/hAh1}ra(h3]h4]h5]h6]h8]uh:K+h;hh#]rbhDXTestsrcrd}re(h(j`h)j^ubaubhH)rf}rg(h(XThe submited code should be covered with one or more unittests to ensure the new behavior and will make easier future developments. Without that, your code will not be reliable and may not be integrated.rhh)jXh*h-h/hLh1}ri(h3]h4]h5]h6]h8]uh:K-h;hh#]rjhDXThe submited code should be covered with one or more unittests to ensure the new behavior and will make easier future developments. Without that, your code will not be reliable and may not be integrated.rkrl}rm(h(jhh)jfubaubhH)rn}ro(h(X'See :doc:`tests` for more informations.rph)jXh*h-h/hLh1}rq(h3]h4]h5]h6]h8]uh:K1h;hh#]rr(hDXSee rsrt}ru(h(XSee h)jnubj+)rv}rw(h(X :doc:`tests`rxh)jnh*h-h/j/h1}ry(UreftypeXdocrzj2j3XtestsU refdomainUh6]h5]U refexplicith3]h4]h8]j4j5uh:K1h#]r{j7)r|}r}(h(jxh1}r~(h3]h4]r(j<jzeh5]h6]h8]uh)jvh#]rhDXtestsrr}r(h(Uh)j|ubah/jAubaubhDX for more informations.rr}r(h(X for more informations.h)jnubeubeubeubh%)r}r(h(Uh)h&h*h-h/h0h1}r(h3]h4]h5]h6]rh"ah8]rhauh:K5h;hh#]r(h=)r}r(h(XWriting documentationrh)jh*h-h/hAh1}r(h3]h4]h5]h6]h8]uh:K5h;hh#]rhDXWriting documentationrr}r(h(jh)jubaubhH)r}r(h(XSometimes considered like "annoying" by hard-core coders, documentation is more important than the code itself! This is what brings fresh blood to a project, and serves as a reference for old timers.rh)jh*h-h/hLh1}r(h3]h4]h5]h6]h8]uh:K7h;hh#]rhDXSometimes considered like "annoying" by hard-core coders, documentation is more important than the code itself! This is what brings fresh blood to a project, and serves as a reference for old timers.rr}r(h(jh)jubaubhH)r}r(h(XOn top of this, documentation is the one area where less technical people can help most - you just need to write a semi-decent English. People need to understand you. We don’t care about style or correctness.rh)jh*h-h/hLh1}r(h3]h4]h5]h6]h8]uh:K;h;hh#]rhDXOn top of this, documentation is the one area where less technical people can help most - you just need to write a semi-decent English. People need to understand you. We don’t care about style or correctness.rr}r(h(jh)jubaubhH)r}r(h(XThe documentation should :rh)jh*h-h/hLh1}r(h3]h4]h5]h6]h8]uh:K?h;hh#]rhDXThe documentation should :rr}r(h(jh)jubaubcdocutils.nodes bullet_list r)r}r(h(Uh)jh*h-h/U bullet_listrh1}r(UbulletrX*h6]h5]h3]h4]h8]uh:KAh;hh#]r(h)r}r(h(X(Use **Sphinx** and **restructuredText**.rh)jh*h-h/hh1}r(h3]h4]h5]h6]h8]uh:Nh;hh#]rhH)r}r(h(jh)jh*h-h/hLh1}r(h3]h4]h5]h6]h8]uh:KAh#]r(hDXUse rr}r(h(XUse h)jubcdocutils.nodes strong r)r}r(h(X **Sphinx**h1}r(h3]h4]h5]h6]h8]uh)jh#]rhDXSphinxrr}r(h(Uh)jubah/UstrongrubhDX and rr}r(h(X and h)jubj)r}r(h(X**restructuredText**h1}r(h3]h4]h5]h6]h8]uh)jh#]rhDXrestructuredTextrr}r(h(Uh)jubah/jubhDX.r}r(h(X.h)jubeubaubh)r}r(h(XUse **.rst** as file extension.rh)jh*h-h/hh1}r(h3]h4]h5]h6]h8]uh:Nh;hh#]rhH)r}r(h(jh)jh*h-h/hLh1}r(h3]h4]h5]h6]h8]uh:KBh#]r(hDXUse rr}r(h(XUse h)jubj)r}r(h(X**.rst**h1}r(h3]h4]h5]h6]h8]uh)jh#]rhDX.rstrr}r(h(Uh)jubah/jubhDX as file extension.rr}r(h(X as file extension.h)jubeubaubh)r}r(h(XBe written in English.rh)jh*h-h/hh1}r(h3]h4]h5]h6]h8]uh:Nh;hh#]rhH)r}r(h(jh)jh*h-h/hLh1}r(h3]h4]h5]h6]h8]uh:KCh#]rhDXBe written in English.rr}r(h(jh)jubaubaubh)r}r(h(XuBe accessible. You should assume the reader to be moderately familiar with Python and Django, but not anything else. h)jh*h-h/hh1}r(h3]h4]h5]h6]h8]uh:Nh;hh#]rhH)r}r(h(XtBe accessible. You should assume the reader to be moderately familiar with Python and Django, but not anything else.rh)jh*h-h/hLh1}r(h3]h4]h5]h6]h8]uh:KDh#]rhDXtBe accessible. You should assume the reader to be moderately familiar with Python and Django, but not anything else.rr}r(h(jh)jubaubaubeubhH)r}r(h(XkKeep it mind that documenting is most useful than coding, so your contribution will be greatly appreciated.rh)jh*h-h/hLh1}r(h3]h4]h5]h6]h8]uh:KGh;hh#]rhDXkKeep it mind that documenting is most useful than coding, so your contribution will be greatly appreciated.rr }r (h(jh)jubaubeubh%)r }r (h(Uh)h&h*h-h/h0h1}r (h3]h4]h5]h6]rhah8]rh auh:KLh;hh#]r(h=)r}r(h(X Translationsrh)j h*h-h/hAh1}r(h3]h4]h5]h6]h8]uh:KLh;hh#]rhDX Translationsrr}r(h(jh)jubaubhH)r}r(h(XIf 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 :rh)j h*h-h/hLh1}r(h3]h4]h5]h6]h8]uh:KNh;hh#]rhDXIf 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 :rr}r (h(jh)jubaubhH)r!}r"(h(XIhttp://www.transifex.net/projects/p/django-blog-zinnia/resource/djangopo/r#h)j h*h-h/hLh1}r$(h3]h4]h5]h6]h8]uh:KRh;hh#]r%h)r&}r'(h(j#h1}r((Urefurij#h6]h5]h3]h4]h8]uh)j!h#]r)hDXIhttp://www.transifex.net/projects/p/django-blog-zinnia/resource/djangopo/r*r+}r,(h(Uh)j&ubah/hubaubcdocutils.nodes image r-)r.}r/(h(Xd.. image:: http://www.transifex.net/projects/p/django-blog-zinnia/resource/djangopo/chart/image_png h)j h*h-h/Uimager0h1}r1(UuriXXhttp://www.transifex.net/projects/p/django-blog-zinnia/resource/djangopo/chart/image_pngr2h6]h5]h3]h4]U candidatesr3}r4U?j2sh8]uh:KUh;hh#]ubhH)r5}r6(h(XThe translations hosted on Transifex.net will be pulled periodically in the repository, but if you are in a hurry, `send me a message `_.h)j h*h-h/hLh1}r7(h3]h4]h5]h6]h8]uh:KVh;hh#]r8(hDXsThe translations hosted on Transifex.net will be pulled periodically in the repository, but if you are in a hurry, r9r:}r;(h(XsThe translations hosted on Transifex.net will be pulled periodically in the repository, but if you are in a hurry, h)j5ubh)r<}r=(h(X>`send me a message `_h1}r>(UnameXsend me a messagehX'https://github.com/inbox/new/Fantomas42r?h6]h5]h3]h4]h8]uh)j5h#]r@hDXsend me a messagerArB}rC(h(Uh)j<ubah/hubh)rD}rE(h(X* hKh)j5h/hh1}rF(Urefurij?h6]rGhah5]h3]h4]h8]rHhauh#]ubhDX.rI}rJ(h(X.h)j5ubeubeubeubah(UU transformerrKNU footnote_refsrL}rMUrefnamesrN}rOUsymbol_footnotesrP]rQUautofootnote_refsrR]rSUsymbol_footnote_refsrT]rUU citationsrV]rWh;hU current_linerXNUtransform_messagesrY]rZUreporterr[NUid_startr\KU autofootnotesr]]r^U citation_refsr_}r`Uindirect_targetsra]rbUsettingsrc(cdocutils.frontend Values rdore}rf(Ufootnote_backlinksrgKUrecord_dependenciesrhNU rfc_base_urlriUhttp://tools.ietf.org/html/rjU tracebackrkUpep_referencesrlNUstrip_commentsrmNU toc_backlinksrnUentryroU language_coderpUenrqU datestamprrNU report_levelrsKU _destinationrtNU halt_levelruKU strip_classesrvNhANUerror_encoding_error_handlerrwUbackslashreplacerxUdebugryNUembed_stylesheetrzUoutput_encoding_error_handlerr{Ustrictr|U sectnum_xformr}KUdump_transformsr~NU docinfo_xformrKUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUN/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/contribution.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrj|Uauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]Ufile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hhhjXhhhhj h"jhjh!h&h jhhRhjDuUsubstitution_namesr}rh/h;h1}r(h3]h6]h5]Usourceh-h4]h8]uU footnotesr]rUrefidsr}rub.PK؍3FfQ/Z-Z-7django-blog-zinnia-v0.9/.doctrees/url_shortener.doctreecdocutils.nodes document q)q}q(U nametypesq}q(X url shortenerqNX&writing your own url shortener backendqNuUsubstitution_defsq}q Uparse_messagesq ]q Ucurrent_sourceq NU decorationq NUautofootnote_startqKUnameidsq}q(hU url-shortenerqhU&writing-your-own-url-shortener-backendquUchildrenq]qcdocutils.nodes section q)q}q(U rawsourceqUUparentqhUsourceqcdocutils.nodes reprunicode qXO/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/url_shortener.rstqq}qbUtagnameqUsectionq U attributesq!}q"(Udupnamesq#]Uclassesq$]Ubackrefsq%]Uidsq&]q'haUnamesq(]q)hauUlineq*KUdocumentq+hh]q,(cdocutils.nodes title q-)q.}q/(hX URL Shortenerq0hhhhhUtitleq1h!}q2(h#]h$]h%]h&]h(]uh*Kh+hh]q3cdocutils.nodes Text q4X URL Shortenerq5q6}q7(hh0hh.ubaubcdocutils.nodes paragraph q8)q9}q:(hX`The URL shortening has becoming a big deal of the Internet especially for transfering long URLs.q;hhhhhU paragraphqh4X`The URL shortening has becoming a big deal of the Internet especially for transfering long URLs.q?q@}qA(hh;hh9ubaubh8)qB}qC(hXFAnd so many URL shortening services exist, each with his own features.qDhhhhhh}r?(hX *zinnia/url_shortener/backends/*h!}r@(h#]h$]h%]h&]h(]uhj6h]rAh4Xzinnia/url_shortener/backends/rBrC}rD(hUhj>ubahhYubh4X.rE}rF(hX.hj6ubeubeubeubahUU transformerrGNU footnote_refsrH}rIUrefnamesrJ}rKUsymbol_footnotesrL]rMUautofootnote_refsrN]rOUsymbol_footnote_refsrP]rQU citationsrR]rSh+hU current_linerTNUtransform_messagesrU]rVUreporterrWNUid_startrXKU autofootnotesrY]rZU citation_refsr[}r\Uindirect_targetsr]]r^Usettingsr_(cdocutils.frontend Values r`ora}rb(Ufootnote_backlinksrcKUrecord_dependenciesrdNU rfc_base_urlreUhttp://tools.ietf.org/html/rfU tracebackrgUpep_referencesrhNUstrip_commentsriNU toc_backlinksrjUentryrkU language_coderlUenrmU datestamprnNU report_levelroKU _destinationrpNU halt_levelrqKU strip_classesrrNh1NUerror_encoding_error_handlerrsUbackslashreplacertUdebugruNUembed_stylesheetrvUoutput_encoding_error_handlerrwUstrictrxU sectnum_xformryKUdump_transformsrzNU docinfo_xformr{KUwarning_streamr|NUpep_file_url_templater}Upep-%04dr~Uexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUO/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/url_shortener.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjxUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]rUfile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hhhhuUsubstitution_namesr}rhh+h!}r(h#]h&]h%]Usourcehh$]h(]uU footnotesr]rUrefidsr}rub.PK؍3F;`,`,7django-blog-zinnia-v0.9/.doctrees/import_export.doctreecdocutils.nodes document q)q}q(U nametypesq}q(XgdataqXfrom wordpress to zinniaqNXfrom zinnia to wordpressqNX feedparserq Ximport / exportq NXfrom blogger to zinniaq NXfrom feed to zinniaq NuUsubstitution_defsq }qUparse_messagesq]qUcurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hUgdataqhUfrom-wordpress-to-zinniaqhUfrom-zinnia-to-wordpressqh U feedparserqh U import-exportqh Ufrom-blogger-to-zinniaqh Ufrom-feed-to-zinniaquUchildrenq]qcdocutils.nodes section q)q }q!(U rawsourceq"UUparentq#hUsourceq$cdocutils.nodes reprunicode q%XO/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/import_export.rstq&q'}q(bUtagnameq)Usectionq*U attributesq+}q,(Udupnamesq-]Uclassesq.]Ubackrefsq/]Uidsq0]q1haUnamesq2]q3h auUlineq4KUdocumentq5hh]q6(cdocutils.nodes title q7)q8}q9(h"XImport / Exportq:h#h h$h'h)Utitleq;h+}q<(h-]h.]h/]h0]h2]uh4Kh5hh]q=cdocutils.nodes Text q>XImport / Exportq?q@}qA(h"h:h#h8ubaubcdocutils.nodes paragraph qB)qC}qD(h"XIf you already have a blog, Zinnia has the ability to import your posts from other blogging platforms. Useful for rapid migration.qEh#h h$h'h)U paragraphqFh+}qG(h-]h.]h/]h0]h2]uh4Kh5hh]qHh>XIf you already have a blog, Zinnia has the ability to import your posts from other blogging platforms. Useful for rapid migration.qIqJ}qK(h"hEh#hCubaubh)qL}qM(h"Uh#h h$h'h)h*h+}qN(h-]h.]h/]h0]qOhah2]qPhauh4K h5hh]qQ(h7)qR}qS(h"XFrom WordPress to ZinniaqTh#hLh$h'h)h;h+}qU(h-]h.]h/]h0]h2]uh4K h5hh]qVh>XFrom WordPress to ZinniaqWqX}qY(h"hTh#hRubaubhB)qZ}q[(h"XDZinnia provides a command for importing export files from WordPress.q\h#hLh$h'h)hFh+}q](h-]h.]h/]h0]h2]uh4K h5hh]q^h>XDZinnia provides a command for importing export files from WordPress.q_q`}qa(h"h\h#hZubaubhB)qb}qc(h"X0http://codex.wordpress.org/Tools_Export_SubPanelqdh#hLh$h'h)hFh+}qe(h-]h.]h/]h0]h2]uh4K h5hh]qfcdocutils.nodes reference qg)qh}qi(h"hdh+}qj(Urefurihdh0]h/]h-]h.]h2]uh#hbh]qkh>X0http://codex.wordpress.org/Tools_Export_SubPanelqlqm}qn(h"Uh#hhubah)U referenceqoubaubhB)qp}qq(h"X:Once you have the XML file, you simply have to do this. ::qrh#hLh$h'h)hFh+}qs(h-]h.]h/]h0]h2]uh4Kh5hh]qth>X7Once you have the XML file, you simply have to do this.quqv}qw(h"X7Once you have the XML file, you simply have to do this.h#hpubaubcdocutils.nodes literal_block qx)qy}qz(h"X7$ python manage.py wp2zinnia path/to/your/wordpress.xmlh#hLh$h'h)U literal_blockq{h+}q|(U xml:spaceq}Upreserveq~h0]h/]h-]h.]h2]uh4Kh5hh]qh>X7$ python manage.py wp2zinnia path/to/your/wordpress.xmlqq}q(h"Uh#hyubaubhB)q}q(h"XjThis command will associate the post's authors to User and import the tags, categories, post and comments.qh#hLh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4Kh5hh]qh>XjThis command will associate the post's authors to User and import the tags, categories, post and comments.qq}q(h"hh#hubaubhB)q}q(h"X For the options execute this. ::qh#hLh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4Kh5hh]qh>XFor the options execute this.qq}q(h"XFor the options execute this.h#hubaubhx)q}q(h"X!$ python manage.py help wp2zinniah#hLh$h'h)h{h+}q(h}h~h0]h/]h-]h.]h2]uh4Kh5hh]qh>X!$ python manage.py help wp2zinniaqq}q(h"Uh#hubaubeubh)q}q(h"Uh#h h$h'h)h*h+}q(h-]h.]h/]h0]qhah2]qhauh4Kh5hh]q(h7)q}q(h"XFrom Zinnia to WordPressqh#hh$h'h)h;h+}q(h-]h.]h/]h0]h2]uh4Kh5hh]qh>XFrom Zinnia to WordPressqq}q(h"hh#hubaubhB)q}q(h"XjZinnia also provides a command for exporting your blog to WordPress in the case you want to migrate on it.qh#hh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4Kh5hh]qh>XjZinnia also provides a command for exporting your blog to WordPress in the case you want to migrate on it.qq}q(h"hh#hubaubhB)q}q(h"X Simply execute this command : ::qh#hh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4K h5hh]qh>XSimply execute this command :qq}q(h"XSimply execute this command :h#hubaubhx)q}q(h"X)$ python manage.py zinnia2wp > export.xmlh#hh$h'h)h{h+}q(h}h~h0]h/]h-]h.]h2]uh4K"h5hh]qh>X)$ python manage.py zinnia2wp > export.xmlqq}q(h"Uh#hubaubhB)q}q(h"XIOnce you have the XML export, you can import it into your WordPress site.qh#hh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4K$h5hh]qh>XIOnce you have the XML export, you can import it into your WordPress site.qąq}q(h"hh#hubaubhB)q}q(h"X,http://codex.wordpress.org/Importing_Contentqh#hh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4K&h5hh]qhg)q}q(h"hh+}q(Urefurihh0]h/]h-]h.]h2]uh#hh]qh>X,http://codex.wordpress.org/Importing_ContentqЅq}q(h"Uh#hubah)houbaubeubh)q}q(h"Uh#h h$h'h)h*h+}q(h-]h.]h/]h0]qhah2]qh auh4K)h5hh]q(h7)q}q(h"XFrom Blogger to Zinniaqh#hh$h'h)h;h+}q(h-]h.]h/]h0]h2]uh4K)h5hh]qh>XFrom Blogger to Zinniaqޅq}q(h"hh#hubaubhB)q}q(h"XeIf you are comming from Blogger, you can import your posts and comments with this simple command : ::h#hh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4K+h5hh]qh>XbIf you are comming from Blogger, you can import your posts and comments with this simple command :q允q}q(h"XbIf you are comming from Blogger, you can import your posts and comments with this simple command :h#hubaubhx)q}q(h"X!$ python manage.py blogger2zinniah#hh$h'h)h{h+}q(h}h~h0]h/]h-]h.]h2]uh4K.h5hh]qh>X!$ python manage.py blogger2zinniaq셁q}q(h"Uh#hubaubhB)q}q(h"X For the options execute this. ::qh#hh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4K0h5hh]qh>XFor the options execute this.qq}q(h"XFor the options execute this.h#hubaubhx)q}q(h"X&$ python manage.py help blogger2zinniah#hh$h'h)h{h+}q(h}h~h0]h/]h-]h.]h2]uh4K2h5hh]qh>X&$ python manage.py help blogger2zinniaqq}q(h"Uh#hubaubhB)q}q(h"XzNote that you need to install the `gdata `_ package to run the importation.h#hh$h'h)hFh+}r(h-]h.]h/]h0]h2]uh4K4h5hh]r(h>X"Note that you need to install the rr}r(h"X"Note that you need to install the h#hubhg)r}r(h"X8`gdata `_h+}r(UnamehUrefurirX-http://code.google.com/p/gdata-python-client/r h0]h/]h-]h.]h2]uh#hh]r h>Xgdatar r }r (h"Uh#jubah)houbcdocutils.nodes target r)r}r(h"X0 U referencedrKh#hh)Utargetrh+}r(Urefurij h0]rhah/]h-]h.]h2]rhauh]ubh>X package to run the importation.rr}r(h"X package to run the importation.h#hubeubeubh)r}r(h"Uh#h h$h'h)h*h+}r(h-]h.]h/]h0]rhah2]rh auh4K9h5hh]r(h7)r}r (h"XFrom Feed to Zinniar!h#jh$h'h)h;h+}r"(h-]h.]h/]h0]h2]uh4K9h5hh]r#h>XFrom Feed to Zinniar$r%}r&(h"j!h#jubaubhB)r'}r((h"XIf you don't have the possibility to export your posts but have a RSS or Atom feed on your weblog, Zinnia can import it. This command is the most generic way to import content into Zinnia. Simply execute this command: ::h#jh$h'h)hFh+}r)(h-]h.]h/]h0]h2]uh4K;h5hh]r*h>XIf you don't have the possibility to export your posts but have a RSS or Atom feed on your weblog, Zinnia can import it. This command is the most generic way to import content into Zinnia. Simply execute this command:r+r,}r-(h"XIf you don't have the possibility to export your posts but have a RSS or Atom feed on your weblog, Zinnia can import it. This command is the most generic way to import content into Zinnia. Simply execute this command:h#j'ubaubhx)r.}r/(h"X5$ python manage.py feed2zinnia http://url.of/the/feedh#jh$h'h)h{h+}r0(h}h~h0]h/]h-]h.]h2]uh4K?h5hh]r1h>X5$ python manage.py feed2zinnia http://url.of/the/feedr2r3}r4(h"Uh#j.ubaubhB)r5}r6(h"X For the options execute this. ::r7h#jh$h'h)hFh+}r8(h-]h.]h/]h0]h2]uh4KAh5hh]r9h>XFor the options execute this.r:r;}r<(h"XFor the options execute this.h#j5ubaubhx)r=}r>(h"X#$ python manage.py help feed2zinniah#jh$h'h)h{h+}r?(h}h~h0]h/]h-]h.]h2]uh4KCh5hh]r@h>X#$ python manage.py help feed2zinniarArB}rC(h"Uh#j=ubaubhB)rD}rE(h"XwNote that you need to install the `feedparser `_ package to run the importation.h#jh$h'h)hFh+}rF(h-]h.]h/]h0]h2]uh4KEh5hh]rG(h>X"Note that you need to install the rHrI}rJ(h"X"Note that you need to install the h#jDubhg)rK}rL(h"X5`feedparser `_h+}rM(Unameh jX%https://code.google.com/p/feedparser/rNh0]h/]h-]h.]h2]uh#jDh]rOh>X feedparserrPrQ}rR(h"Uh#jKubah)houbj)rS}rT(h"X( jKh#jDh)jh+}rU(UrefurijNh0]rVhah/]h-]h.]h2]rWh auh]ubh>X package to run the importation.rXrY}rZ(h"X package to run the importation.h#jDubeubeubeubah"UU transformerr[NU footnote_refsr\}r]Urefnamesr^}r_Usymbol_footnotesr`]raUautofootnote_refsrb]rcUsymbol_footnote_refsrd]reU citationsrf]rgh5hU current_linerhNUtransform_messagesri]rjUreporterrkNUid_startrlKU autofootnotesrm]rnU citation_refsro}rpUindirect_targetsrq]rrUsettingsrs(cdocutils.frontend Values rtoru}rv(Ufootnote_backlinksrwKUrecord_dependenciesrxNU rfc_base_urlryUhttp://tools.ietf.org/html/rzU tracebackr{Upep_referencesr|NUstrip_commentsr}NU toc_backlinksr~UentryrU language_coderUenrU datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesrNh;NUerror_encoding_error_handlerrUbackslashreplacerUdebugrNUembed_stylesheetrUoutput_encoding_error_handlerrUstrictrU sectnum_xformrKUdump_transformsrNU docinfo_xformrKUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUO/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/import_export.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]Ufile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hhhjhhLhh hjhhhjSuUsubstitution_namesr}rh)h5h+}r(h-]h0]h/]Usourceh'h.]h2]uU footnotesr]rUrefidsr}rub.PK؍3F} 6django-blog-zinnia-v0.9/.doctrees/templatetags.doctreecdocutils.nodes document q)q}q(U nametypesq}q(X template tagsqNXget_calendar_entriesqNXget_recent_linkbacksqNXget_tagsq NXget_archives_entriesq NXget_similar_entriesq NXget_popular_entriesq NXzinnia_paginationq NXget_categoriesqNXget_recent_commentsqNXget_random_entriesqNXget_archives_entries_treeqNXget_featured_entriesqNX get_tag_cloudqNX get_gravatarqNXzinnia_breadcrumbsqNXgravatarqX get_authorsqNXget_recent_entriesqNuUsubstitution_defsq}qUparse_messagesq]qUcurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq }q!(hU template-tagsq"hUget-calendar-entriesq#hUget-recent-linkbacksq$h Uget-tagsq%h Uget-archives-entriesq&h Uget-similar-entriesq'h Uget-popular-entriesq(h Uzinnia-paginationq)hUget-categoriesq*hUget-recent-commentsq+hUget-random-entriesq,hUget-archives-entries-treeq-hUget-featured-entriesq.hU get-tag-cloudq/hU get-gravatarq0hUzinnia-breadcrumbsq1hUgravatarq2hU get-authorsq3hUget-recent-entriesq4uUchildrenq5]q6cdocutils.nodes section q7)q8}q9(U rawsourceq:UUparentq;hUsourceqq?}q@bUtagnameqAUsectionqBU attributesqC}qD(UdupnamesqE]UclassesqF]UbackrefsqG]UidsqH]qIh"aUnamesqJ]qKhauUlineqLKUdocumentqMhh5]qN(cdocutils.nodes title qO)qP}qQ(h:X Template TagsqRh;h8hhVXe{% get_random_entries %} {% get_random_entries 3 %} {% get_random_entries 3 "custom_template.html" %}r?r@}rA(h:Uh;j;ubaubeubh7)rB}rC(h:Uh;h8hhMhh5]rxhVXh{% get_popular_entries %} {% get_popular_entries 3 %} {% get_popular_entries 3 "custom_template.html" %}ryrz}r{(h:Uh;juubaubeubh7)r|}r}(h:Uh;h8h}r?(h:X h;j2ubh)r@}rA(h:XF``get_archives_entries(template="zinnia/tags/archives_entries.html")``hC}rB(hE]hF]hG]hH]hJ]uh;j2h5]rChVXBget_archives_entries(template="zinnia/tags/archives_entries.html")rDrE}rF(h:Uh;j@ubahAhubeubh_)rG}rH(h:X Examples: ::rIh;jh(h:j9h;j7ubaubh_)r?}r@(h:XP**Prototype:** ``get_tag_cloud(steps=6, template="zinnia/tags/tag_cloud.html")``rAh;j)hh;jh" "News" %} {% zinnia_breadcrumbs ">" "News" "custom_template.html" %}h;jh" "News" %} {% zinnia_breadcrumbs ">" "News" "custom_template.html" %}rHrI}rJ(h:Uh;jDubaubeubh7)rK}rL(h:Uh;h8h`_ image associated to an email, useful for comments.h;jKh`_hC}rc(UnameXGravatarUrefurirdXhttp://gravater.comrehH]hG]hE]hF]hJ]uh;jYh5]rfhVXGravatarrgrh}ri(h:Uh;jaubahAU referencerjubcdocutils.nodes target rk)rl}rm(h:X U referencedrnKh;jYhAUtargetrohC}rp(UrefurijehH]rqh2ahG]hE]hF]hJ]rrhauh5]ubhVX3 image associated to an email, useful for comments.rsrt}ru(h:X3 image associated to an email, useful for comments.h;jYubeubh_)rv}rw(h:XI**Prototype:** ``get_gravatar(email, size=80, rating='g', default=None)``rxh;jKhq?}q@(hXBuildoutqAh h9ubah!h"ubX changelogqBh)qC}qD(hUh}qE(h]h]h]h]h]h'KqFuh]qGhX CHANGELOGqHqI}qJ(hX CHANGELOGqKh hCubah!h"ubXoverviewqLh)qM}qN(hUh}qO(h]h]h]h]h]uh]qPhXDjango Blog ZinniaqQqR}qS(hXDjango Blog ZinniaqTh hMubah!h"ubXfaqqUh)qV}qW(hUh}qX(h]h]h]h]h]h'KqYuh]qZhXFrequently Asked Questionsq[q\}q](hXFrequently Asked Questionsq^h hVubah!h"ubX upgradingq_h)q`}qa(hUh}qb(h]h]h]h]h]uh]qchXUpgrading Zinniaqdqe}qf(hXUpgrading Zinniaqgh h`ubah!h"ubX templatetagsqhh)qi}qj(hUh}qk(h]h]h]h]h]h'Kqluh]qmhX Template Tagsqnqo}qp(hX Template Tagsqqh hiubah!h"ubXextending_entry_modelqrh)qs}qt(hUh}qu(h]h]h]h]h]h'Kqvuh]qwhXExtending Entry modelqxqy}qz(hXExtending Entry modelq{h hsubah!h"ubXchannelsq|h)q}}q~(hUh}q(h]h]h]h]h]h'Kquh]qhXChannelsqq}q(hXChannelsqh h}ubah!h"ubX url_shortenerqh)q}q(hUh}q(h]h]h]h]h]h'Kquh]qhX URL Shortenerqq}q(hX URL Shortenerqh hubah!h"ubXsearch_enginesqh)q}q(hUh}q(h]h]h]h]h]h'Kquh]qhXSearch Enginesqq}q(hXSearch Enginesqh hubah!h"ubXthanksqh)q}q(hUh}q(h]h]h]h]h]h'Kquh]qhXThanksqq}q(hXThanksqh hubah!h"ubXinstallqh)q}q(hUh}q(h]h]h]h]h]uh]qhX Installationqq}q(hX Installationqh hubah!h"ubX import_exportqh)q}q(hUh}q(h]h]h]h]h]h'Kquh]qhXImport / Exportqq}q(hXImport / Exportqh hubah!h"ubX contributionqh)q}q(hUh}q(h]h]h]h]h]h'Kquh]qhXContributing to Zinniaqq}q(hXContributing to Zinniaqh hubah!h"ubX configurationqh)q}q(hUh}q(h]h]h]h]h]h'Kquh]qhXAdvanced ConfigurationqDžq}q(hXAdvanced Configurationqh hubah!h"ubX compatibilityqh)q}q(hUh}q(h]h]h]h]h]h'Kquh]qhX Compatibilityqхq}q(hX Compatibilityqh hubah!h"ubXsettingsqh)q}q(hUh}q(h]h]h]h]h]h'Kquh]qhXList of settingsqۅq}q(hXList of settingsqh hubah!h"ubuU domaindataq}q(Ustdq}q(UversionqKU anonlabelsq}q(UmodindexqU py-modindexUUgenindexqhUUsearchqUsearchUuUlabelsq}q(hU py-modindexUcsphinx.locale _TranslationProxy qcsphinx.locale mygettext qU Module Indexq톁qhhqbhhUhhUIndexqqhhqbhhUhhU Search PageqqhhqbuU progoptionsq}qUobjectsq}quUc}q(h}qhKuUpyq}q(h}qUmodulesq}rhKuUjsr}r(h}rhKuUrstr}r(h}rhKuUcppr}r(h}r hKuuU glob_toctreesr h]Rr U reread_alwaysr h]Rr U doctreedirrXY/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/_build/localmedia/.doctreesrUversioning_conditionrU citationsr}hK*UsrcdirrX=/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docsrUconfigrcsphinx.config Config r)r}r(Upygments_stylerUsphinxrUhtmlhelp_basenamerUdjango-blog-zinniadocU html_themerUnaturerU master_docrUindexrU source_suffixrU.rstr U copyrightr!X2015, Fantomas42Uexclude_patternsr"]r#Ubuildr$ahU0.9r%U man_pagesr&]r'(jUdjango-blog-zinniar(X django-blog-zinnia Documentationr)]r*X Fantomas42r+aKtr,aU html_contextr-}r.(Ubitbucket_versionUv0.9r/U using_themeUuser_analytics_codeU UA-2030817-16r0jjUcurrent_versionj/U canonical_urlUUglobal_analytics_codeU UA-17997319-1jj UPRODUCTION_DOMAINUreadthedocs.orgU github_userU Fantomas42r1U new_themeUanalytics_codej0Usingle_versionUdisplay_githubU downloads]r2(UPDFUA//readthedocs.org/projects/django-blog-zinnia/downloads/pdf/v0.9/r3UHTMLUE//readthedocs.org/projects/django-blog-zinnia/downloads/htmlzip/v0.9/r4UEpubUB//readthedocs.org/projects/django-blog-zinnia/downloads/epub/v0.9/r5eU READTHEDOCSU conf_py_pathU/docs/U github_repoj(U rtd_languageXenUbitbucket_repoUNoner6Uslugj(Uapi_hostUhttps://readthedocs.orgUbitbucket_userj6Unamer7Xdjango-blog-zinniaUversions]r8(UlatestU /en/latest/r9UdevelopU /en/develop/r:Uv0.13U /en/v0.13/r;Uv0.12.3U /en/v0.12.3/r<Uv0.11.2U /en/v0.11.2/r=Uv0.10.1U /en/v0.10.1/r>j/U /en/v0.9/r?Uv0.8.1U /en/v0.8.1/r@eUgithub_versionj/Udisplay_bitbucketUcommitU(668effeb29fc71b4a0dc22439483a66e84a9d474U MEDIA_URLrAUhttps://media.readthedocs.org/uUtemplates_pathrB]rC(UA/home/docs/checkouts/readthedocs.org/readthedocs/templates/sphinxrDU _templatesrEeUlatex_documentsrF]rG(UindexUdjango-blog-zinnia.texj)j+UmanualtrHaUhtml_static_pathrI]rJ(U_staticrKUI/home/docs/checkouts/readthedocs.org/readthedocs/templates/sphinx/_staticrLeUhtml_theme_pathrM]rN(U_themesrOjDeUlanguagerPXenrQU overridesrR}rSjPjQsUprojectrTXDjango Blog ZinniaU extensionsrU]rV(Usphinx.ext.autodocrWUreadthedocs_ext.readthedocsrXeUreleaserYj%UsetuprZNubUmetadatar[}r\(h }h#}h.}h8}hB}hL}hU}h_}hh}hr}h|}h}h}h}h}h}h}h}h}h}uUversionchangesr]}Utoc_num_entriesr^}r_(h Kh#Kh.Kh8KhBKhLKhUK h_KhhKhrKh|KhKhKhKhKhKhKhK hKhK+uUimagesr`h)rah]RrbbUnumbered_toctreesrch]rdh aRreU found_docsrfh]rg(h h#h.h8hhLhBh_hhhrhh|hhUhhhhhheRrhU longtitlesri}rj(h hh#h$h.h/h8h9hBhChLhMhUhVh_h`hhhihrhsh|h}hhhhhhhhhhhhhhhhhhuU dependenciesrk}rlhLh]rmX ../README.rstrnaRrosUtoctree_includesrp}rqh ]rr(XoverviewrsXinstallrtX upgradingruX configurationrvXchannelsrwXsearch_enginesrxX url_shortenerryX spam_checkerrzXextending_entry_modelr{X import_exportr|X contributionr}Xtestsr~XbuildoutrXsettingsrX templatetagsrXfaqrX compatibilityrXthanksrX changelogresU temp_datar}Utocsr}r(h cdocutils.nodes bullet_list r)r}r(hUh}r(h]h]h]h]h]uh]r(cdocutils.nodes list_item r)r}r(hUh}r(h]h]h]h]h]uh jh]r(csphinx.addnodes compact_paragraph r)r}r(hUh}r(h]h]h]h]h]uh jh]rcdocutils.nodes reference r)r}r(hUh}r(U anchornameUUrefurih h]h]h]h]h]Uinternaluh jh]rhX.Welcome to Django-Blog-Zinnia's documentation!rr}r(hhh jubah!U referencerubah!Ucompact_paragraphrubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(csphinx.addnodes toctree r)r}r(hUh}r(UnumberedKUparenth U titlesonlyUglobh]h]h]h]h]Uentries]rX PresentationjsraUhiddenUmaxdepthJU includefiles]rjsaU includehiddenuh jh]h!Utoctreerubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#getting-startedUrefurih h]h]h]h]h]Uinternaluh jh]rhXGetting Startedrr}r(hXGetting Startedh jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(UnumberedKUparenth U titlesonlyUglobh]h]h]h]h]Uentries]r(NjtrNjureUhiddenUmaxdepthJU includefiles]r(jtjueU includehiddenuh jh]h!jubah!U bullet_listrubeh!U list_itemrubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#advanced-usageUrefurih h]h]h]h]h]Uinternaluh jh]rhXAdvanced Usagerr}r(hXAdvanced Usageh jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(UnumberedMUparenth U titlesonlyUglobh]h]h]h]h]Uentries]r(NjvrNjwrNjxrNjyrNjzrNj{rNj|reUhiddenUmaxdepthKU includefiles]r(jvjwjxjyjzj{j|eU includehiddenuh jh]h!jubah!jubeh!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU #developmentUrefurih h]h]h]h]h]Uinternaluh jh]rhX Developmentrr}r(hX Developmenth jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(UnumberedMUparenth U titlesonlyUglobh]h]h]h]h]Uentries]r(Nj}rNj~rNjreUhiddenUmaxdepthKU includefiles]r(j}j~jeU includehiddenuh jh]h!jubah!jubeh!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r (hUh}r (h]h]h]h]h]uh jh]r j)r }r (hUh}r(U anchornameU #referencesUrefurih h]h]h]h]h]Uinternaluh jh]rhX Referencesrr}r(hX Referencesh j ubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(UnumberedMUparenth U titlesonlyUglobh]h]h]h]h]Uentries]r(NjrNjreUhiddenUmaxdepthKU includefiles]r(jjeU includehiddenuh jh]h!jubah!jubeh!jubj)r}r(hUh}r (h]h]h]h]h]uh jh]r!(j)r"}r#(hUh}r$(h]h]h]h]h]uh jh]r%j)r&}r'(hUh}r((U anchornameU#notesUrefurih h]h]h]h]h]Uinternaluh j"h]r)hXNotesr*r+}r,(hXNotesh j&ubah!jubah!jubj)r-}r.(hUh}r/(h]h]h]h]h]uh jh]r0j)r1}r2(hUh}r3(UnumberedMUparenth U titlesonlyUglobh]h]h]h]h]Uentries]r4(Njr5Njr6Njr7Njr8eUhiddenUmaxdepthKU includefiles]r9(jjjjeU includehiddenuh j-h]h!jubah!jubeh!jubj)r:}r;(hUh}r<(h]h]h]h]h]uh jh]r=j)r>}r?(hUh}r@(h]h]h]h]h]uh j:h]rAj)rB}rC(hUh}rD(U anchornameU#relatedUrefurih h]h]h]h]h]Uinternaluh j>h]rEhXRelatedrFrG}rH(hXRelatedh jBubah!jubah!jubah!jubeh!jubeh!jubj)rI}rJ(hUh}rK(h]h]h]h]h]uh jh]rLj)rM}rN(hUh}rO(h]h]h]h]h]uh jIh]rPj)rQ}rR(hUh}rS(U anchornameU#indices-and-tablesUrefurih h]h]h]h]h]Uinternaluh jMh]rThXIndices and tablesrUrV}rW(hXIndices and tablesh jQubah!jubah!jubah!jubeh!jubh#j)rX}rY(hUh}rZ(h]h]h]h]h]uh]r[j)r\}r](hUh}r^(h]h]h]h]h]uh jXh]r_(j)r`}ra(hUh}rb(h]h]h]h]h]uh j\h]rcj)rd}re(hUh}rf(U anchornameUUrefurih#h]h]h]h]h]h'h(Uinternaluh j`h]rghXTesting and Coveragerhri}rj(hh-h jdubah!jubah!jubj)rk}rl(hUh}rm(h]h]h]h]h]uh j\h]rn(j)ro}rp(hUh}rq(h]h]h]h]h]uh jkh]rrj)rs}rt(hUh}ru(h]h]h]h]h]uh joh]rvj)rw}rx(hUh}ry(U anchornameU#launching-the-test-suiterzUrefurih#h]h]h]h]h]h'KKr{Uinternaluh jsh]r|hXLaunching the test suiter}r~}r(hXLaunching the test suiterh jwubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jkh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU #coveragerUrefurih#h]h]h]h]h]h'KKrUinternaluh jh]rhXCoveragerr}r(hXCoveragerh jubah!jubah!jubah!jubeh!jubeh!jubah!jubh.j)r}r(hUh}r(h]h]h]h]h]uh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUUrefurih.h]h]h]h]h]h'h2Uinternaluh jh]rhX Spam Checkerrr}r(hh7h jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU&#writing-your-own-spam-checker-backendrUrefurih.h]h]h]h]h]h'KKrUinternaluh jh]rhX%Writing your own spam checker backendrr}r(hX%Writing your own spam checker backendrh jubah!jubah!jubah!jubah!jubeh!jubah!jubh8j)r}r(hUh}r(h]h]h]h]h]uh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUUrefurih8h]h]h]h]h]h'hj)r?}r@(hUh}rA(h]h]h]h]h]uh j;h]rBj)rC}rD(hUh}rE(U anchornameU #and-beforerFUrefurihBh]h]h]h]h]h'KKrGUinternaluh j?h]rHhX0.4 and beforerIrJ}rK(hX0.4 and beforeh jCubah!jubah!jubah!jubeh!jubeh!jubah!jubhLj)rL}rM(hUh}rN(h]h]h]h]h]uh]rOj)rP}rQ(hUh}rR(h]h]h]h]h]uh jLh]rS(j)rT}rU(hUh}rV(h]h]h]h]h]uh jPh]rWj)rX}rY(hUh}rZ(U anchornameUUrefurihLh]h]h]h]h]Uinternaluh jTh]r[hXDjango Blog Zinniar\r]}r^(hhTh jXubah!jubah!jubj)r_}r`(hUh}ra(h]h]h]h]h]uh jPh]rb(j)rc}rd(hUh}re(h]h]h]h]h]uh j_h]rfj)rg}rh(hUh}ri(h]h]h]h]h]uh jch]rjj)rk}rl(hUh}rm(U anchornameU #featuresUrefurihLh]h]h]h]h]Uinternaluh jgh]rnhXFeaturesrorp}rq(hXFeaturesh jkubah!jubah!jubah!jubj)rr}rs(hUh}rt(h]h]h]h]h]uh j_h]ruj)rv}rw(hUh}rx(h]h]h]h]h]uh jrh]ryj)rz}r{(hUh}r|(U anchornameU #examplesUrefurihLh]h]h]h]h]Uinternaluh jvh]r}hXExamplesr~r}r(hXExamplesh jzubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh j_h]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#online-resourcesUrefurihLh]h]h]h]h]Uinternaluh jh]rhXOnline resourcesrr}r(hXOnline resourcesh jubah!jubah!jubah!jubeh!jubeh!jubah!jubhUj)r}r(hUh}r(h]h]h]h]h]uh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUUrefurihUh]h]h]h]h]h'hYUinternaluh jh]rhXFrequently Asked Questionsrr}r(hh^h jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU #templatesrUrefurihUh]h]h]h]h]h'KKrUinternaluh jh]rhX Templatesrr}r(hX Templatesrh jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU6#the-templates-does-not-fit-to-my-wishes-what-can-i-dorUrefurihUh]h]h]h]h]h'KKKrUinternaluh jh]rhX8The templates does not fit to my wishes. What can I do ?rr}r(hX8The templates does not fit to my wishes. What can I do ?rh jubah!jubah!jubah!jubah!jubeh!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU #commentsrUrefurihUh]h]h]h]h]h'KKrUinternaluh jh]rhXCommentsrr}r(hXCommentsrh jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUN#is-it-possible-to-have-a-better-comment-system-with-reply-feature-for-examplerUrefurihUh]h]h]h]h]h'KKKrUinternaluh jh]rhXPIs it possible to have a better comment system, with reply feature for example ?rr}r(hXPIs it possible to have a better comment system, with reply feature for example ?rh jubah!jubah!jubah!jubah!jubeh!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#editionrUrefurihUh]h]h]h]h]h'KKrUinternaluh jh]rhXEditionrr}r(hXEditionrh jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh jh]r j)r }r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(U anchornameUj#i-want-to-write-my-entries-in-markdown-restructuredtext-or-any-lightweight-markup-language-is-it-possiblerUrefurihUh]h]h]h]h]h'KKKrUinternaluh jh]r(hXI want to write my entries in rr}r(hXI want to write my entries in rh jubhXMarkDownrr }r!(hUh jubhX, r"r#}r$(hX, r%h jubhXRestructuredTextr&r'}r((hUh jubhX5 or any lightweight markup language, is it possible ?r)r*}r+(hX5 or any lightweight markup language, is it possible ?r,h jubeh!jubah!jubah!jubah!jubeh!jubj)r-}r.(hUh}r/(h]h]h]h]h]uh jh]r0(j)r1}r2(hUh}r3(h]h]h]h]h]uh j-h]r4j)r5}r6(hUh}r7(U anchornameU#authorsr8UrefurihUh]h]h]h]h]h'KKr9Uinternaluh j1h]r:hXAuthorsr;r<}r=(hXAuthorsr>h j5ubah!jubah!jubj)r?}r@(hUh}rA(h]h]h]h]h]uh j-h]rBj)rC}rD(hUh}rE(h]h]h]h]h]uh j?h]rFj)rG}rH(hUh}rI(h]h]h]h]h]uh jCh]rJj)rK}rL(hUh}rM(U anchornameU=#is-zinnia-able-to-allow-multiple-users-to-edit-it-s-own-blogrNUrefurihUh]h]h]h]h]h'KKKrOUinternaluh jGh]rPhX>Is Zinnia able to allow multiple users to edit it's own blog ?rQrR}rS(hX>Is Zinnia able to allow multiple users to edit it's own blog ?rTh jKubah!jubah!jubah!jubah!jubeh!jubj)rU}rV(hUh}rW(h]h]h]h]h]uh jh]rX(j)rY}rZ(hUh}r[(h]h]h]h]h]uh jUh]r\j)r]}r^(hUh}r_(U anchornameU#imagesr`UrefurihUh]h]h]h]h]h'KKraUinternaluh jYh]rbhXImagesrcrd}re(hXImagesrfh j]ubah!jubah!jubj)rg}rh(hUh}ri(h]h]h]h]h]uh jUh]rj(j)rk}rl(hUh}rm(h]h]h]h]h]uh jgh]rnj)ro}rp(hUh}rq(h]h]h]h]h]uh jkh]rrj)rs}rt(hUh}ru(U anchornameU5#how-can-i-use-the-image-field-for-fitting-to-my-skinrvUrefurihUh]h]h]h]h]h'KKKrwUinternaluh joh]rxhX6How can I use the image field for fitting to my skin ?ryrz}r{(hX6How can I use the image field for fitting to my skin ?r|h jsubah!jubah!jubah!jubj)r}}r~(hUh}r(h]h]h]h]h]uh jgh]rj)r}r(hUh}r(h]h]h]h]h]uh j}h]rj)r}r(hUh}r(U anchornameU2#i-want-an-image-gallery-in-my-posts-what-can-i-dorUrefurihUh]h]h]h]h]h'KKKrUinternaluh jh]rhX4I want an image gallery in my posts, what can I do ?rr}r(hX4I want an image gallery in my posts, what can I do ?rh jubah!jubah!jubah!jubeh!jubeh!jubeh!jubeh!jubah!jubh_j)r}r(hUh}r(h]h]h]h]h]uh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUUrefurih_h]h]h]h]h]Uinternaluh jh]rhXUpgrading Zinniarr}r(hhgh jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#dumpingUrefurih_h]h]h]h]h]Uinternaluh jh]rhXDumpingrr}r(hXDumpingrh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#preparing-the-databaseUrefurih_h]h]h]h]h]Uinternaluh jh]rhXPreparing the databaserr}r(hXPreparing the databaserh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#update-zinnia-s-codeUrefurih_h]h]h]h]h]Uinternaluh jh]rhXUpdate Zinnia's coderr}r(hXUpdate Zinnia's coderh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#update-the-databaseUrefurih_h]h]h]h]h]Uinternaluh jh]rhXUpdate the databaserr}r(hXUpdate the databaserh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU #check-listUrefurih_h]h]h]h]h]Uinternaluh jh]rhX Check listrr}r(hX Check listrh jubah!jubah!jubah!jubeh!jubeh!jubah!jubhhj)r}r(hUh}r(h]h]h]h]h]uh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUUrefurihhh]h]h]h]h]h'hlUinternaluh jh]rhX Template Tagsrr}r(hhqh jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh jh]r (j)r }r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(U anchornameU#get-recent-entriesrUrefurihhh]h]h]h]h]h'KKrUinternaluh jh]rhXget_recent_entriesrr}r(hXget_recent_entriesrh jubah!jubah!jubah!jubj)r}r (hUh}r!(h]h]h]h]h]uh j h]r"j)r#}r$(hUh}r%(h]h]h]h]h]uh jh]r&j)r'}r((hUh}r)(U anchornameU#get-featured-entriesr*Urefurihhh]h]h]h]h]h'KKr+Uinternaluh j#h]r,hXget_featured_entriesr-r.}r/(hXget_featured_entriesr0h j'ubah!jubah!jubah!jubj)r1}r2(hUh}r3(h]h]h]h]h]uh j h]r4j)r5}r6(hUh}r7(h]h]h]h]h]uh j1h]r8j)r9}r:(hUh}r;(U anchornameU#get-random-entriesr<Urefurihhh]h]h]h]h]h'KKr=Uinternaluh j5h]r>hXget_random_entriesr?r@}rA(hXget_random_entriesrBh j9ubah!jubah!jubah!jubj)rC}rD(hUh}rE(h]h]h]h]h]uh j h]rFj)rG}rH(hUh}rI(h]h]h]h]h]uh jCh]rJj)rK}rL(hUh}rM(U anchornameU#get-popular-entriesrNUrefurihhh]h]h]h]h]h'KKrOUinternaluh jGh]rPhXget_popular_entriesrQrR}rS(hXget_popular_entriesrTh jKubah!jubah!jubah!jubj)rU}rV(hUh}rW(h]h]h]h]h]uh j h]rXj)rY}rZ(hUh}r[(h]h]h]h]h]uh jUh]r\j)r]}r^(hUh}r_(U anchornameU#get-similar-entriesr`Urefurihhh]h]h]h]h]h'KKraUinternaluh jYh]rbhXget_similar_entriesrcrd}re(hXget_similar_entriesrfh j]ubah!jubah!jubah!jubj)rg}rh(hUh}ri(h]h]h]h]h]uh j h]rjj)rk}rl(hUh}rm(h]h]h]h]h]uh jgh]rnj)ro}rp(hUh}rq(U anchornameU#get-calendar-entriesrrUrefurihhh]h]h]h]h]h'KKrsUinternaluh jkh]rthXget_calendar_entriesrurv}rw(hXget_calendar_entriesrxh joubah!jubah!jubah!jubj)ry}rz(hUh}r{(h]h]h]h]h]uh j h]r|j)r}}r~(hUh}r(h]h]h]h]h]uh jyh]rj)r}r(hUh}r(U anchornameU#get-archives-entriesrUrefurihhh]h]h]h]h]h'KKrUinternaluh j}h]rhXget_archives_entriesrr}r(hXget_archives_entriesrh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#get-archives-entries-treerUrefurihhh]h]h]h]h]h'KKrUinternaluh jh]rhXget_archives_entries_treerr}r(hXget_archives_entries_treerh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU #get-authorsrUrefurihhh]h]h]h]h]h'KK rUinternaluh jh]rhX get_authorsrr}r(hX get_authorsrh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#get-categoriesrUrefurihhh]h]h]h]h]h'KK rUinternaluh jh]rhXget_categoriesrr}r(hXget_categoriesrh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU #get-tagsrUrefurihhh]h]h]h]h]h'KK rUinternaluh jh]rhXget_tagsrr}r(hXget_tagsrh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#get-tag-cloudrUrefurihhh]h]h]h]h]h'KK rUinternaluh jh]rhX get_tag_cloudrr}r(hX get_tag_cloudrh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#get-recent-commentsrUrefurihhh]h]h]h]h]h'KK rUinternaluh jh]rhXget_recent_commentsrr}r(hXget_recent_commentsrh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#get-recent-linkbacksrUrefurihhh]h]h]h]h]h'KKrUinternaluh jh]rhXget_recent_linkbacksrr}r(hXget_recent_linkbacksrh jubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(U anchornameU#zinnia-paginationrUrefurihhh]h]h]h]h]h'KKrUinternaluh j h]rhXzinnia_paginationrr}r(hXzinnia_paginationrh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r (hUh}r!(h]h]h]h]h]uh jh]r"j)r#}r$(hUh}r%(U anchornameU#zinnia-breadcrumbsr&Urefurihhh]h]h]h]h]h'KKr'Uinternaluh jh]r(hXzinnia_breadcrumbsr)r*}r+(hXzinnia_breadcrumbsr,h j#ubah!jubah!jubah!jubj)r-}r.(hUh}r/(h]h]h]h]h]uh j h]r0j)r1}r2(hUh}r3(h]h]h]h]h]uh j-h]r4j)r5}r6(hUh}r7(U anchornameU #get-gravatarr8Urefurihhh]h]h]h]h]h'KKr9Uinternaluh j1h]r:hX get_gravatarr;r<}r=(hX get_gravatarr>h j5ubah!jubah!jubah!jubeh!jubeh!jubah!jubhrj)r?}r@(hUh}rA(h]h]h]h]h]uh]rBj)rC}rD(hUh}rE(h]h]h]h]h]uh j?h]rFj)rG}rH(hUh}rI(h]h]h]h]h]uh jCh]rJj)rK}rL(hUh}rM(U anchornameUUrefurihrh]h]h]h]h]h'hvUinternaluh jGh]rNhXExtending Entry modelrOrP}rQ(hh{h jKubah!jubah!jubah!jubah!jubh|j)rR}rS(hUh}rT(h]h]h]h]h]uh]rUj)rV}rW(hUh}rX(h]h]h]h]h]uh jRh]rYj)rZ}r[(hUh}r\(h]h]h]h]h]uh jVh]r]j)r^}r_(hUh}r`(U anchornameUUrefurih|h]h]h]h]h]h'hUinternaluh jZh]rahXChannelsrbrc}rd(hhh j^ubah!jubah!jubah!jubah!jubhj)re}rf(hUh}rg(h]h]h]h]h]uh]rhj)ri}rj(hUh}rk(h]h]h]h]h]uh jeh]rl(j)rm}rn(hUh}ro(h]h]h]h]h]uh jih]rpj)rq}rr(hUh}rs(U anchornameUUrefurihh]h]h]h]h]h'hUinternaluh jmh]rthX URL Shortenerrurv}rw(hhh jqubah!jubah!jubj)rx}ry(hUh}rz(h]h]h]h]h]uh jih]r{j)r|}r}(hUh}r~(h]h]h]h]h]uh jxh]rj)r}r(hUh}r(h]h]h]h]h]uh j|h]rj)r}r(hUh}r(U anchornameU'#writing-your-own-url-shortener-backendrUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhX&Writing your own URL shortener backendrr}r(hX&Writing your own URL shortener backendrh jubah!jubah!jubah!jubah!jubeh!jubah!jubhj)r}r(hUh}r(h]h]h]h]h]uh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUUrefurihh]h]h]h]h]h'hUinternaluh jh]rhXSearch Enginesrr}r(hhh jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#basic-search-enginerUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhXBasic Search Enginerr}r(hXBasic Search Enginerh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#advanced-search-enginerUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhXAdvanced Search Enginerr}r(hXAdvanced Search Enginerh jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#query-examplesrUrefurihh]h]h]h]h]h'KKKrUinternaluh jh]rhXQuery examplesrr}r(hXQuery examplesrh jubah!jubah!jubah!jubah!jubeh!jubeh!jubeh!jubah!jubhj)r}r(hUh}r(h]h]h]h]h]uh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUUrefurihh]h]h]h]h]h'hUinternaluh jh]rhXThanksrr}r(hhh jubah!jubah!jubah!jubah!jubhj)r}r(hUh}r(h]h]h]h]h]uh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUUrefurihh]h]h]h]h]Uinternaluh jh]rhX Installationrr}r(hhh jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r }r (hUh}r (h]h]h]h]h]uh jh]r j)r }r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(U anchornameU #dependenciesUrefurihh]h]h]h]h]Uinternaluh j h]rhX Dependenciesrr}r(hX Dependenciesh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r }r!(hUh}r"(U anchornameU#getting-the-codeUrefurihh]h]h]h]h]Uinternaluh jh]r#hXGetting the coder$r%}r&(hXGetting the codeh j ubah!jubah!jubah!jubj)r'}r((hUh}r)(h]h]h]h]h]uh jh]r*j)r+}r,(hUh}r-(h]h]h]h]h]uh j'h]r.j)r/}r0(hUh}r1(U anchornameU #applicationsUrefurihh]h]h]h]h]Uinternaluh j+h]r2hX Applicationsr3r4}r5(hX Applicationsh j/ubah!jubah!jubah!jubj)r6}r7(hUh}r8(h]h]h]h]h]uh jh]r9j)r:}r;(hUh}r<(h]h]h]h]h]uh j6h]r=j)r>}r?(hUh}r@(U anchornameU#template-context-processorsUrefurihh]h]h]h]h]Uinternaluh j:h]rAhXTemplate Context ProcessorsrBrC}rD(hXTemplate Context Processorsh j>ubah!jubah!jubah!jubj)rE}rF(hUh}rG(h]h]h]h]h]uh jh]rHj)rI}rJ(hUh}rK(h]h]h]h]h]uh jEh]rLj)rM}rN(hUh}rO(U anchornameU #media-filesUrefurihh]h]h]h]h]Uinternaluh jIh]rPhX Media FilesrQrR}rS(hX Media Filesh jMubah!jubah!jubah!jubj)rT}rU(hUh}rV(h]h]h]h]h]uh jh]rWj)rX}rY(hUh}rZ(h]h]h]h]h]uh jTh]r[j)r\}r](hUh}r^(U anchornameU#urlsUrefurihh]h]h]h]h]Uinternaluh jXh]r_hXURLsr`ra}rb(hXURLsh j\ubah!jubah!jubah!jubeh!jubeh!jubah!jubhj)rc}rd(hUh}re(h]h]h]h]h]uh]rfj)rg}rh(hUh}ri(h]h]h]h]h]uh jch]rj(j)rk}rl(hUh}rm(h]h]h]h]h]uh jgh]rnj)ro}rp(hUh}rq(U anchornameUUrefurihh]h]h]h]h]h'hUinternaluh jkh]rrhXImport / Exportrsrt}ru(hhh joubah!jubah!jubj)rv}rw(hUh}rx(h]h]h]h]h]uh jgh]ry(j)rz}r{(hUh}r|(h]h]h]h]h]uh jvh]r}j)r~}r(hUh}r(h]h]h]h]h]uh jzh]rj)r}r(hUh}r(U anchornameU#from-wordpress-to-zinniarUrefurihh]h]h]h]h]h'KKrUinternaluh j~h]rhXFrom WordPress to Zinniarr}r(hXFrom WordPress to Zinniah jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jvh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#from-zinnia-to-wordpressrUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhXFrom Zinnia to WordPressrr}r(hXFrom Zinnia to WordPressh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jvh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#from-blogger-to-zinniarUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhXFrom Blogger to Zinniarr}r(hXFrom Blogger to Zinniah jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jvh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#from-feed-to-zinniarUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhXFrom Feed to Zinniarr}r(hXFrom Feed to Zinniah jubah!jubah!jubah!jubeh!jubeh!jubah!jubhj)r}r(hUh}r(h]h]h]h]h]uh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUUrefurihh]h]h]h]h]h'hUinternaluh jh]rhXContributing to Zinniarr}r(hhh jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU #writing-coderUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhX Writing coderr}r(hX Writing codeh jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r(j)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#processrUrefurihh]h]h]h]h]h'KKKrUinternaluh jh]rhXProcessrr}r(hXProcessh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU #conventionsrUrefurihh]h]h]h]h]h'KKKrUinternaluh jh]rhX Conventionsr r }r (hX Conventionsh jubah!jubah!jubah!jubj)r }r (hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh j h]rj)r}r(hUh}r(U anchornameU#testsrUrefurihh]h]h]h]h]h'KKKrUinternaluh jh]rhXTestsrr}r(hXTestsh jubah!jubah!jubah!jubeh!jubeh!jubj)r}r(hUh}r(h]h]h]h]h]uh jh]r j)r!}r"(hUh}r#(h]h]h]h]h]uh jh]r$j)r%}r&(hUh}r'(U anchornameU#writing-documentationr(Urefurihh]h]h]h]h]h'KKr)Uinternaluh j!h]r*hXWriting documentationr+r,}r-(hXWriting documentationh j%ubah!jubah!jubah!jubj)r.}r/(hUh}r0(h]h]h]h]h]uh jh]r1j)r2}r3(hUh}r4(h]h]h]h]h]uh j.h]r5j)r6}r7(hUh}r8(U anchornameU #translationsr9Urefurihh]h]h]h]h]h'KKr:Uinternaluh j2h]r;hX Translationsr<r=}r>(hX Translationsh j6ubah!jubah!jubah!jubeh!jubeh!jubah!jubhj)r?}r@(hUh}rA(h]h]h]h]h]uh]rBj)rC}rD(hUh}rE(h]h]h]h]h]uh j?h]rF(j)rG}rH(hUh}rI(h]h]h]h]h]uh jCh]rJj)rK}rL(hUh}rM(U anchornameUUrefurihh]h]h]h]h]h'hUinternaluh jGh]rNhXAdvanced ConfigurationrOrP}rQ(hhh jKubah!jubah!jubj)rR}rS(hUh}rT(h]h]h]h]h]uh jCh]rU(j)rV}rW(hUh}rX(h]h]h]h]h]uh jRh]rYj)rZ}r[(hUh}r\(h]h]h]h]h]uh jVh]r]j)r^}r_(hUh}r`(U anchornameU #sitemapsraUrefurihh]h]h]h]h]h'KKrbUinternaluh jZh]rchXSitemapsrdre}rf(hXSitemapsh j^ubah!jubah!jubah!jubj)rg}rh(hUh}ri(h]h]h]h]h]uh jRh]rjj)rk}rl(hUh}rm(h]h]h]h]h]uh jgh]rnj)ro}rp(hUh}rq(U anchornameU#akismet-anti-spamrrUrefurihh]h]h]h]h]h'KKrsUinternaluh jkh]rthXAkismet Anti-Spamrurv}rw(hXAkismet Anti-Spamh joubah!jubah!jubah!jubj)rx}ry(hUh}rz(h]h]h]h]h]uh jRh]r{j)r|}r}(hUh}r~(h]h]h]h]h]uh jxh]rj)r}r(hUh}r(U anchornameU#typepad-anti-spamrUrefurihh]h]h]h]h]h'KKrUinternaluh j|h]rhXTypePad Anti-Spamrr}r(hXTypePad Anti-Spamh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jRh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#bit-lyrUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhXBit.lyrr}r(hXBit.lyh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jRh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#twitterrUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhXTwitterrr}r(hXTwitterh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jRh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU #django-cmsrUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhX Django-CMSrr}r(hX Django-CMSh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jRh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#tinymcerUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhXTinyMCErr}r(hXTinyMCEh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jRh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#markup-languagesrUrefurihh]h]h]h]h]h'KKrUinternaluh jh]rhXMarkup languagesrr}r(hXMarkup languagesh jubah!jubah!jubah!jubj)r}r(hUh}r(h]h]h]h]h]uh jRh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameU#xml-rpcrUrefurihh]h]h]h]h]h'KK rUinternaluh jh]rhXXML-RPCrr}r(hXXML-RPCh jubah!jubah!jubah!jubeh!jubeh!jubah!jubhj)r}r(hUh}r(h]h]h]h]h]uh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(h]h]h]h]h]uh jh]rj)r}r(hUh}r(U anchornameUUrefurihh]h]h]h]h]h'hUinternaluh jh]rhX Compatibilityrr }r (hhh jubah!jubah!jubah!jubah!jubhj)r }r (hUh}r (h]h]h]h]h]uh]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameUUrefurihh]h]h]h]h]h'hUinternaluh j h]r hXList of settingsr r }r (hhh j ubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r! }r" (hUh}r# (U anchornameU#entryr$ Urefurihh]h]h]h]h]h'KKr% Uinternaluh j h]r& hXEntryr' r( }r) (hXEntryh j! ubah!jubah!jubj)r* }r+ (hUh}r, (h]h]h]h]h]uh j h]r- (j)r. }r/ (hUh}r0 (h]h]h]h]h]uh j* h]r1 j)r2 }r3 (hUh}r4 (h]h]h]h]h]uh j. h]r5 j)r6 }r7 (hUh}r8 (U anchornameU#zinnia-entry-templatesr9 Urefurihh]h]h]h]h]h'KKKr: Uinternaluh j2 h]r; hXZINNIA_ENTRY_TEMPLATESr< r= }r> (hXZINNIA_ENTRY_TEMPLATESh j6 ubah!jubah!jubah!jubj)r? }r@ (hUh}rA (h]h]h]h]h]uh j* h]rB j)rC }rD (hUh}rE (h]h]h]h]h]uh j? h]rF j)rG }rH (hUh}rI (U anchornameU#zinnia-entry-base-modelrJ Urefurihh]h]h]h]h]h'KKKrK Uinternaluh jC h]rL hXZINNIA_ENTRY_BASE_MODELrM rN }rO (hXZINNIA_ENTRY_BASE_MODELh jG ubah!jubah!jubah!jubj)rP }rQ (hUh}rR (h]h]h]h]h]uh j* h]rS j)rT }rU (hUh}rV (h]h]h]h]h]uh jP h]rW j)rX }rY (hUh}rZ (U anchornameU#zinnia-upload-tor[ Urefurihh]h]h]h]h]h'KKKr\ Uinternaluh jT h]r] hXZINNIA_UPLOAD_TOr^ r_ }r` (hXZINNIA_UPLOAD_TOh jX ubah!jubah!jubah!jubeh!jubeh!jubj)ra }rb (hUh}rc (h]h]h]h]h]uh j h]rd (j)re }rf (hUh}rg (h]h]h]h]h]uh ja h]rh j)ri }rj (hUh}rk (U anchornameU#editionrl Urefurihh]h]h]h]h]h'KKrm Uinternaluh je h]rn hXEditionro rp }rq (hXEditionh ji ubah!jubah!jubj)rr }rs (hUh}rt (h]h]h]h]h]uh ja h]ru (j)rv }rw (hUh}rx (h]h]h]h]h]uh jr h]ry j)rz }r{ (hUh}r| (h]h]h]h]h]uh jv h]r} j)r~ }r (hUh}r (U anchornameU#zinnia-markup-languager Urefurihh]h]h]h]h]h'KKKr Uinternaluh jz h]r hXZINNIA_MARKUP_LANGUAGEr r }r (hXZINNIA_MARKUP_LANGUAGEh j~ ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh jr h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-markdown-extensionsr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_MARKDOWN_EXTENSIONSr r }r (hXZINNIA_MARKDOWN_EXTENSIONSh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh jr h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-wysiwygr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_WYSIWYGr r }r (hXZINNIA_WYSIWYGh j ubah!jubah!jubah!jubeh!jubeh!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#viewsr Urefurihh]h]h]h]h]h'KKr Uinternaluh j h]r hXViewsr r }r (hXViewsh j ubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-paginationr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_PAGINATIONr r }r (hXZINNIA_PAGINATIONh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-allow-emptyr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_ALLOW_EMPTYr r }r (hXZINNIA_ALLOW_EMPTYh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-allow-futurer Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_ALLOW_FUTUREr r }r (hXZINNIA_ALLOW_FUTUREh j ubah!jubah!jubah!jubeh!jubeh!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#feedsr Urefurihh]h]h]h]h]h'KKr Uinternaluh j h]r hXFeedsr r }r (hXFeedsh j ubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-feeds-formatr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_FEEDS_FORMATr r }r (hXZINNIA_FEEDS_FORMATh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r! (U anchornameU#zinnia-feeds-max-itemsr" Urefurihh]h]h]h]h]h'KKKr# Uinternaluh j h]r$ hXZINNIA_FEEDS_MAX_ITEMSr% r& }r' (hXZINNIA_FEEDS_MAX_ITEMSh j ubah!jubah!jubah!jubeh!jubeh!jubj)r( }r) (hUh}r* (h]h]h]h]h]uh j h]r+ (j)r, }r- (hUh}r. (h]h]h]h]h]uh j( h]r/ j)r0 }r1 (hUh}r2 (U anchornameU#urlsr3 Urefurihh]h]h]h]h]h'KKr4 Uinternaluh j, h]r5 hXURLsr6 r7 }r8 (hXURLsh j0 ubah!jubah!jubj)r9 }r: (hUh}r; (h]h]h]h]h]uh j( h]r< (j)r= }r> (hUh}r? (h]h]h]h]h]uh j9 h]r@ j)rA }rB (hUh}rC (h]h]h]h]h]uh j= h]rD j)rE }rF (hUh}rG (U anchornameU#zinnia-protocolrH Urefurihh]h]h]h]h]h'KKKrI Uinternaluh jA h]rJ hXZINNIA_PROTOCOLrK rL }rM (hXZINNIA_PROTOCOLh jE ubah!jubah!jubah!jubj)rN }rO (hUh}rP (h]h]h]h]h]uh j9 h]rQ j)rR }rS (hUh}rT (h]h]h]h]h]uh jN h]rU j)rV }rW (hUh}rX (U anchornameU#zinnia-media-urlrY Urefurihh]h]h]h]h]h'KKKrZ Uinternaluh jR h]r[ hXZINNIA_MEDIA_URLr\ r] }r^ (hXZINNIA_MEDIA_URLh jV ubah!jubah!jubah!jubeh!jubeh!jubj)r_ }r` (hUh}ra (h]h]h]h]h]uh j h]rb (j)rc }rd (hUh}re (h]h]h]h]h]uh j_ h]rf j)rg }rh (hUh}ri (U anchornameU#comment-moderationrj Urefurihh]h]h]h]h]h'KKrk Uinternaluh jc h]rl hXComment moderationrm rn }ro (hXComment moderationh jg ubah!jubah!jubj)rp }rq (hUh}rr (h]h]h]h]h]uh j_ h]rs (j)rt }ru (hUh}rv (h]h]h]h]h]uh jp h]rw j)rx }ry (hUh}rz (h]h]h]h]h]uh jt h]r{ j)r| }r} (hUh}r~ (U anchornameU#zinnia-auto-moderate-commentsr Urefurihh]h]h]h]h]h'KKKr Uinternaluh jx h]r hXZINNIA_AUTO_MODERATE_COMMENTSr r }r (hXZINNIA_AUTO_MODERATE_COMMENTSh j| ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh jp h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU!#zinnia-auto-close-comments-afterr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hX ZINNIA_AUTO_CLOSE_COMMENTS_AFTERr r }r (hX ZINNIA_AUTO_CLOSE_COMMENTS_AFTERh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh jp h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-mail-comment-replyr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_MAIL_COMMENT_REPLYr r }r (hXZINNIA_MAIL_COMMENT_REPLYh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh jp h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-mail-comment-authorsr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_MAIL_COMMENT_AUTHORSr r }r (hXZINNIA_MAIL_COMMENT_AUTHORSh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh jp h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU,#zinnia-mail-comment-notification-recipientsr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hX+ZINNIA_MAIL_COMMENT_NOTIFICATION_RECIPIENTSr r }r (hX+ZINNIA_MAIL_COMMENT_NOTIFICATION_RECIPIENTSh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh jp h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-spam-checker-backendsr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_SPAM_CHECKER_BACKENDSr r }r (hXZINNIA_SPAM_CHECKER_BACKENDSh j ubah!jubah!jubah!jubeh!jubeh!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#pingingr Urefurihh]h]h]h]h]h'KKr Uinternaluh j h]r hXPingingr r }r (hXPingingh j ubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-ping-directoriesr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_PING_DIRECTORIESr r }r (hXZINNIA_PING_DIRECTORIESh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-ping-external-urlsr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_PING_EXTERNAL_URLSr r }r (hXZINNIA_PING_EXTERNAL_URLSh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-save-ping-directoriesr Urefurihh]h]h]h]h]h'KKKr Uinternaluh j h]r hXZINNIA_SAVE_PING_DIRECTORIESr r }r! (hXZINNIA_SAVE_PING_DIRECTORIESh j ubah!jubah!jubah!jubj)r" }r# (hUh}r$ (h]h]h]h]h]uh j h]r% j)r& }r' (hUh}r( (h]h]h]h]h]uh j" h]r) j)r* }r+ (hUh}r, (U anchornameU#zinnia-pingback-content-lengthr- Urefurihh]h]h]h]h]h'KKKr. Uinternaluh j& h]r/ hXZINNIA_PINGBACK_CONTENT_LENGTHr0 r1 }r2 (hXZINNIA_PINGBACK_CONTENT_LENGTHh j* ubah!jubah!jubah!jubeh!jubeh!jubj)r3 }r4 (hUh}r5 (h]h]h]h]h]uh j h]r6 (j)r7 }r8 (hUh}r9 (h]h]h]h]h]uh j3 h]r: j)r; }r< (hUh}r= (U anchornameU #similarityr> Urefurihh]h]h]h]h]h'KKr? Uinternaluh j7 h]r@ hX SimilarityrA rB }rC (hX Similarityh j; ubah!jubah!jubj)rD }rE (hUh}rF (h]h]h]h]h]uh j3 h]rG (j)rH }rI (hUh}rJ (h]h]h]h]h]uh jD h]rK j)rL }rM (hUh}rN (h]h]h]h]h]uh jH h]rO j)rP }rQ (hUh}rR (U anchornameU #zinnia-f-minrS Urefurihh]h]h]h]h]h'KKKrT Uinternaluh jL h]rU hX ZINNIA_F_MINrV rW }rX (hX ZINNIA_F_MINh jP ubah!jubah!jubah!jubj)rY }rZ (hUh}r[ (h]h]h]h]h]uh jD h]r\ j)r] }r^ (hUh}r_ (h]h]h]h]h]uh jY h]r` j)ra }rb (hUh}rc (U anchornameU #zinnia-f-maxrd Urefurihh]h]h]h]h]h'KKKre Uinternaluh j] h]rf hX ZINNIA_F_MAXrg rh }ri (hX ZINNIA_F_MAXh ja ubah!jubah!jubah!jubeh!jubeh!jubj)rj }rk (hUh}rl (h]h]h]h]h]uh j h]rm (j)rn }ro (hUh}rp (h]h]h]h]h]uh jj h]rq j)rr }rs (hUh}rt (U anchornameU#miscellaneousru Urefurihh]h]h]h]h]h'KK rv Uinternaluh jn h]rw hX Miscellaneousrx ry }rz (hX Miscellaneoush jr ubah!jubah!jubj)r{ }r| (hUh}r} (h]h]h]h]h]uh jj h]r~ (j)r }r (hUh}r (h]h]h]h]h]uh j{ h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-copyrightr Urefurihh]h]h]h]h]h'KK Kr Uinternaluh j h]r hXZINNIA_COPYRIGHTr r }r (hXZINNIA_COPYRIGHTh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j{ h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-stop-wordsr Urefurihh]h]h]h]h]h'KK Kr Uinternaluh j h]r hXZINNIA_STOP_WORDSr r }r (hXZINNIA_STOP_WORDSh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j{ h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-url-shortener-backendr Urefurihh]h]h]h]h]h'KK Kr Uinternaluh j h]r hXZINNIA_URL_SHORTENER_BACKENDr r }r (hXZINNIA_URL_SHORTENER_BACKENDh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j{ h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-use-twitterr Urefurihh]h]h]h]h]h'KK Kr Uinternaluh j h]r hXZINNIA_USE_TWITTERr r }r (hXZINNIA_USE_TWITTERh j ubah!jubah!jubah!jubeh!jubeh!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#cmsr Urefurihh]h]h]h]h]h'KK r Uinternaluh j h]r hXCMSr r }r (hXCMSh j ubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r (j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-app-menusr Urefurihh]h]h]h]h]h'KK Kr Uinternaluh j h]r hXZINNIA_APP_MENUSr r }r (hXZINNIA_APP_MENUSh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-hide-entry-menur Urefurihh]h]h]h]h]h'KK Kr Uinternaluh j h]r hXZINNIA_HIDE_ENTRY_MENUr r }r (hXZINNIA_HIDE_ENTRY_MENUh j ubah!jubah!jubah!jubj)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (h]h]h]h]h]uh j h]r j)r }r (hUh}r (U anchornameU#zinnia-plugins-templatesr Urefurihh]h]h]h]h]h'KK Kr Uinternaluh j h]r hXZINNIA_PLUGINS_TEMPLATESr r }r (hXZINNIA_PLUGINS_TEMPLATESh j ubah!jubah!jubah!jubeh!jubeh!jubeh!jubeh!jubah!jubuU indexentriesr }r (h ]h#]h.]h8]hB]hL]hU]h_]hh]hr]h|]h]h]h]h]h]h]h]h]h]uUall_docsr }r (h GA/e`Jh#GA/ep(h.GA/ek{h8GA/eP}hBGA/eRhLGA/edw`hUGA/e] h_GA/er9hhGA/eo?lhrGA/eZ]h|GA/eShGA/esշhGA/efhGA/eqhGA/eahGA/e^]hGA/eY hGA/eVhGA/eTshGA/ejquUsettingsr }r (Ucloak_email_addressesr Utrim_footnote_reference_spacer U halt_levelr KUsectsubtitle_xformr Uembed_stylesheetr U pep_base_urlr Uhttp://www.python.org/dev/peps/r Udoctitle_xformr Uwarning_streamr csphinx.util.nodes WarningStream r )r }r (U_rer cre _compile r U+\((DEBUG|INFO|WARNING|ERROR|SEVERE)/[0-4]\)r KRr Uwarnfuncr! NubUenvr" hU rfc_base_urlr# Uhttp://tools.ietf.org/html/r$ Ufile_insertion_enabledr% Ugettext_compactr& Uinput_encodingr' U utf-8-sigr( uUfiles_to_rebuildr) }r* (jh]r+ h aRr, j~h]r- h aRr. jzh]r/ h aRr0 jh]r1 h aRr2 jh]r3 h aRr4 jsh]r5 h aRr6 jh]r7 h aRr8 juh]r9 h aRr: jh]r; h aRr< j{h]r= h aRr> jh]r? h aRr@ jwh]rA h aRrB jyh]rC h aRrD jh]rE h aRrF jth]rG h aRrH j|h]rI h aRrJ jxh]rK h aRrL jvh]rM h aRrN j}h]rO h aRrP uUtoc_secnumbersrQ }rR (X changelog}rS (UhFjFjGjjjjjjj$j%j5j6uXtests}rT (Uh(jzj{jjuX spam_checker}rU (Uh2jjuXbuildout}rV Uh j? j j j j j j ju jv j j j j j j jH jI j j j j j j j j j j jl jm jY jZ j j jJ jK j j j j j j j j jd je j j j j jj jk jS jT uXfaq}rX (UhYjjjjj8j9jNjOjjjjjvjwjjjjjjj`jauX templatetags}rY (UhljjjNjOjjjjjjjjjjjjj<j=jjjjjrjsj8j9j*j+jjj&j'j`jauXextending_entry_model}rZ UhvsX compatibility}r[ UhsXchannels}r\ UhsX url_shortener}r] (UhjjuXthanks}r^ UhsX import_export}r_ (UhjjjjjjjjuXsearch_engines}r` (UhjjjjjjuX configuration}ra (UhjrjsjjjjjjjjjjjjjajbjjuX contribution}rb (Uhjjj9j:jjjjjjj(j)uuU_nitpick_ignorerc h]Rrd ub.PK؍3F 7django-blog-zinnia-v0.9/.doctrees/compatibility.doctreecdocutils.nodes document q)q}q(U nametypesq}qX compatibilityqNsUsubstitution_defsq}qUparse_messagesq ]q Ucurrent_sourceq NU decorationq NUautofootnote_startq KUnameidsq}qhU compatibilityqsUchildrenq]qcdocutils.nodes section q)q}q(U rawsourceqUUparentqhUsourceqcdocutils.nodes reprunicode qXO/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/compatibility.rstqq}qbUtagnameqUsectionqU attributesq}q (Udupnamesq!]Uclassesq"]Ubackrefsq#]Uidsq$]q%haUnamesq&]q'hauUlineq(KUdocumentq)hh]q*(cdocutils.nodes title q+)q,}q-(hX Compatibilityq.hhhhhUtitleq/h}q0(h!]h"]h#]h$]h&]uh(Kh)hh]q1cdocutils.nodes Text q2X Compatibilityq3q4}q5(hh.hh,ubaubcdocutils.nodes paragraph q6)q7}q8(hXZinnia tries to fit a maximum to the Django's standards to gain in readability and to be always present when the version 3.4.2 will be here. :)q9hhhhhU paragraphq:h}q;(h!]h"]h#]h$]h&]uh(Kh)hh]q}q?(hh9hh7ubaubh6)q@}qA(hXPredicting the future is a good thing, because it will be soon. Actually Zinnia is designed to handle the 1.2.x version and will reach the release 1.5 easily without major changes.qBhhhhhh:h}qC(h!]h"]h#]h$]h&]uh(Kh)hh]qDh2XPredicting the future is a good thing, because it will be soon. Actually Zinnia is designed to handle the 1.2.x version and will reach the release 1.5 easily without major changes.qEqF}qG(hhBhh@ubaubh6)qH}qI(hX;http://docs.djangoproject.com/en/dev/internals/deprecation/qJhhhhhh:h}qK(h!]h"]h#]h$]h&]uh(K h)hh]qLcdocutils.nodes reference qM)qN}qO(hhJh}qP(UrefurihJh$]h#]h!]h"]h&]uhhHh]qQh2X;http://docs.djangoproject.com/en/dev/internals/deprecation/qRqS}qT(hUhhNubahU referenceqUubaubh6)qV}qW(hXIf you are running on the 1.1.x versions you can also use Zinnia by applying the patch located in **patches/compatibility_django_1.1.patch**.hhhhhh:h}qX(h!]h"]h#]h$]h&]uh(Kh)hh]qY(h2XbIf you are running on the 1.1.x versions you can also use Zinnia by applying the patch located in qZq[}q\(hXbIf you are running on the 1.1.x versions you can also use Zinnia by applying the patch located in hhVubcdocutils.nodes strong q])q^}q_(hX***patches/compatibility_django_1.1.patch**h}q`(h!]h"]h#]h$]h&]uhhVh]qah2X&patches/compatibility_django_1.1.patchqbqc}qd(hUhh^ubahUstrongqeubh2X.qf}qg(hX.hhVubeubh6)qh}qi(hX0But the patch is not 100% efficient for 1 thing.qjhhhhhh:h}qk(h!]h"]h#]h$]h&]uh(Kh)hh]qlh2X0But the patch is not 100% efficient for 1 thing.qmqn}qo(hhjhhhubaubh6)qp}qq(hXThe feeds API provided by the django.contrib.syndication in the 1.1 versions is deprecated and the Feed classes provided by has been migrated to the new API. This migration is actually incompatible with the 1.1 versions.qrhhhhhh:h}qs(h!]h"]h#]h$]h&]uh(Kh)hh]qth2XThe feeds API provided by the django.contrib.syndication in the 1.1 versions is deprecated and the Feed classes provided by has been migrated to the new API. This migration is actually incompatible with the 1.1 versions.quqv}qw(hhrhhpubaubh6)qx}qy(hXHThe patch only avoid the generation of errors when the tests are runned.qzhhhhhh:h}q{(h!]h"]h#]h$]h&]uh(Kh)hh]q|h2XHThe patch only avoid the generation of errors when the tests are runned.q}q~}q(hhzhhxubaubh6)q}q(hXkSo if someone find a good solution to this problem, the patch will be integrated in the development branch.qhhhhhh:h}q(h!]h"]h#]h$]h&]uh(Kh)hh]qh2XkSo if someone find a good solution to this problem, the patch will be integrated in the development branch.qq}q(hhhhubaubeubahUU transformerqNU footnote_refsq}qUrefnamesq}qUsymbol_footnotesq]qUautofootnote_refsq]qUsymbol_footnote_refsq]qU citationsq]qh)hU current_lineqNUtransform_messagesq]qUreporterqNUid_startqKU autofootnotesq]qU citation_refsq}qUindirect_targetsq]qUsettingsq(cdocutils.frontend Values qoq}q(Ufootnote_backlinksqKUrecord_dependenciesqNU rfc_base_urlqUhttp://tools.ietf.org/html/qU tracebackqUpep_referencesqNUstrip_commentsqNU toc_backlinksqUentryqU language_codeqUenqU datestampqNU report_levelqKU _destinationqNU halt_levelqKU strip_classesqNh/NUerror_encoding_error_handlerqUbackslashreplaceqUdebugqNUembed_stylesheetqUoutput_encoding_error_handlerqUstrictqU sectnum_xformqKUdump_transformsqNU docinfo_xformqKUwarning_streamqNUpep_file_url_templateqUpep-%04dqUexit_status_levelqKUconfigqNUstrict_visitorqNUcloak_email_addressesqÈUtrim_footnote_reference_spaceqĉUenvqNUdump_pseudo_xmlqNUexpose_internalsqNUsectsubtitle_xformqȉU source_linkqNUrfc_referencesqNUoutput_encodingqUutf-8qU source_urlqNUinput_encodingqU utf-8-sigqU_disable_configqNU id_prefixqUU tab_widthqKUerror_encodingqUasciiqU_sourceqUO/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/compatibility.rstqUgettext_compactq׈U generatorqNUdump_internalsqNU smart_quotesqډU pep_base_urlqUhttp://www.python.org/dev/peps/qUsyntax_highlightqUlongqUinput_encoding_error_handlerqhUauto_id_prefixqUidqUdoctitle_xformqUstrip_elements_with_classesqNU _config_filesq]Ufile_insertion_enabledqU raw_enabledqKU dump_settingsqNubUsymbol_footnote_startqKUidsq}qhhsUsubstitution_namesq}qhh)h}q(h!]h$]h#]Usourcehh"]h&]uU footnotesq]qUrefidsq}qub.PK؍3F!**6django-blog-zinnia-v0.9/.doctrees/spam_checker.doctreecdocutils.nodes document q)q}q(U nametypesq}q(X%writing your own spam checker backendqNX spam checkerqNuUsubstitution_defsq}q Uparse_messagesq ]q Ucurrent_sourceq NU decorationq NUautofootnote_startqKUnameidsq}q(hU%writing-your-own-spam-checker-backendqhU spam-checkerquUchildrenq]qcdocutils.nodes section q)q}q(U rawsourceqUUparentqhUsourceqcdocutils.nodes reprunicode qXN/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/spam_checker.rstqq}qbUtagnameqUsectionq U attributesq!}q"(Udupnamesq#]Uclassesq$]Ubackrefsq%]Uidsq&]q'haUnamesq(]q)hauUlineq*KUdocumentq+hh]q,(cdocutils.nodes title q-)q.}q/(hX Spam Checkerq0hhhhhUtitleq1h!}q2(h#]h$]h%]h&]h(]uh*Kh+hh]q3cdocutils.nodes Text q4X Spam Checkerq5q6}q7(hh0hh.ubaubcdocutils.nodes paragraph q8)q9}q:(hXUSpam protection is mandatory when you want to let your users to comment your entries.q;hhhhhU paragraphqh4XUSpam protection is mandatory when you want to let your users to comment your entries.q?q@}qA(hh;hh9ubaubh8)qB}qC(hXZOriginally Zinnia provided a only one type of spam protection with the support of Akismet.qDhhhhhh(hX.hj.ubeubeubeubahUU transformerr?NU footnote_refsr@}rAUrefnamesrB}rCUsymbol_footnotesrD]rEUautofootnote_refsrF]rGUsymbol_footnote_refsrH]rIU citationsrJ]rKh+hU current_linerLNUtransform_messagesrM]rNUreporterrONUid_startrPKU autofootnotesrQ]rRU citation_refsrS}rTUindirect_targetsrU]rVUsettingsrW(cdocutils.frontend Values rXorY}rZ(Ufootnote_backlinksr[KUrecord_dependenciesr\NU rfc_base_urlr]Uhttp://tools.ietf.org/html/r^U tracebackr_Upep_referencesr`NUstrip_commentsraNU toc_backlinksrbUentryrcU language_coderdUenreU datestamprfNU report_levelrgKU _destinationrhNU halt_levelriKU strip_classesrjNh1NUerror_encoding_error_handlerrkUbackslashreplacerlUdebugrmNUembed_stylesheetrnUoutput_encoding_error_handlerroUstrictrpU sectnum_xformrqKUdump_transformsrrNU docinfo_xformrsKUwarning_streamrtNUpep_file_url_templateruUpep-%04drvUexit_status_levelrwKUconfigrxNUstrict_visitorryNUcloak_email_addressesrzUtrim_footnote_reference_spacer{Uenvr|NUdump_pseudo_xmlr}NUexpose_internalsr~NUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUN/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/spam_checker.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjpUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]Ufile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hhhhjuUsubstitution_namesr}rhh+h!}r(h#]h&]h%]Usourcehh$]h(]uU footnotesr]rUrefidsr}rub.PK؍3FV=4nxx2django-blog-zinnia-v0.9/.doctrees/overview.doctreecdocutils.nodes document q)q}q(U nametypesq}q(X google groupqXmetaweblog apiqXmarkdownqX github issuesq Xfeaturesq NXtwitterq Xprofessional web studioq Xsysvarq Xwordpress conversion utilityqXexamplesqNXtypepadqXcode repositoryqXblogger conversion utilityqXapi documentationqXrestructuredtextqXtinymceqXtextileqXakismetqXbit.lyqXonline resourcesqNX code coverageqX mixedcaseqXwindows live writerqX madcad's pageqXmobile versionqXmarkitupqXsitemapsq X django-cmsq!Xdjango blog zinniaq"NXfantomas' sideq#Xentry model extendableq$X documentationq%X wymeditorq&Xgravatarq'Xadvanced search engineq(uUsubstitution_defsq)}q*Uparse_messagesq+]q,Ucurrent_sourceq-NU decorationq.NUautofootnote_startq/KUnameidsq0}q1(hU google-groupq2hUmetaweblog-apiq3hUmarkdownq4h U github-issuesq5h Ufeaturesq6h Utwitterq7h Uprofessional-web-studioq8h Usysvarq9hUwordpress-conversion-utilityq:hUexamplesq;hUtypepadqhUapi-documentationq?hUrestructuredtextq@hUtinymceqAhUtextileqBhUakismetqChUbit-lyqDhUonline-resourcesqEhU code-coverageqFhU mixedcaseqGhUwindows-live-writerqHhU madcad-s-pageqIhUmobile-versionqJhUmarkitupqKh UsitemapsqLh!U django-cmsqMh"Udjango-blog-zinniaqNh#U fantomas-sideqOh$Uentry-model-extendableqPh%U documentationqQh&U wymeditorqRh'UgravatarqSh(Uadvanced-search-engineqTuUchildrenqU]qVcdocutils.nodes section qW)qX}qY(U rawsourceqZUUparentq[hUsourceq\cdocutils.nodes reprunicode q]X ../README.rstq^q_}q`bUtagnameqaUsectionqbU attributesqc}qd(Udupnamesqe]Uclassesqf]Ubackrefsqg]Uidsqh]qihNaUnamesqj]qkh"auUlineqlKUdocumentqmhhU]qn(cdocutils.nodes title qo)qp}qq(hZXDjango Blog Zinniaqrh[hXh\h_haUtitleqshc}qt(he]hf]hg]hh]hj]uhlKhmhhU]qucdocutils.nodes Text qvXDjango Blog Zinniaqwqx}qy(hZhrh[hpubaubcdocutils.nodes paragraph qz)q{}q|(hZXOSimple yet powerful application for managing a blog within your Django website.q}h[hXh\h_haU paragraphq~hc}q(he]hf]hg]hh]hj]uhlKhmhhU]qhvXOSimple yet powerful application for managing a blog within your Django website.qq}q(hZh}h[h{ubaubhz)q}q(hZXNZinnia has been made for publishing weblog entries and designed to do it well.qh[hXh\h_hah~hc}q(he]hf]hg]hh]hj]uhlKhmhhU]qhvXNZinnia has been made for publishing weblog entries and designed to do it well.qq}q(hZhh[hubaubhz)q}q(hZXBasically 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 ?qh[hXh\h_hah~hc}q(he]hf]hg]hh]hj]uhlK hmhhU]qhvXBasically 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 ?qq}q(hZhh[hubaubhW)q}q(hZUh[hXh\h_hahbhc}q(he]hf]hg]hh]qh6ahj]qh auhlKhmhhU]q(ho)q}q(hZXFeaturesqh[hh\h_hahshc}q(he]hf]hg]hh]hj]uhlKhmhhU]qhvXFeaturesqq}q(hZhh[hubaubhz)q}q(hZX=More than a long speech, here the list of the main features :qh[hh\h_hah~hc}q(he]hf]hg]hh]hj]uhlKhmhhU]qhvX=More than a long speech, here the list of the main features :qq}q(hZhh[hubaubcdocutils.nodes bullet_list q)q}q(hZUh[hh\h_haU bullet_listqhc}q(UbulletqX*hh]hg]he]hf]hj]uhlKhmhhU]q(cdocutils.nodes list_item q)q}q(hZXCommentsqh[hh\h_haU list_itemqhc}q(he]hf]hg]hh]hj]uhlNhmhhU]qhz)q}q(hZhh[hh\h_hah~hc}q(he]hf]hg]hh]hj]uhlKhU]qhvXCommentsqq}q(hZhh[hubaubaubh)q}q(hZX `Sitemaps`_qh[hh\h_hahhc}q(he]hf]hg]hh]hj]uhlNhmhhU]qhz)q}q(hZhh[hh\h_hah~hc}q(he]hf]hg]hh]hj]uhlKhU]qcdocutils.nodes reference q)q}q(hZhUresolvedqKh[hhaU referenceqhc}q(UnameXSitemapsUrefuriqXChttp://django-blog-zinnia.com/documentation/configuration/#sitemapsqhh]hg]he]hf]hj]uhU]qhvXSitemapsqхq}q(hZUh[hubaubaubaubh)q}q(hZXArchives viewsqh[hh\h_hahhc}q(he]hf]hg]hh]hj]uhlNhmhhU]qhz)q}q(hZhh[hh\h_hah~hc}q(he]hf]hg]hh]hj]uhlKhU]qhvXArchives viewsq݅q}q(hZhh[hubaubaubh)q}q(hZXRelated entriesqh[hh\h_hahhc}q(he]hf]hg]hh]hj]uhlNhmhhU]qhz)q}q(hZhh[hh\h_hah~hc}q(he]hf]hg]hh]hj]uhlKhU]qhvXRelated entriesq酁q}q(hZhh[hubaubaubh)q}q(hZXPrivate entriesqh[hh\h_hahhc}q(he]hf]hg]hh]hj]uhlNhmhhU]qhz)q}q(hZhh[hh\h_hah~hc}q(he]hf]hg]hh]hj]uhlKhU]qhvXPrivate entriesqq}q(hZhh[hubaubaubh)q}q(hZXRSS or Atom Feedsqh[hh\h_hahhc}q(he]hf]hg]hh]hj]uhlNhmhhU]qhz)q}q(hZhh[hh\h_hah~hc}q(he]hf]hg]hh]hj]uhlKhU]rhvXRSS or Atom Feedsrr}r(hZhh[hubaubaubh)r}r(hZXTags and categories viewsrh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r }r (hZjh[jh\h_hah~hc}r (he]hf]hg]hh]hj]uhlKhU]r hvXTags and categories viewsr r}r(hZjh[j ubaubaubh)r}r(hZX`Advanced search engine`_rh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlKhU]rh)r}r(hZjhKh[jhahhc}r(UnameXAdvanced search enginehXRhttp://django-blog-zinnia.com/documentation/search_engines/#advanced-search-enginerhh]hg]he]hf]hj]uhU]rhvXAdvanced search enginerr}r (hZUh[jubaubaubaubh)r!}r"(hZXPrepublication and expirationr#h[hh\h_hahhc}r$(he]hf]hg]hh]hj]uhlNhmhhU]r%hz)r&}r'(hZj#h[j!h\h_hah~hc}r((he]hf]hg]hh]hj]uhlKhU]r)hvXPrepublication and expirationr*r+}r,(hZj#h[j&ubaubaubh)r-}r.(hZX9Edition in `MarkDown`_, `Textile`_ or `reStructuredText`_r/h[hh\h_hahhc}r0(he]hf]hg]hh]hj]uhlNhmhhU]r1hz)r2}r3(hZj/h[j-h\h_hah~hc}r4(he]hf]hg]hh]hj]uhlKhU]r5(hvX Edition in r6r7}r8(hZX Edition in h[j2ubh)r9}r:(hZX `MarkDown`_hKh[j2hahhc}r;(UnameXMarkDownhX,http://daringfireball.net/projects/markdown/r<hh]hg]he]hf]hj]uhU]r=hvXMarkDownr>r?}r@(hZUh[j9ubaubhvX, rArB}rC(hZX, h[j2ubh)rD}rE(hZX `Textile`_hKh[j2hahhc}rF(UnameXTextilehX&http://redcloth.org/hobix.com/textile/rGhh]hg]he]hf]hj]uhU]rHhvXTextilerIrJ}rK(hZUh[jDubaubhvX or rLrM}rN(hZX or h[j2ubh)rO}rP(hZX`reStructuredText`_hKh[j2hahhc}rQ(UnameXreStructuredTexthX(http://docutils.sourceforge.net/rst.htmlrRhh]hg]he]hf]hj]uhU]rShvXreStructuredTextrTrU}rV(hZUh[jOubaubeubaubh)rW}rX(hZX/Widgets (Popular entries, Similar entries, ...)rYh[hh\h_hahhc}rZ(he]hf]hg]hh]hj]uhlNhmhhU]r[hz)r\}r](hZjYh[jWh\h_hah~hc}r^(he]hf]hg]hh]hj]uhlKhU]r_hvX/Widgets (Popular entries, Similar entries, ...)r`ra}rb(hZjYh[j\ubaubaubh)rc}rd(hZX-Spam protection with `Akismet`_ or `TypePad`_reh[hh\h_hahhc}rf(he]hf]hg]hh]hj]uhlNhmhhU]rghz)rh}ri(hZjeh[jch\h_hah~hc}rj(he]hf]hg]hh]hj]uhlKhU]rk(hvXSpam protection with rlrm}rn(hZXSpam protection with h[jhubh)ro}rp(hZX `Akismet`_hKh[jhhahhc}rq(UnameXAkismethXhttp://akismet.comrrhh]hg]he]hf]hj]uhU]rshvXAkismetrtru}rv(hZUh[joubaubhvX or rwrx}ry(hZX or h[jhubh)rz}r{(hZX `TypePad`_hKh[jhhahhc}r|(UnameXTypePadhXhttp://antispam.typepad.com/r}hh]hg]he]hf]hj]uhU]r~hvXTypePadrr}r(hZUh[jzubaubeubaubh)r}r(hZXAdmin dashboardrh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlKhU]rhvXAdmin dashboardrr}r(hZjh[jubaubaubh)r}r(hZX`MetaWeblog API`_rh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK hU]rh)r}r(hZjhKh[jhahhc}r(UnameXMetaWeblog APIhX#http://www.xmlrpc.com/metaWeblogApirhh]hg]he]hf]hj]uhU]rhvXMetaWeblog APIrr}r(hZUh[jubaubaubaubh)r}r(hZXPing Directoriesrh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK!hU]rhvXPing Directoriesrr}r(hZjh[jubaubaubh)r}r(hZXPing External linksrh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK"hU]rhvXPing External linksrr}r(hZjh[jubaubaubh)r}r(hZX`Bit.ly`_ supportrh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK#hU]r(h)r}r(hZX `Bit.ly`_hKh[jhahhc}r(UnameXBit.lyhXAhttp://django-blog-zinnia.com/documentation/configuration/#bit-lyrhh]hg]he]hf]hj]uhU]rhvXBit.lyrr}r(hZUh[jubaubhvX supportrr}r(hZX supporth[jubeubaubh)r}r(hZX`Twitter`_ supportrh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK$hU]r(h)r}r(hZX `Twitter`_hKh[jhahhc}r(UnameXTwitterhXBhttp://django-blog-zinnia.com/documentation/configuration/#twitterrhh]hg]he]hf]hj]uhU]rhvXTwitterrr}r(hZUh[jubaubhvX supportrr}r(hZX supporth[jubeubaubh)r}r(hZX`Gravatar`_ supportrh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK%hU]r(h)r}r(hZX `Gravatar`_hKh[jhahhc}r(UnameXGravatarhXhttp://gravatar.com/rhh]hg]he]hf]hj]uhU]rhvXGravatarrr}r(hZUh[jubaubhvX supportrr}r(hZX supporth[jubeubaubh)r}r(hZX`Django-CMS`_ pluginsrh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK&hU]r(h)r}r(hZX `Django-CMS`_hKh[jhahhc}r(UnameX Django-CMShXEhttp://django-blog-zinnia.com/documentation/configuration/#django-cmsrhh]hg]he]hf]hj]uhU]rhvX Django-CMSrr}r(hZUh[jubaubhvX pluginsrr}r(hZX pluginsh[jubeubaubh)r}r(hZXCollaborative workr h[hh\h_hahhc}r (he]hf]hg]hh]hj]uhlNhmhhU]r hz)r }r (hZj h[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK'hU]rhvXCollaborative workrr}r(hZj h[j ubaubaubh)r}r(hZXTags autocompletionrh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK(hU]rhvXTags autocompletionrr}r(hZjh[jubaubaubh)r}r (hZX`Entry model extendable`_r!h[hh\h_hahhc}r"(he]hf]hg]hh]hj]uhlNhmhhU]r#hz)r$}r%(hZj!h[jh\h_hah~hc}r&(he]hf]hg]hh]hj]uhlK)hU]r'h)r(}r)(hZj!hKh[j$hahhc}r*(UnameXEntry model extendablehXBhttp://django-blog-zinnia.com/documentation/extending_entry_model/r+hh]hg]he]hf]hj]uhU]r,hvXEntry model extendabler-r.}r/(hZUh[j(ubaubaubaubh)r0}r1(hZXPingback/Trackback supportr2h[hh\h_hahhc}r3(he]hf]hg]hh]hj]uhlNhmhhU]r4hz)r5}r6(hZj2h[j0h\h_hah~hc}r7(he]hf]hg]hh]hj]uhlK*hU]r8hvXPingback/Trackback supportr9r:}r;(hZj2h[j5ubaubaubh)r<}r=(hZX`Blogger conversion utility`_r>h[hh\h_hahhc}r?(he]hf]hg]hh]hj]uhlNhmhhU]r@hz)rA}rB(hZj>h[j<h\h_hah~hc}rC(he]hf]hg]hh]hj]uhlK+hU]rDh)rE}rF(hZj>hKh[jAhahhc}rG(UnameXBlogger conversion utilityhXQhttp://django-blog-zinnia.com/documentation/import_export/#from-blogger-to-zinniarHhh]hg]he]hf]hj]uhU]rIhvXBlogger conversion utilityrJrK}rL(hZUh[jEubaubaubaubh)rM}rN(hZX`WordPress conversion utility`_rOh[hh\h_hahhc}rP(he]hf]hg]hh]hj]uhlNhmhhU]rQhz)rR}rS(hZjOh[jMh\h_hah~hc}rT(he]hf]hg]hh]hj]uhlK,hU]rUh)rV}rW(hZjOhKh[jRhahhc}rX(UnameXWordPress conversion utilityhXShttp://django-blog-zinnia.com/documentation/import_export/#from-wordpress-to-zinniarYhh]hg]he]hf]hj]uhU]rZhvXWordPress conversion utilityr[r\}r](hZUh[jVubaubaubaubh)r^}r_(hZX0`WYMeditor`_, `TinyMCE`_ and `MarkItUp`_ supportr`h[hh\h_hahhc}ra(he]hf]hg]hh]hj]uhlNhmhhU]rbhz)rc}rd(hZj`h[j^h\h_hah~hc}re(he]hf]hg]hh]hj]uhlK-hU]rf(h)rg}rh(hZX `WYMeditor`_hKh[jchahhc}ri(UnameX WYMeditorhXhttp://www.wymeditor.org/rjhh]hg]he]hf]hj]uhU]rkhvX WYMeditorrlrm}rn(hZUh[jgubaubhvX, rorp}rq(hZX, h[jcubh)rr}rs(hZX `TinyMCE`_hKh[jchahhc}rt(UnameXTinyMCEhXhttp://tinymce.moxiecode.com/ruhh]hg]he]hf]hj]uhU]rvhvXTinyMCErwrx}ry(hZUh[jrubaubhvX and rzr{}r|(hZX and h[jcubh)r}}r~(hZX `MarkItUp`_hKh[jchahhc}r(UnameXMarkItUphXhttp://markitup.jaysalvat.com/rhh]hg]he]hf]hj]uhU]rhvXMarkItUprr}r(hZUh[j}ubaubhvX supportrr}r(hZX supporth[jcubeubaubh)r}r(hZX&Ready to use and extendables templatesrh[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK.hU]rhvX&Ready to use and extendables templatesrr}r(hZjh[jubaubaubh)r}r(hZX%`Windows Live Writer`_ compatibility h[hh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZX$`Windows Live Writer`_ compatibilityh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK/hU]r(h)r}r(hZX`Windows Live Writer`_hKh[jhahhc}r(UnameXWindows Live WriterhX+http://explore.live.com/windows-live-writerrhh]hg]he]hf]hj]uhU]rhvXWindows Live Writerrr}r(hZUh[jubaubhvX compatibilityrr}r(hZX compatibilityh[jubeubaubeubeubhW)r}r(hZUh[hXh\h_hahbhc}r(he]hf]hg]hh]rh;ahj]rhauhlK2hmhhU]r(ho)r}r(hZXExamplesrh[jh\h_hahshc}r(he]hf]hg]hh]hj]uhlK2hmhhU]rhvXExamplesrr}r(hZjh[jubaubhz)r}r(hZXqTake a look at the online demo at : http://django-blog-zinnia.com or you can visit these websites who use Zinnia.h[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK4hmhhU]r(hvX$Take a look at the online demo at : rr}r(hZX$Take a look at the online demo at : h[jubh)r}r(hZXhttp://django-blog-zinnia.comrhc}r(Urefurijhh]hg]he]hf]hj]uh[jhU]rhvXhttp://django-blog-zinnia.comrr}r(hZUh[jubahahubhvX0 or you can visit these websites who use Zinnia.rr}r(hZX0 or you can visit these websites who use Zinnia.h[jubeubh)r}r(hZUh[jh\h_hahhc}r(hX*hh]hg]he]hf]hj]uhlK7hmhhU]r(h)r}r(hZX'`Fantomas' side`_ / `Mobile version`_.rh[jh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK7hU]r(h)r}r(hZX`Fantomas' side`_hKh[jhahhc}r(UnameXFantomas' sidehX"http://fantomas.willbreak.it/blog/rhh]hg]he]hf]hj]uhU]rhvXFantomas' siderr}r(hZUh[jubaubhvX / rr}r(hZX / h[jubh)r}r(hZX`Mobile version`_hKh[jhahhc}r(UnameXMobile versionhX$http://m.fantomas.willbreak.it/blog/rhh]hg]he]hf]hj]uhU]rhvXMobile versionrr}r(hZUh[jubaubhvX.r}r(hZX.h[jubeubaubh)r}r(hZX`Professional Web Studio`_.rh[jh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK8hU]r(h)r}r(hZX`Professional Web Studio`_hKh[jhahhc}r(UnameXProfessional Web StudiohX/http://www.professionalwebstudio.com/en/weblog/rhh]hg]he]hf]hj]uhU]rhvXProfessional Web Studiorr}r(hZUh[jubaubhvX.r}r(hZX.h[jubeubaubh)r}r(hZX `mixedCase`_.rh[jh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK9hU]r(h)r}r(hZX `mixedCase`_hKh[jhahhc}r(UnameX mixedCasehX!http://www.mixedcase.nl/articles/rhh]hg]he]hf]hj]uhU]r hvX mixedCaser r }r (hZUh[jubaubhvX.r }r(hZX.h[jubeubaubh)r}r(hZX`MadCad's Page`_.rh[jh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlK:hU]r(h)r}r(hZX`MadCad's Page`_hKh[jhahhc}r(UnameX MadCad's PagehXhttp://mad-cad.net/blog/rhh]hg]he]hf]hj]uhU]rhvX MadCad's Pagerr}r(hZUh[jubaubhvX.r }r!(hZX.h[jubeubaubh)r"}r#(hZX `SysVar`_. h[jh\h_hahhc}r$(he]hf]hg]hh]hj]uhlNhmhhU]r%hz)r&}r'(hZX `SysVar`_.h[j"h\h_hah~hc}r((he]hf]hg]hh]hj]uhlK;hU]r)(h)r*}r+(hZX `SysVar`_hKh[j&hahhc}r,(UnameXSysVarhXhttp://sysvar.net/r-hh]hg]he]hf]hj]uhU]r.hvXSysVarr/r0}r1(hZUh[j*ubaubhvX.r2}r3(hZX.h[j&ubeubaubeubhz)r4}r5(hZXaIf you are a proud user of Zinnia, send me the URL of your website and I will add it to the list.r6h[jh\h_hah~hc}r7(he]hf]hg]hh]hj]uhlK=hmhhU]r8hvXaIf you are a proud user of Zinnia, send me the URL of your website and I will add it to the list.r9r:}r;(hZj6h[j4ubaubeubhW)r<}r=(hZUh[hXh\h_hahbhc}r>(he]hf]hg]hh]r?hEahj]r@hauhlKAhmhhU]rA(ho)rB}rC(hZXOnline resourcesrDh[j<h\h_hahshc}rE(he]hf]hg]hh]hj]uhlKAhmhhU]rFhvXOnline resourcesrGrH}rI(hZjDh[jBubaubhz)rJ}rK(hZX3More information and help available at these URLs :rLh[j<h\h_hah~hc}rM(he]hf]hg]hh]hj]uhlKChmhhU]rNhvX3More information and help available at these URLs :rOrP}rQ(hZjLh[jJubaubh)rR}rS(hZUh[j<h\h_hahhc}rT(hX*hh]hg]he]hf]hj]uhlKEhmhhU]rU(h)rV}rW(hZX`Code repository`_.rXh[jRh\h_hahhc}rY(he]hf]hg]hh]hj]uhlNhmhhU]rZhz)r[}r\(hZjXh[jVh\h_hah~hc}r](he]hf]hg]hh]hj]uhlKEhU]r^(h)r_}r`(hZX`Code repository`_hKh[j[hahhc}ra(UnameXCode repositoryhX0https://github.com/Fantomas42/django-blog-zinniarbhh]hg]he]hf]hj]uhU]rchvXCode repositoryrdre}rf(hZUh[j_ubaubhvX.rg}rh(hZX.h[j[ubeubaubh)ri}rj(hZX`Documentation`_.rkh[jRh\h_hahhc}rl(he]hf]hg]hh]hj]uhlNhmhhU]rmhz)rn}ro(hZjkh[jih\h_hah~hc}rp(he]hf]hg]hh]hj]uhlKFhU]rq(h)rr}rs(hZX`Documentation`_hKh[jnhahhc}rt(UnameX DocumentationhX,http://django-blog-zinnia.com/documentation/ruhh]hg]he]hf]hj]uhU]rvhvX Documentationrwrx}ry(hZUh[jrubaubhvX.rz}r{(hZX.h[jnubeubaubh)r|}r}(hZX`API documentation`_.r~h[jRh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZj~h[j|h\h_hah~hc}r(he]hf]hg]hh]hj]uhlKGhU]r(h)r}r(hZX`API documentation`_hKh[jhahhc}r(UnameXAPI documentationhX'http://django-blog-zinnia.com/docs/api/rhh]hg]he]hf]hj]uhU]rhvXAPI documentationrr}r(hZUh[jubaubhvX.r}r(hZX.h[jubeubaubh)r}r(hZX`Code coverage`_.rh[jRh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlKHhU]r(h)r}r(hZX`Code coverage`_hKh[jhahhc}r(UnameX Code coveragehX5http://django-blog-zinnia.com/documentation/coverage/rhh]hg]he]hf]hj]uhU]rhvX Code coveragerr}r(hZUh[jubaubhvX.r}r(hZX.h[jubeubaubh)r}r(hZX(Discussions and help at `Google Group`_.rh[jRh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZjh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlKIhU]r(hvXDiscussions and help at rr}r(hZXDiscussions and help at h[jubh)r}r(hZX`Google Group`_hKh[jhahhc}r(UnameX Google GrouphX2http://groups.google.com/group/django-blog-zinnia/rhh]hg]he]hf]hj]uhU]rhvX Google Grouprr}r(hZUh[jubaubhvX.r}r(hZX.h[jubeubaubh)r}r(hZX+For reporting a bug use `Github Issues`_. h[jRh\h_hahhc}r(he]hf]hg]hh]hj]uhlNhmhhU]rhz)r}r(hZX)For reporting a bug use `Github Issues`_.rh[jh\h_hah~hc}r(he]hf]hg]hh]hj]uhlKJhU]r(hvXFor reporting a bug use rr}r(hZXFor reporting a bug use h[jubh)r}r(hZX`Github Issues`_hKh[jhahhc}r(UnameX Github IssueshX8https://github.com/Fantomas42/django-blog-zinnia/issues/rhh]hg]he]hf]hj]uhU]rhvX Github Issuesrr}r(hZUh[jubaubhvX.r}r(hZX.h[jubeubaubeubcdocutils.nodes target r)r}r(hZXS.. _`Sitemaps`: http://django-blog-zinnia.com/documentation/configuration/#sitemapsU referencedrKh[j<h\h_haUtargetrhc}r(hhhh]rhLahg]he]hf]hj]rh auhlKPhmhhU]ubj)r}r(hZXp.. _`Advanced search engine`: http://django-blog-zinnia.com/documentation/search_engines/#advanced-search-enginejKh[j<h\h_hajhc}r(hjhh]rhTahg]he]hf]hj]rh(auhlKQhmhhU]ubj)r}r(hZX<.. _`MarkDown`: http://daringfireball.net/projects/markdown/jKh[j<h\h_hajhc}r(hj<hh]rh4ahg]he]hf]hj]rhauhlKRhmhhU]ubj)r}r(hZX5.. _`Textile`: http://redcloth.org/hobix.com/textile/jKh[j<h\h_hajhc}r(hjGhh]rhBahg]he]hf]hj]rhauhlKShmhhU]ubj)r}r(hZX@.. _`reStructuredText`: http://docutils.sourceforge.net/rst.htmljKh[j<h\h_hajhc}r(hjRhh]rh@ahg]he]hf]hj]rhauhlKThmhhU]ubj)r}r(hZX!.. _`Akismet`: http://akismet.comjKh[j<h\h_hajhc}r(hjrhh]rhCahg]he]hf]hj]rhauhlKUhmhhU]ubj)r}r(hZX+.. _`TypePad`: http://antispam.typepad.com/jKh[j<h\h_hajhc}r(hj}hh]rhahg]he]hf]hj]r%hauhlK`hmhhU]ubj)r&}r'(hZXw.. _`WordPress conversion utility`: http://django-blog-zinnia.com/documentation/import_export/#from-wordpress-to-zinniajKh[j<h\h_hajhc}r((hjYhh]r)h:ahg]he]hf]hj]r*hauhlKahmhhU]ubj)r+}r,(hZXF.. _`Windows Live Writer`: http://explore.live.com/windows-live-writerjKh[j<h\h_hajhc}r-(hjhh]r.hHahg]he]hf]hj]r/hauhlKbhmhhU]ubj)r0}r1(hZX8.. _`Fantomas' side`: http://fantomas.willbreak.it/blog/jKh[j<h\h_hajhc}r2(hjhh]r3hOahg]he]hf]hj]r4h#auhlKchmhhU]ubj)r5}r6(hZX:.. _`Mobile version`: http://m.fantomas.willbreak.it/blog/jKh[j<h\h_hajhc}r7(hjhh]r8hJahg]he]hf]hj]r9hauhlKdhmhhU]ubj)r:}r;(hZXN.. _`Professional Web Studio`: http://www.professionalwebstudio.com/en/weblog/jKh[j<h\h_hajhc}r<(hjhh]r=h8ahg]he]hf]hj]r>h auhlKehmhhU]ubj)r?}r@(hZX2.. _`mixedCase`: http://www.mixedcase.nl/articles/jKh[j<h\h_hajhc}rA(hjhh]rBhGahg]he]hf]hj]rChauhlKfhmhhU]ubj)rD}rE(hZX-.. _`MadCad's Page`: http://mad-cad.net/blog/jKh[j<h\h_hajhc}rF(hjhh]rGhIahg]he]hf]hj]rHhauhlKghmhhU]ubj)rI}rJ(hZX .. _`SysVar`: http://sysvar.net/jKh[j<h\h_hajhc}rK(hj-hh]rLh9ahg]he]hf]hj]rMh auhlKhhmhhU]ubj)rN}rO(hZXG.. _`Code repository`: https://github.com/Fantomas42/django-blog-zinniajKh[j<h\h_hajhc}rP(hjbhh]rQh=ahg]he]hf]hj]rRhauhlKihmhhU]ubj)rS}rT(hZXA.. _`Documentation`: http://django-blog-zinnia.com/documentation/jKh[j<h\h_hajhc}rU(hjuhh]rVhQahg]he]hf]hj]rWh%auhlKjhmhhU]ubj)rX}rY(hZX@.. _`API documentation`: http://django-blog-zinnia.com/docs/api/jKh[j<h\h_hajhc}rZ(hjhh]r[h?ahg]he]hf]hj]r\hauhlKkhmhhU]ubj)r]}r^(hZXJ.. _`Code coverage`: http://django-blog-zinnia.com/documentation/coverage/jKh[j<h\h_hajhc}r_(hjhh]r`hFahg]he]hf]hj]rahauhlKlhmhhU]ubj)rb}rc(hZXF.. _`Google Group`: http://groups.google.com/group/django-blog-zinnia/jKh[j<h\h_hajhc}rd(hjhh]reh2ahg]he]hf]hj]rfhauhlKmhmhhU]ubj)rg}rh(hZXM.. _`Github Issues`: https://github.com/Fantomas42/django-blog-zinnia/issues/jKh[j<h\h_hajhc}ri(hjhh]rjh5ahg]he]hf]hj]rkh auhlKnhmhhU]ubeubeubahZUU transformerrlNU footnote_refsrm}rnUrefnamesro}rp(X google group]rqjaXmetaweblog api]rrjaXmarkdown]rsj9aXtwitter]rtjaXprofessional web studio]rujaXsysvar]rvj*aXwordpress conversion utility]rwjVaXtypepad]rxjzaXcode repository]ryj_aXblogger conversion utility]rzjEaXapi documentation]r{jaXrestructuredtext]r|jOaXtinymce]r}jraXtextile]r~jDaXakismet]rjoaXbit.ly]rjaX code coverage]rjaX mixedcase]rjaXwindows live writer]rjaX madcad's page]rjaXmobile version]rjaXmarkitup]rj}aXsitemaps]rhaX django-cms]rjaX github issues]rjaXfantomas' side]rjaXentry model extendable]rj(aX documentation]rjraX wymeditor]rjgaXgravatar]rjaXadvanced search engine]rjauUsymbol_footnotesr]rUautofootnote_refsr]rUsymbol_footnote_refsr]rU citationsr]rhmhU current_linerNUtransform_messagesr]rUreporterrNUid_startrKU autofootnotesr]rU citation_refsr}rUindirect_targetsr]rUsettingsr(cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlrUhttp://tools.ietf.org/html/rU tracebackrUpep_referencesrNUstrip_commentsrNU toc_backlinksrUentryrU language_coderUenrU datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesrNhsNUerror_encoding_error_handlerrUbackslashreplacerUdebugrNUembed_stylesheetrUoutput_encoding_error_handlerrUstrictrU sectnum_xformrKUdump_transformsrNU docinfo_xformrKUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUJ/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/overview.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]Ufile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(h?jXh4jh:j&h7jhIjDhPj h9jIh;jhj!h2jbhGj?hJj5hKjh=jNhLjhMjh3jhEj<hDjhNhXhQjSh8j:hRjhSjhFj]uUsubstitution_namesr}rhahmhc}r(he]hh]hg]Usourceh]XJ/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/overview.rstrr}rbhf]hj]uU footnotesr]rUrefidsr}rub.PK؍3F-sqsq-django-blog-zinnia-v0.9/.doctrees/faq.doctreecdocutils.nodes document q)q}q(U nametypesq}q(X templatesqNXrestructuredtextqXfrequently asked questionsqNXmarkdownq X8the templates does not fit to my wishes. what can i do ?q NXspecifying a template directoryq Ximagesq NXmi want to write my entries in markdown, restructuredtext or any lightweight markup language, is it possible ?q NXsorl.thumbnailqX6how can i use the image field for fitting to my skin ?qNXcommentsqNXdjango-threadcommentsqXtextileqXeditionqNXdjango blog quintetqXauthorsqNX>is zinnia able to allow multiple users to edit it's own blog ?qNXPis it possible to have a better comment system, with reply feature for example ?qNX4i want an image gallery in my posts, what can i do ?qNXcontentsqNuUsubstitution_defsq}qUparse_messagesq]qUcurrent_sourceqNU decorationqNUautofootnote_startq KUnameidsq!}q"(hU templatesq#hUrestructuredtextq$hUfrequently-asked-questionsq%h Umarkdownq&h U5the-templates-does-not-fit-to-my-wishes-what-can-i-doq'h Uspecifying-a-template-directoryq(h Uimagesq)h Uii-want-to-write-my-entries-in-markdown-restructuredtext-or-any-lightweight-markup-language-is-it-possibleq*hUsorl-thumbnailq+hU4how-can-i-use-the-image-field-for-fitting-to-my-skinq,hUcommentsq-hUdjango-threadcommentsq.hUtextileq/hUeditionq0hUdjango-blog-quintetq1hUauthorsq2hUcdocutils.nodes reprunicode q?XE/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/faq.rstq@qA}qBbUtagnameqCUsectionqDU attributesqE}qF(UdupnamesqG]UclassesqH]UbackrefsqI]UidsqJ]qKh%aUnamesqL]qMhauUlineqNKUdocumentqOhh7]qP(cdocutils.nodes title qQ)qR}qS(hhAhCUtitleqUhE}qV(hJ]hI]hG]hH]hL]UrefidqWUid1qXuhNKhOhh7]qYcdocutils.nodes Text qZXFrequently Asked Questionsq[q\}q](hhAhCUtopicqahE}qb(hG]hH]qcUcontentsqdahI]hJ]qeh6ahL]qfhauhNKhOhh7]qg(hQ)qh}qi(hNhCU bullet_listqrhE}qs(hG]hH]hI]hJ]hL]uhNNhOhh7]qtcdocutils.nodes list_item qu)qv}qw(hIs Zinnia able to allow multiple users to edit it's own blog ?r9r:}r;(hIs Zinnia able to allow multiple users to edit it's own blog ?r<h=j3ubahChubahChubahChubahChrubehChubhu)r=}r>(hhAhChDhE}ry(hG]hH]hI]hJ]rzh#ahL]r{hauhNKhOhh7]r|(hQ)r}}r~(hhAhChUhE}r(hJ]hI]hG]hH]hL]hWhuhNKhOhh7]rhZX Templatesrr}r(hhAhChDhE}r(hG]hH]hI]hJ]rh'ahL]rh auhNK hOhh7]r(hQ)r}r(hhAhChUhE}r(hJ]hI]hG]hH]hL]hWhuhNK hOhh7]rhZX8The templates does not fit to my wishes. What can I do ?rr}r(hhAhChhE}r(hG]hH]hI]hJ]hL]uhNK hOhh7]r(hZXxThe templates provided for Zinnia are simple but complete and as generic as possible. But you can easily change them by rr}r(hhAhChhE}r(hG]hH]hI]hJ]hL]uhNKhOhh7]r(hZX+A good starting point is to copy-paste the rr}r(hNhCUnoterhE}r(hG]hH]hI]hJ]hL]uhNNhOhh7]rho)r}r(hhAhChhE}r(hG]hH]hI]hJ]hL]uhNKh7]r(hZX-The main content is displayed in block named rr}r(hhAhChhE}r(hG]hH]hI]hJ]hL]uhNKh7]r(hZX0Additional datas are displayed in a block named rr}r(hhAhChhE}r(hG]hH]hI]hJ]hL]uhNKhOhh7]r(hZXYou can also create your own app containing some Zinnia's templates based on inheritance. You can find an app example with HTML5 templates for Zinnia which can be a good starting point to make your own at : rr}r(hhAhChDhE}r (hG]hH]hI]hJ]r h-ahL]r hauhNKhOhh7]r(hQ)r}r(hhAhChUhE}r(hJ]hI]hG]hH]hL]hWhuhNKhOhh7]rhZXCommentsrr}r(hhAhChDhE}r(hG]hH]hI]hJ]rh4ahL]rhauhNK!hOhh7]r(hQ)r}r(hhAhChUhE}r(hJ]hI]hG]hH]hL]hWhuhNK!hOhh7]rhZXPIs it possible to have a better comment system, with reply feature for example ?r r!}r"(hhAhChhE}r%(hG]hH]hI]hJ]hL]uhNK#hOhh7]r&(hZX8Yes the comment system integrated in Zinnia is based on r'r(}r)(hhAhChhE}r8(hG]hH]hI]hJ]hL]uhNK&hOhh7]r9(hZXEIf you want the ability to reply on comments, you can take a look at r:r;}r<(h(hhAhChDhE}rK(hG]hH]hI]hJ]rLh0ahL]rMhauhNK+hOhh7]rN(hQ)rO}rP(hhAhChUhE}rQ(hJ]hI]hG]hH]hL]hWhuhNK+hOhh7]rRhZXEditionrSrT}rU(hhAhChDhE}rX(hG]hH]hI]hJ]rYh*ahL]rZh auhNK.hOhh7]r[(hQ)r\}r](hhAhChUhE}r_(hG]hH]hI]hJ]hL]uhNK.hOhh7]r`(hZXI want to write my entries in rarb}rc(hhAhChhE}r|(hG]hH]hI]hJ]hL]uhNK0hOhh7]r}(hZX(Yes of course, Zinnia currently support r~r}r(hhAhChDhE}r(hG]hH]hI]hJ]rh2ahL]rhauhNK8hOhh7]r(hQ)r}r(hhAhChUhE}r(hJ]hI]hG]hH]hL]hWj!uhNK8hOhh7]rhZXAuthorsrr}r(hhAhChDhE}r(hG]hH]hI]hJ]rh3ahL]rhauhNK;hOhh7]r(hQ)r}r(hhAhChUhE}r(hJ]hI]hG]hH]hL]hWj7uhNK;hOhh7]rhZX>Is Zinnia able to allow multiple users to edit it's own blog ?rr}r(hhAhChhE}r(hG]hH]hI]hJ]hL]uhNK=hOhh7]rhZXZinnia is designed to be multi-site. That's mean you can publish entries on several sites or share an admin interface for all the sites handled.rr}r(hhAhChhE}r(hG]hH]hI]hJ]hL]uhNK@hOhh7]rhZXyZinnia also provides a new permission that's allow or not the user to change the authors. Useful for collaborative works.rr}r(hhAhChhE}r(hG]hH]hI]hJ]hL]uhNKChOhh7]rhZXBut if you want to restrict the edition of the entries by site, authors or whatever you want, it's your job to implement this functionality in your project.rr}r(hhAhChhE}r(hG]hH]hI]hJ]hL]uhNKGhOhh7]rhZXThe simple way to do that, respecting the Django rules, is to override the admin classes provided by Zinnia, and register those classes in another admin site.rr}r(hhAhChDhE}r(hG]hH]hI]hJ]rh)ahL]rh auhNKMhOhh7]r(hQ)r}r(hhAhChUhE}r(hJ]hI]hG]hH]hL]hWjIuhNKMhOhh7]rhZXImagesrr}r(hhAhChDhE}r(hG]hH]hI]hJ]rh,ahL]rhauhNKPhOhh7]r(hQ)r}r(hhAhChUhE}r(hJ]hI]hG]hH]hL]hWj_uhNKPhOhh7]rhZX6How can I use the image field for fitting to my skin ?rr}r(hhAhChhE}r(hG]hH]hI]hJ]hL]uhNKRhOhh7]r(hZXTake a looks at rr}r(hhAhChhE}r (hG]hH]hI]hJ]hL]uhNKThOhh7]r hZX2You can do something like this in your templates :r r}r(hh=jh>hAhCU literal_blockrhE}r(UlinenosrUlanguagerX html+djangoU xml:spacerUpreserverhJ]hI]hG]hH]hL]uhNKVhOhh7]rhZX2rr}r(hhAhChDhE}r(hG]hH]hI]hJ]r h5ahL]r!hauhNK[hOhh7]r"(hQ)r#}r$(hhAhChUhE}r%(hJ]hI]hG]hH]hL]hWjquhNK[hOhh7]r&hZX4I want an image gallery in my posts, what can I do ?r'r(}r)(hhAhChhE}r,(hG]hH]hI]hJ]hL]uhNK]hOhh7]r-(hZX3Simply create a new application with a model named r.r/}r0(hhZX ForeignKeyr?r@}rA(hhAhChhE}rQ(hG]hH]hI]hJ]hL]uhNK`hOhh7]rR(hZX5Then in the admin module of your app, unregister the rSrT}rU(hhAhChhE}rm(hG]hH]hI]hJ]hL]uhNKchOhh7]rnhZXHere an simple example :rorp}rq(hhAhCjhE}rt(jjhJ]hI]hG]hH]hL]uhNKehOhh7]ruhZX]# The model from django.db import models from django.utils.translation import ugettext_lazy as _ from zinnia.models import Entry class EntryImage(models.Model): """Image Model""" entry = models.ForeignKey(Entry, verbose_name=_('entry')) image = models.ImageField(_('image'), upload_to='uploads/gallery') title = models.CharField(_('title'), max_length=250) description = models.TextField(_('description'), blank=True) def __unicode__(self): return self.title # The admin from django.contrib import admin from zinnia.models import Entry from zinnia.admin import EntryAdmin from gallery.models import EntryImage class EntryImageInline(admin.TabularInline): model = EntryImage class EntryAdminImage(EntryAdmin): inlines = (EntryImageInline,) admin.site.unregister(Entry) admin.site.register(Entry, EntryAdminImage)rvrw}rx(hhAhChhE}r|(hG]hH]hI]hJ]hL]uhNKhOhh7]r}(hZX"Another solution is to extend the r~r}r(hhAhCU pending_xrefrhE}r(UreftypeXdocrUrefwarnrU reftargetrXextending_entry_modelU refdomainUhJ]hI]U refexplicithG]hH]hL]UrefdocrXfaqruhNKh7]rj)r}r(hhAhCUtargetrhE}r(jjhJ]rh(ahI]hG]hH]hL]rh auhNKhOhh7]ubj)r}r(hhAhCjhE}r(jjhJ]rh1ahI]hG]hH]hL]rhauhNKhOhh7]ubj)r}r(hhAhCjhE}r(jjAhJ]rh.ahI]hG]hH]hL]rhauhNKhOhh7]ubj)r}r(hhAhCjhE}r(jjghJ]rh&ahI]hG]hH]hL]rh auhNKhOhh7]ubj)r}r(hhAhCjhE}r(jjhJ]rh/ahI]hG]hH]hL]rhauhNKhOhh7]ubj)r}r(hhAhCjhE}r(jjrhJ]rh$ahI]hG]hH]hL]rhauhNKhOhh7]ubj)r}r(h.. _`sorl.thumbnail`: http://code.google.com/p/sorl-thumbnail/jKh=jh>hAhCjhE}r(jjhJ]rh+ahI]hG]hH]hL]rhauhNKhOhh7]ubeubeubeubahq?}q@bUtagnameqAUsectionqBU attributesqC}qD(UdupnamesqE]UclassesqF]UbackrefsqG]UidsqH]qIh#aUnamesqJ]qKhauUlineqLKUdocumentqMhh5]qN(cdocutils.nodes title qO)qP}qQ(h:XAdvanced ConfigurationqRh;h8h.+)\.xml$', 'sitemap', {'sitemaps': sitemaps}),)h;hZh.+)\.xml$', 'sitemap', {'sitemaps': sitemaps}),)qq}q(h:Uh;hubaubeubh7)q}q(h:Uh;h8h`_ service to fight the spam. Like the Akismet protection you need to install the `akismet`_ python module.h;hh`_hC}r (UnameXTypePad AntiSpamhXhttp://antispam.typepad.com/r hH]hG]hE]hF]hJ]uh;jh5]rhVXTypePad AntiSpamrr}r(h:Uh;j ubahAhubcdocutils.nodes target r)r}r(h:X U referencedrKh;jhAUtargetrhC}r(Urefurij hH]rh&ahG]hE]hF]hJ]rh auh5]ubhVXP service to fight the spam. Like the Akismet protection you need to install the rr}r(h:XP service to fight the spam. Like the Akismet protection you need to install the h;jubh)r}r(h:X `akismet`_hKh;jhAhhC}r(UnameXakismethhhH]hG]hE]hF]hJ]uh5]r hVXakismetr!r"}r#(h:Uh;jubaubhVX python module.r$r%}r&(h:X python module.h;jubeubhh)r'}r((h:XBThe register the TypePad AntiSpam protection with this setting: ::r)h;hhr?}r@(h:X@You need an API key. If you don't have any, get one for free at h;j:ubh)rA}rB(h:X1http://antispam.typepad.com/info/get-api-key.htmlrChC}rD(UrefurijChH]hG]hE]hF]hJ]uh;j:h5]rEhVX1http://antispam.typepad.com/info/get-api-key.htmlrFrG}rH(h:Uh;jAubahAhubhVX2 then set it in your project's settings like this:rIrJ}rK(h:X2 then set it in your project's settings like this:h;j:ubeubaubh)rL}rM(h:X#TYPEPAD_SECRET_API_KEY = 'your key'h;hh`_ in your project's settings and add these settings: ::h;jSh`django_bitly `_hC}r}(Unameh hX,http://bitbucket.org/discovery/django-bitly/r~hH]hG]hE]hF]hJ]uh;jth5]rhVX django_bitlyrr}r(h:Uh;j{ubahAhubj)r}r(h:X/ jKh;jthAjhC}r(Urefurij~hH]rh%ahG]hE]hF]hJ]rh auh5]ubhVX3 in your project's settings and add these settings:rr}r(h:X3 in your project's settings and add these settings:h;jtubeubh)r}r(h:XBITLY_LOGIN = 'your bit.ly login' BITLY_API_KEY = 'your bit.ly api key' ZINNIA_URL_SHORTENER_BACKEND = 'zinnia.url_shortener.backends.bitly'h;jSh`_ and add these settings. ::h;jh`_hC}r(UnamehhX%http://github.com/joshthecoder/tweepyrhH]hG]hE]hF]hJ]uh;jh5]rhVXtweepyrr}r(h:Uh;jubahAhubj)r}r(h:X( jKh;jhAjhC}r(UrefurijhH]rh3ahG]hE]hF]hJ]rhauh5]ubhVX and add these settings.rr}r(h:X and add these settings.h;jubeubh)r}r(h:XTWITTER_CONSUMER_KEY = 'Your Consumer Key' TWITTER_CONSUMER_SECRET = 'Your Consumer Secret' TWITTER_ACCESS_KEY = 'Your Access Key' TWITTER_ACCESS_SECRET = 'Your Access Secret'h;jh`_, Zinnia can be integrated into your pages, thanks to the plugin system.h;jh`_hC}r (UnameXDjango-cms 2.0hXhttp://www.django-cms.org/r hH]hG]hE]hF]hJ]uh;jh5]r hVXDjango-cms 2.0r r }r(h:Uh;jubahAhubj)r}r(h:X jKh;jhAjhC}r(Urefurij hH]rh1ahG]hE]hF]hJ]rhauh5]ubhVXH, Zinnia can be integrated into your pages, thanks to the plugin system.rr}r(h:XH, Zinnia can be integrated into your pages, thanks to the plugin system.h;jubeubhh)r}r(h:X\Simply register **zinnia.plugins** in the INSTALLED_APPS section of your project's settings.h;jhr?}r@(h:X is provided.h;j0ubeubhh)rA}rB(h:X,Add this line in your project's settings. ::rCh;jh`_ and follow the `installation instructions `_.h;jPh`_hC}rg(UnamehhX(http://code.google.com/p/django-tinymce/rhhH]hG]hE]hF]hJ]uh;j^h5]rihVXdjango-tinymcerjrk}rl(h:Uh;jeubahAhubj)rm}rn(h:X+ jKh;j^hAjhC}ro(UrefurijhhH]rph$ahG]hE]hF]hJ]rqhauh5]ubhVX and follow the rrrs}rt(h:X and follow the h;j^ubh)ru}rv(h:Xi`installation instructions `_hC}rw(UnameXinstallation instructionshXJhttp://django-tinymce.googlecode.com/svn/trunk/docs/.build/html/index.htmlrxhH]hG]hE]hF]hJ]uh;j^h5]ryhVXinstallation instructionsrzr{}r|(h:Uh;juubahAhubj)r}}r~(h:XM jKh;j^hAjhC}r(UrefurijxhH]rh)ahG]hE]hF]hJ]rh auh5]ubhVX.r}r(h:X.h;j^ubeubhh)r}r(h:X_TinyMCE can be customized by overriding the *admin/zinnia/entry/tinymce_textareas.js* template.h;jPh`_.h;jh`_hC}r(UnamehhX*http://pypi.python.org/pypi/django-xmlrpc/rhH]hG]hE]hF]hJ]uh;jh5]rhVX django-xmlrpcrr}r(h:Uh;jubahAhubj)r}r(h:X- jKh;jhAjhC}r(UrefurijhH]rh/ahG]hE]hF]hJ]rhauh5]ubhVX.r}r(h:X.h;jubeubhh)r}r(h:XZThen register **django_xmlrpc** in your INSTALLED_APPS section of your project's settings.h;jh`_ import *ZINNIA_XMLRPC_METAWEBLOG*.h;jh`_hC}r<(UnameXMetaWeblog APIhX#http://www.xmlrpc.com/metaWeblogApir=hH]hG]hE]hF]hJ]uh;j)h5]r>hVXMetaWeblog APIr?r@}rA(h:Uh;j:ubahAhubj)rB}rC(h:X& jKh;j)hAjhC}rD(Urefurij=hH]rEh"ahG]hE]hF]hJ]rFhauh5]ubhVX import rGrH}rI(h:X import h;j)ubj)rJ}rK(h:X*ZINNIA_XMLRPC_METAWEBLOG*hC}rL(hE]hF]hG]hH]hJ]uh;j)h5]rMhVXZINNIA_XMLRPC_METAWEBLOGrNrO}rP(h:Uh;jJubahAjubhVX.rQ}rR(h:X.h;j)ubeubhh)rS}rT(h:X!You can also use your own mixins.rUh;jhXUpgrading Zinniaq?q@}qA(h"h:h#h8ubaubcdocutils.nodes paragraph qB)qC}qD(h"XIf you want to upgrade your installation of Zinnia from a previous release, it's easy, but you need to be cautious. The whole process takes less than 15 minutes.qEh#h h$h'h)U paragraphqFh+}qG(h-]h.]h/]h0]h2]uh4Kh5hh]qHh>XIf you want to upgrade your installation of Zinnia from a previous release, it's easy, but you need to be cautious. The whole process takes less than 15 minutes.qIqJ}qK(h"hEh#hCubaubh)qL}qM(h"Uh#h h$h'h)h*h+}qN(h-]h.]h/]h0]qOhah2]qPhauh4K h5hh]qQ(h7)qR}qS(h"XDumpingqTh#hLh$h'h)h;h+}qU(h-]h.]h/]h0]h2]uh4K h5hh]qVh>XDumpingqWqX}qY(h"hTh#hRubaubhB)qZ}q[(h"XCThe first thing to do is a to dump your data for safety reasons. ::q\h#hLh$h'h)hFh+}q](h-]h.]h/]h0]h2]uh4K h5hh]q^h>X@The first thing to do is a to dump your data for safety reasons.q_q`}qa(h"X@The first thing to do is a to dump your data for safety reasons.h#hZubaubcdocutils.nodes literal_block qb)qc}qd(h"XQ$ python manage.py dumpdata --indent=2 zinnia > dump_zinnia_before_migration.jsonh#hLh$h'h)U literal_blockqeh+}qf(U xml:spaceqgUpreserveqhh0]h/]h-]h.]h2]uh4K h5hh]qih>XQ$ python manage.py dumpdata --indent=2 zinnia > dump_zinnia_before_migration.jsonqjqk}ql(h"Uh#hcubaubeubh)qm}qn(h"Uh#h h$h'h)h*h+}qo(h-]h.]h/]h0]qphah2]qqhauh4Kh5hh]qr(h7)qs}qt(h"XPreparing the databasequh#hmh$h'h)h;h+}qv(h-]h.]h/]h0]h2]uh4Kh5hh]qwh>XPreparing the databaseqxqy}qz(h"huh#hsubaubhB)q{}q|(h"XThe main problem with the upgrade process is the database. The Zinnia's models can have changed with new or missing fields. That's why Zinnia use `South `_'s migrations to facilitate this step.h#hmh$h'h)hFh+}q}(h-]h.]h/]h0]h2]uh4Kh5hh]q~(h>XThe main problem with the upgrade process is the database. The Zinnia's models can have changed with new or missing fields. That's why Zinnia use qq}q(h"XThe main problem with the upgrade process is the database. The Zinnia's models can have changed with new or missing fields. That's why Zinnia use h#h{ubcdocutils.nodes reference q)q}q(h"X%`South `_h+}q(UnameXSouthUrefuriqXhttp://south.aeracode.org/qh0]h/]h-]h.]h2]uh#h{h]qh>XSouthqq}q(h"Uh#hubah)U referencequbcdocutils.nodes target q)q}q(h"X U referencedqKh#h{h)Utargetqh+}q(Urefurihh0]qhah/]h-]h.]h2]qh auh]ubh>X&'s migrations to facilitate this step.qq}q(h"X&'s migrations to facilitate this step.h#h{ubeubhB)q}q(h"X+So we need to install the South package. ::qh#hmh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4Kh5hh]qh>X(So we need to install the South package.qq}q(h"X(So we need to install the South package.h#hubaubhb)q}q(h"X$ easy_install southh#hmh$h'h)heh+}q(hghhh0]h/]h-]h.]h2]uh4Kh5hh]qh>X$ easy_install southqq}q(h"Uh#hubaubhB)q}q(h"XSouth needs to be registered in your project's settings as an INSTALLED_APPS. Once it is done, use syncdb to finish the installtaion of South in your project. ::h#hmh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4Kh5hh]qh>XSouth needs to be registered in your project's settings as an INSTALLED_APPS. Once it is done, use syncdb to finish the installtaion of South in your project.qq}q(h"XSouth needs to be registered in your project's settings as an INSTALLED_APPS. Once it is done, use syncdb to finish the installtaion of South in your project.h#hubaubhb)q}q(h"X$ python manage.py syncdbh#hmh$h'h)heh+}q(hghhh0]h/]h-]h.]h2]uh4Kh5hh]qh>X$ python manage.py syncdbqq}q(h"Uh#hubaubhB)q}q(h"XoNow we will install the previous migrations of Zinnia to synchronize the current database schema with South. ::h#hmh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4K!h5hh]qh>XlNow we will install the previous migrations of Zinnia to synchronize the current database schema with South.qq}q(h"XlNow we will install the previous migrations of Zinnia to synchronize the current database schema with South.h#hubaubhb)q}q(h"X($ python manage.py migrate zinnia --fakeh#hmh$h'h)heh+}q(hghhh0]h/]h-]h.]h2]uh4K$h5hh]qh>X($ python manage.py migrate zinnia --fakeqq}q(h"Uh#hubaubeubh)q}q(h"Uh#h h$h'h)h*h+}q(h-]h.]h/]h0]qhah2]qh auh4K'h5hh]q(h7)q}q(h"XUpdate Zinnia's codeqh#hh$h'h)h;h+}q(h-]h.]h/]h0]h2]uh4K'h5hh]qh>XUpdate Zinnia's codeq΅q}q(h"hh#hubaubhB)q}q(h"XxWe are now ready to upgrade Zinnia. If you want to use the latest stable version use easy_install with this command : ::h#hh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4K)h5hh]qh>XuWe are now ready to upgrade Zinnia. If you want to use the latest stable version use easy_install with this command :qՅq}q(h"XuWe are now ready to upgrade Zinnia. If you want to use the latest stable version use easy_install with this command :h#hubaubhb)q}q(h"X$ easy_install -U zinniah#hh$h'h)heh+}q(hghhh0]h/]h-]h.]h2]uh4K,h5hh]qh>X$ easy_install -U zinniaq܅q}q(h"Uh#hubaubhB)q}q(h"XPor if you prefer to upgrade from the development release, use pip like that : ::qh#hh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4K.h5hh]qh>XMor if you prefer to upgrade from the development release, use pip like that :q䅁q}q(h"XMor if you prefer to upgrade from the development release, use pip like that :h#hubaubhb)q}q(h"X]$ pip install -U -e git://github.com/Fantomas42/django-blog-zinnia.git#egg=django-blog-zinniah#hh$h'h)heh+}q(hghhh0]h/]h-]h.]h2]uh4K0h5hh]qh>X]$ pip install -U -e git://github.com/Fantomas42/django-blog-zinnia.git#egg=django-blog-zinniaq녁q}q(h"Uh#hubaubeubh)q}q(h"Uh#h h$h'h)h*h+}q(h-]h.]h/]h0]qhah2]qhauh4K3h5hh]q(h7)q}q(h"XUpdate the databaseqh#hh$h'h)h;h+}q(h-]h.]h/]h0]h2]uh4K3h5hh]qh>XUpdate the databaseqq}q(h"hh#hubaubhB)q}q(h"XiThe database should probably be updated to the latest database schema of Zinnia, South will be useful. ::h#hh$h'h)hFh+}q(h-]h.]h/]h0]h2]uh4K5h5hh]qh>XfThe database should probably be updated to the latest database schema of Zinnia, South will be useful.rr}r(h"XfThe database should probably be updated to the latest database schema of Zinnia, South will be useful.h#hubaubhb)r}r(h"X!$ python manage.py migrate zinniah#hh$h'h)heh+}r(hghhh0]h/]h-]h.]h2]uh4K8h5hh]rh>X!$ python manage.py migrate zinniarr}r (h"Uh#jubaubhB)r }r (h"X1The database is now up to date, and ready to use.r h#hh$h'h)hFh+}r (h-]h.]h/]h0]h2]uh4K:h5hh]rh>X1The database is now up to date, and ready to use.rr}r(h"j h#j ubaubeubh)r}r(h"Uh#h h$h'h)h*h+}r(h-]h.]h/]h0]rhah2]rh auh4K=h5hh]r(h7)r}r(h"X Check listrh#jh$h'h)h;h+}r(h-]h.]h/]h0]h2]uh4K=h5hh]rh>X Check listrr}r(h"jh#jubaubhB)r }r!(h"XgIn order to finish the upgrade process, we must check if everything works fine by browsing the website.r"h#jh$h'h)hFh+}r#(h-]h.]h/]h0]h2]uh4K?h5hh]r$h>XgIn order to finish the upgrade process, we must check if everything works fine by browsing the website.r%r&}r'(h"j"h#j ubaubhB)r(}r)(h"XoBy experience, problems mainly come from customized templates, because of changes in the url reverse functions.r*h#jh$h'h)hFh+}r+(h-]h.]h/]h0]h2]uh4KBh5hh]r,h>XoBy experience, problems mainly come from customized templates, because of changes in the url reverse functions.r-r.}r/(h"j*h#j(ubaubeubeubah"UU transformerr0NU footnote_refsr1}r2Urefnamesr3}r4Usymbol_footnotesr5]r6Uautofootnote_refsr7]r8Usymbol_footnote_refsr9]r:U citationsr;]r<h5hU current_liner=NUtransform_messagesr>]r?Ureporterr@NUid_startrAKU autofootnotesrB]rCU citation_refsrD}rEUindirect_targetsrF]rGUsettingsrH(cdocutils.frontend Values rIorJ}rK(Ufootnote_backlinksrLKUrecord_dependenciesrMNU rfc_base_urlrNUhttp://tools.ietf.org/html/rOU tracebackrPUpep_referencesrQNUstrip_commentsrRNU toc_backlinksrSUentryrTU language_coderUUenrVU datestamprWNU report_levelrXKU _destinationrYNU halt_levelrZKU strip_classesr[Nh;NUerror_encoding_error_handlerr\Ubackslashreplacer]Udebugr^NUembed_stylesheetr_Uoutput_encoding_error_handlerr`UstrictraU sectnum_xformrbKUdump_transformsrcNU docinfo_xformrdKUwarning_streamreNUpep_file_url_templaterfUpep-%04drgUexit_status_levelrhKUconfigriNUstrict_visitorrjNUcloak_email_addressesrkUtrim_footnote_reference_spacerlUenvrmNUdump_pseudo_xmlrnNUexpose_internalsroNUsectsubtitle_xformrpU source_linkrqNUrfc_referencesrrNUoutput_encodingrsUutf-8rtU source_urlruNUinput_encodingrvU utf-8-sigrwU_disable_configrxNU id_prefixryUU tab_widthrzKUerror_encodingr{Uasciir|U_sourcer}UK/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/upgrading.rstr~Ugettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjaUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]Ufile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hh hjhhLhhhhhhmhhuUsubstitution_namesr}rh)h5h+}r(h-]h0]h/]Usourceh'h.]h2]uU footnotesr]rUrefidsr}rub.PK؍3F 0"0"/django-blog-zinnia-v0.9/.doctrees/index.doctreecdocutils.nodes document q)q}q(U nametypesq}q(Xgetting startedqNX developmentqNX.welcome to django-blog-zinnia's documentation!qNXadvanced usageq NXnotesq NXrelatedq NX referencesq NXindices and tablesq NX code coverageqX zinnia's apiquUsubstitution_defsq}qUparse_messagesq]qUcurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hUgetting-startedqhU developmentqhU-welcome-to-django-blog-zinnia-s-documentationqh Uadvanced-usageqh Unotesqh Urelatedqh U referencesqh Uindices-and-tablesq hU code-coverageq!hU zinnia-s-apiq"uUchildrenq#]q$(cdocutils.nodes section q%)q&}q'(U rawsourceq(UUparentq)hUsourceq*cdocutils.nodes reprunicode q+XG/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/index.rstq,q-}q.bUtagnameq/Usectionq0U attributesq1}q2(Udupnamesq3]Uclassesq4]Ubackrefsq5]Uidsq6]q7haUnamesq8]q9hauUlineq:KUdocumentq;hh#]q<(cdocutils.nodes title q=)q>}q?(h(X.Welcome to Django-Blog-Zinnia's documentation!q@h)h&h*h-h/UtitleqAh1}qB(h3]h4]h5]h6]h8]uh:Kh;hh#]qCcdocutils.nodes Text qDX.Welcome to Django-Blog-Zinnia's documentation!qEqF}qG(h(h@h)h>ubaubcdocutils.nodes compound qH)qI}qJ(h(Uh)h&h*h-h/UcompoundqKh1}qL(h3]h4]qMUtoctree-wrapperqNah5]h6]h8]uh:Kh;hh#]qOcsphinx.addnodes toctree qP)qQ}qR(h(Uh)hIh*h-h/UtoctreeqSh1}qT(UnumberedqUKU includehiddenqVh)XindexqWU titlesonlyqXUglobqYh6]h5]h3]h4]h8]UentriesqZ]q[X PresentationXoverviewq\q]aUhiddenq^U includefilesq_]q`h\aUmaxdepthqaJuh:Kh#]ubaubh%)qb}qc(h(Uh)h&h*h-h/h0h1}qd(h3]h4]h5]h6]qehah8]qfhauh:K h;hh#]qg(h=)qh}qi(h(XGetting Startedqjh)hbh*h-h/hAh1}qk(h3]h4]h5]h6]h8]uh:K h;hh#]qlhDXGetting Startedqmqn}qo(h(hjh)hhubaubhH)qp}qq(h(Uh)hbh*h-h/hKh1}qr(h3]h4]qshNah5]h6]h8]uh:Kh;hh#]qthP)qu}qv(h(Uh)hph*h-h/hSh1}qw(hUKhVh)hWhXhYh6]h5]h3]h4]h8]hZ]qx(NXinstallqyqzNX upgradingq{q|eh^h_]q}(hyh{ehaJuh:K h#]ubaubeubh%)q~}q(h(Uh)h&h*h-h/h0h1}q(h3]h4]h5]h6]qhah8]qh auh:Kh;hh#]q(h=)q}q(h(XAdvanced Usageqh)h~h*h-h/hAh1}q(h3]h4]h5]h6]h8]uh:Kh;hh#]qhDXAdvanced Usageqq}q(h(hh)hubaubhH)q}q(h(Uh)h~h*h-h/hKh1}q(h3]h4]qhNah5]h6]h8]uh:Nh;hh#]qhP)q}q(h(Uh)hh*h-h/hSh1}q(hUMhVh)hWhXhYh6]h5]h3]h4]h8]hZ]q(NX configurationqqNXchannelsqqNXsearch_enginesqqNX url_shortenerqqNX spam_checkerqqNXextending_entry_modelqqNX import_exportqqeh^h_]q(hhhhhhhehaKuh:Kh#]ubaubeubh%)q}q(h(Uh)h&h*h-h/h0h1}q(h3]h4]h5]h6]qhah8]qhauh:K h;hh#]q(h=)q}q(h(X Developmentqh)hh*h-h/hAh1}q(h3]h4]h5]h6]h8]uh:K h;hh#]qhDX Developmentqq}q(h(hh)hubaubhH)q}q(h(Uh)hh*h-h/hKh1}q(h3]h4]qhNah5]h6]h8]uh:Nh;hh#]qhP)q}q(h(Uh)hh*h-h/hSh1}q(hUMhVh)hWhXhYh6]h5]h3]h4]h8]hZ]q(NX contributionqqNXtestsqqNXbuildoutqqeh^h_]q(hhhehaKuh:K"h#]ubaubeubh%)q}q(h(Uh)h&h*h-h/h0h1}q(h3]h4]h5]h6]qhah8]qh auh:K+h;hh#]q(h=)q}q(h(X Referencesqh)hh*h-h/hAh1}q(h3]h4]h5]h6]h8]uh:K+h;hh#]qhDX Referencesqͅq}q(h(hh)hubaubhH)q}q(h(Uh)hh*h-h/hKh1}q(h3]h4]qhNah5]h6]h8]uh:Nh;hh#]qhP)q}q(h(Uh)hh*h-h/hSh1}q(hUMhVh)hWhXhYh6]h5]h3]h4]h8]hZ]q(NXsettingsqنqNX templatetagsqۆqeh^h_]q(hhehaKuh:K-h#]ubaubeubh%)q}q(h(Uh)h&h*h-h/h0h1}q(h3]h4]h5]h6]qhah8]qh auh:K5h;hh#]q(h=)q}q(h(XNotesqh)hh*h-h/hAh1}q(h3]h4]h5]h6]h8]uh:K5h;hh#]qhDXNotesq酁q}q(h(hh)hubaubhH)q}q(h(Uh)hh*h-h/hKh1}q(h3]h4]qhNah5]h6]h8]uh:Nh;hh#]qhP)q}q(h(Uh)hh*h-h/hSh1}q(hUMhVh)hWhXhYh6]h5]h3]h4]h8]hZ]q(NXfaqqqNX compatibilityqqNXthanksqqNX changelogqqeh^h_]q(hhhhehaKuh:K7h#]ubaubeubh%)q}q(h(Uh)h&h*h-h/h0h1}r(h3]h4]h5]h6]rhah8]rh auh:KAh;hh#]r(h=)r}r(h(XRelatedrh)hh*h-h/hAh1}r(h3]h4]h5]h6]h8]uh:KAh;hh#]rhDXRelatedr r }r (h(jh)jubaubcdocutils.nodes bullet_list r )r }r(h(Uh)hh*h-h/U bullet_listrh1}r(UbulletrX*h6]h5]h3]h4]h8]uh:KCh;hh#]r(cdocutils.nodes list_item r)r}r(h(X9`Zinnia's API `_rh)j h*h-h/U list_itemrh1}r(h3]h4]h5]h6]h8]uh:Nh;hh#]rcdocutils.nodes paragraph r)r}r(h(jh)jh*h-h/U paragraphrh1}r(h3]h4]h5]h6]h8]uh:KCh#]r(cdocutils.nodes reference r )r!}r"(h(jh1}r#(UnameX Zinnia's APIUrefurir$X'http://django-blog-zinnia.com/docs/api/r%h6]h5]h3]h4]h8]uh)jh#]r&hDX Zinnia's APIr'r(}r)(h(Uh)j!ubah/U referencer*ubcdocutils.nodes target r+)r,}r-(h(X* U referencedr.Kh)jh/Utargetr/h1}r0(Urefurij%h6]r1h"ah5]h3]h4]h8]r2hauh#]ubeubaubj)r3}r4(h(XI`Code coverage `_ h)j h*h-h/jh1}r5(h3]h4]h5]h6]h8]uh:Nh;hh#]r6j)r7}r8(h(XH`Code coverage `_r9h)j3h*h-h/jh1}r:(h3]h4]h5]h6]h8]uh:KDh#]r;(j )r<}r=(h(j9h1}r>(UnameX Code coveragej$X5http://django-blog-zinnia.com/documentation/coverage/r?h6]h5]h3]h4]h8]uh)j7h#]r@hDX Code coveragerArB}rC(h(Uh)j<ubah/j*ubj+)rD}rE(h(X8 j.Kh)j7h/j/h1}rF(Urefurij?h6]rGh!ah5]h3]h4]h8]rHhauh#]ubeubaubeubeubeubh%)rI}rJ(h(Uh)hh*h-h/h0h1}rK(h3]h4]h5]h6]rLh ah8]rMh auh:KGh;hh#]rN(h=)rO}rP(h(XIndices and tablesrQh)jIh*h-h/hAh1}rR(h3]h4]h5]h6]h8]uh:KGh;hh#]rShDXIndices and tablesrTrU}rV(h(jQh)jOubaubj )rW}rX(h(Uh)jIh*h-h/jh1}rY(jX*h6]h5]h3]h4]h8]uh:KIh;hh#]rZj)r[}r\(h(X:ref:`search` h)jWh*h-h/jh1}r](h3]h4]h5]h6]h8]uh:Nh;hh#]r^j)r_}r`(h(X :ref:`search`rah)j[h*h-h/jh1}rb(h3]h4]h5]h6]h8]uh:KIh#]rccsphinx.addnodes pending_xref rd)re}rf(h(jah)j_h*h-h/U pending_xrefrgh1}rh(UreftypeXrefUrefwarnriU reftargetrjXsearchU refdomainXstdrkh6]h5]U refexplicith3]h4]h8]UrefdocrlhWuh:KIh#]rmcdocutils.nodes emphasis rn)ro}rp(h(jah1}rq(h3]h4]rr(UxrefrsjkXstd-refrteh5]h6]h8]uh)jeh#]ruhDXsearchrvrw}rx(h(Uh)joubah/Uemphasisryubaubaubaubaubeubeh(UU transformerrzNU footnote_refsr{}r|Urefnamesr}}r~Usymbol_footnotesr]rUautofootnote_refsr]rUsymbol_footnote_refsr]rU citationsr]rh;hU current_linerNUtransform_messagesr]rUreporterrNUid_startrKU autofootnotesr]rU citation_refsr}rUindirect_targetsr]rUsettingsr(cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlrUhttp://tools.ietf.org/html/rU tracebackrUpep_referencesrNUstrip_commentsrNU toc_backlinksrUentryrU language_coderUenrU datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesrNhANUerror_encoding_error_handlerrUbackslashreplacerUdebugrNUembed_stylesheetrUoutput_encoding_error_handlerrUstrictrU sectnum_xformrKUdump_transformsrNU docinfo_xformrKUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUG/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/index.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]Ufile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hhh jIhhbhh&hhh!jDhh~h"j,hhhhuUsubstitution_namesr}rh/h;h1}r(h3]h6]h5]Usourceh-h4]h8]uU footnotesr]rUrefidsr}rub.PK؍3F9zW4W4?django-blog-zinnia-v0.9/.doctrees/extending_entry_model.doctreecdocutils.nodes document q)q}q(U nametypesq}qXextending entry modelqNsUsubstitution_defsq}qUparse_messagesq ]q Ucurrent_sourceq NU decorationq NUautofootnote_startq KUnameidsq}qhUextending-entry-modelqsUchildrenq]qcdocutils.nodes section q)q}q(U rawsourceqUUparentqhUsourceqcdocutils.nodes reprunicode qXW/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/extending_entry_model.rstqq}qbUtagnameqUsectionqU attributesq}q (Udupnamesq!]Uclassesq"]Ubackrefsq#]Uidsq$]q%haUnamesq&]q'hauUlineq(KUdocumentq)hh]q*(cdocutils.nodes title q+)q,}q-(hXExtending Entry modelq.hhhhhUtitleq/h}q0(h!]h"]h#]h$]h&]uh(Kh)hh]q1cdocutils.nodes Text q2XExtending Entry modelq3q4}q5(hh.hh,ubaubcdocutils.nodes paragraph q6)q7}q8(hXEThe Entry model bundled in Zinnia can now be extended and customized.q9hhhhhU paragraphq:h}q;(h!]h"]h#]h$]h&]uh(Kh)hh]q}q?(hh9hh7ubaubh6)q@}qA(hXThis feature is useful for who wants to add some fields in the model, or change its behavior. It allows Zinnia to be a really generic and reusable application.qBhhhhhh:h}qC(h!]h"]h#]h$]h&]uh(Kh)hh]qDh2XThis feature is useful for who wants to add some fields in the model, or change its behavior. It allows Zinnia to be a really generic and reusable application.qEqF}qG(hhBhh@ubaubh6)qH}qI(hXImagine that I find Zinnia really great, but that is misses some fields or features to be the blog app that I need for my django project. For example I need to add a custom field linking to an image gallery, 2 solutions :qJhhhhhh:h}qK(h!]h"]h#]h$]h&]uh(K h)hh]qLh2XImagine that I find Zinnia really great, but that is misses some fields or features to be the blog app that I need for my django project. For example I need to add a custom field linking to an image gallery, 2 solutions :qMqN}qO(hhJhhHubaubcdocutils.nodes bullet_list qP)qQ}qR(hUhhhhhU bullet_listqSh}qT(UbulletqUX*h$]h#]h!]h"]h&]uh(Kh)hh]qV(cdocutils.nodes list_item qW)qX}qY(hX:I search for another django blogging app fitting my needs.qZhhQhhhU list_itemq[h}q\(h!]h"]h#]h$]h&]uh(Nh)hh]q]h6)q^}q_(hhZhhXhhhh:h}q`(h!]h"]h#]h$]h&]uh(Kh]qah2X:I search for another django blogging app fitting my needs.qbqc}qd(hhZhh^ubaubaubhW)qe}qf(hXJI make a monkey patch, but I won't be able to upgrade to future releases. hhQhhhh[h}qg(h!]h"]h#]h$]h&]uh(Nh)hh]qhh6)qi}qj(hXII make a monkey patch, but I won't be able to upgrade to future releases.qkhhehhhh:h}ql(h!]h"]h#]h$]h&]uh(Kh]qmh2XII make a monkey patch, but I won't be able to upgrade to future releases.qnqo}qp(hhkhhiubaubaubeubh6)qq}qr(hXNThese 2 solutions are really bad, that's why Zinnia provides a third solution.qshhhhhh:h}qt(h!]h"]h#]h$]h&]uh(Kh)hh]quh2XNThese 2 solutions are really bad, that's why Zinnia provides a third solution.qvqw}qx(hhshhqubaubhP)qy}qz(hUhhhhhhSh}q{(hUX*h$]h#]h!]h"]h&]uh(Kh)hh]q|hW)q}}q~(hXCCustomizing the model noninvasively with the power of inheritance. hhyhhhh[h}q(h!]h"]h#]h$]h&]uh(Nh)hh]qh6)q}q(hXBCustomizing the model noninvasively with the power of inheritance.qhh}hhhh:h}q(h!]h"]h#]h$]h&]uh(Kh]qh2XBCustomizing the model noninvasively with the power of inheritance.qq}q(hhhhubaubaubaubh6)q}q(hXHow do we do that ?qhhhhhh:h}q(h!]h"]h#]h$]h&]uh(Kh)hh]qh2XHow do we do that ?qq}q(hhhhubaubh6)q}q(hXIn fact, simply by creating an abstract model inherited from EntryBaseModel, adding fields or/and overriding his methods, and registering it with the ``ZINNIA_ENTRY_BASE_MODEL`` setting in your project.hhhhhh:h}q(h!]h"]h#]h$]h&]uh(Kh)hh]q(h2XIn fact, simply by creating an abstract model inherited from EntryBaseModel, adding fields or/and overriding his methods, and registering it with the qq}q(hXIn fact, simply by creating an abstract model inherited from EntryBaseModel, adding fields or/and overriding his methods, and registering it with the hhubcdocutils.nodes literal q)q}q(hX``ZINNIA_ENTRY_BASE_MODEL``h}q(h!]h"]h#]h$]h&]uhhh]qh2XZINNIA_ENTRY_BASE_MODELqq}q(hUhhubahUliteralqubh2X setting in your project.qq}q(hX setting in your project.hhubeubh6)q}q(hX&Example for adding a gallery field. ::qhhhhhh:h}q(h!]h"]h#]h$]h&]uh(Kh)hh]qh2X#Example for adding a gallery field.qq}q(hX#Example for adding a gallery field.hhubaubcdocutils.nodes literal_block q)q}q(hXfrom django.db import models from mygalleryapp.models import Gallery from zinnia.models import EntryAbstractClass class EntryGallery(EntryAbstractClass): gallery = models.ForeignKey(Gallery) class Meta: abstract = TruehhhhhU literal_blockqh}q(U xml:spaceqUpreserveqh$]h#]h!]h"]h&]uh(Kh)hh]qh2Xfrom django.db import models from mygalleryapp.models import Gallery from zinnia.models import EntryAbstractClass class EntryGallery(EntryAbstractClass): gallery = models.ForeignKey(Gallery) class Meta: abstract = Trueqq}q(hUhhubaubh6)q}q(hXPNow you register the EntryGallery model like this in your project's settings. ::hhhhhh:h}q(h!]h"]h#]h$]h&]uh(K*h)hh]qh2XMNow you register the EntryGallery model like this in your project's settings.qq}q(hXMNow you register the EntryGallery model like this in your project's settings.hhubaubh)q}q(hX=ZINNIA_ENTRY_BASE_MODEL = 'appname.custom_entry.EntryGallery'hhhhhhh}q(hhh$]h#]h!]h"]h&]uh(K-h)hh]qh2X=ZINNIA_ENTRY_BASE_MODEL = 'appname.custom_entry.EntryGallery'q…q}q(hUhhubaubh6)q}q(hXDFinally extend the entry's admin class to show your custom field. ::qhhhhhh:h}q(h!]h"]h#]h$]h&]uh(K0h)hh]qh2XAFinally extend the entry's admin class to show your custom field.qʅq}q(hXAFinally extend the entry's admin class to show your custom field.hhubaubh)q}q(hXfrom django.contrib import admin from zinnia.models import Entry from zinnia.admin.entry import EntryAdmin from django.utils.translation import ugettext_lazy as _ class EntryGalleryAdmin(EntryAdmin): # In our case we put the gallery field # into the 'Content' fieldset fieldsets = ((_('Content'), {'fields': ( 'title', 'content', 'image', 'status', 'gallery')})) + \ EntryAdmin.fieldsets[1:] admin.site.unregister(Entry) admin.site.register(Entry, EntryGalleryAdmin)hhhhhhh}q(hhh$]h#]h!]h"]h&]uh(K2h)hh]qh2Xfrom django.contrib import admin from zinnia.models import Entry from zinnia.admin.entry import EntryAdmin from django.utils.translation import ugettext_lazy as _ class EntryGalleryAdmin(EntryAdmin): # In our case we put the gallery field # into the 'Content' fieldset fieldsets = ((_('Content'), {'fields': ( 'title', 'content', 'image', 'status', 'gallery')})) + \ EntryAdmin.fieldsets[1:] admin.site.unregister(Entry) admin.site.register(Entry, EntryGalleryAdmin)qхq}q(hUhhubaubh6)q}q(hXkYou can see another example in the files ``zinnia/plugins/placeholder.py`` and ``zinnia/plugins/admin.py``.hhhhhh:h}q(h!]h"]h#]h$]h&]uh(KCh)hh]q(h2X)You can see another example in the files q؅q}q(hX)You can see another example in the files hhubh)q}q(hX!``zinnia/plugins/placeholder.py``h}q(h!]h"]h#]h$]h&]uhhh]qh2Xzinnia/plugins/placeholder.pyq߅q}q(hUhhubahhubh2X and q⅁q}q(hX and hhubh)q}q(hX``zinnia/plugins/admin.py``h}q(h!]h"]h#]h$]h&]uhhh]qh2Xzinnia/plugins/admin.pyq酁q}q(hUhhubahhubh2X.q}q(hX.hhubeubcdocutils.nodes note q)q}q(hX/You have to respect **4 important rules** : #. Do not import the Entry model in your file defining the extended model because it will cause a circular importation. #. Do not put your abstract model in a file named models.py, it will not work for a non obvious reason. #. Don't forget to tell that your model is abstract. Otherwise a table will be created and the extending process will not work as expected. #. If you extend the Entry model after the syncdb command, you will have to reset the Zinnia application to reflect your changes.hhhNhUnoteqh}q(h!]h"]h#]h$]h&]uh(Nh)hh]q(h6)q}q(hX+You have to respect **4 important rules** :qhhhhhh:h}q(h!]h"]h#]h$]h&]uh(KFh]q(h2XYou have to respect qq}q(hXYou have to respect hhubcdocutils.nodes strong q)q}q(hX**4 important rules**h}q(h!]h"]h#]h$]h&]uhhh]rh2X4 important rulesrr}r(hUhhubahUstrongrubh2X :rr}r(hX :hhubeubcdocutils.nodes enumerated_list r)r }r (hUh}r (Usuffixr U.h$]h#]h!]Uprefixr Uh"]h&]UenumtyperUarabicruhhh]r(hW)r}r(hXuDo not import the Entry model in your file defining the extended model because it will cause a circular importation. h}r(h!]h"]h#]h$]h&]uhj h]rh6)r}r(hXtDo not import the Entry model in your file defining the extended model because it will cause a circular importation.rhjhhhh:h}r(h!]h"]h#]h$]h&]uh(KHh]rh2XtDo not import the Entry model in your file defining the extended model because it will cause a circular importation.rr}r(hjhjubaubahh[ubhW)r}r(hXeDo not put your abstract model in a file named models.py, it will not work for a non obvious reason. h}r(h!]h"]h#]h$]h&]uhj h]r h6)r!}r"(hXdDo not put your abstract model in a file named models.py, it will not work for a non obvious reason.r#hjhhhh:h}r$(h!]h"]h#]h$]h&]uh(KKh]r%h2XdDo not put your abstract model in a file named models.py, it will not work for a non obvious reason.r&r'}r((hj#hj!ubaubahh[ubhW)r)}r*(hXDon't forget to tell that your model is abstract. Otherwise a table will be created and the extending process will not work as expected. h}r+(h!]h"]h#]h$]h&]uhj h]r,h6)r-}r.(hXDon't forget to tell that your model is abstract. Otherwise a table will be created and the extending process will not work as expected.r/hj)hhhh:h}r0(h!]h"]h#]h$]h&]uh(KNh]r1h2XDon't forget to tell that your model is abstract. Otherwise a table will be created and the extending process will not work as expected.r2r3}r4(hj/hj-ubaubahh[ubhW)r5}r6(hX~If you extend the Entry model after the syncdb command, you will have to reset the Zinnia application to reflect your changes.h}r7(h!]h"]h#]h$]h&]uhj h]r8h6)r9}r:(hX~If you extend the Entry model after the syncdb command, you will have to reset the Zinnia application to reflect your changes.r;hj5hhhh:h}r<(h!]h"]h#]h$]h&]uh(KRh]r=h2X~If you extend the Entry model after the syncdb command, you will have to reset the Zinnia application to reflect your changes.r>r?}r@(hj;hj9ubaubahh[ubehUenumerated_listrAubeubeubahUU transformerrBNU footnote_refsrC}rDUrefnamesrE}rFUsymbol_footnotesrG]rHUautofootnote_refsrI]rJUsymbol_footnote_refsrK]rLU citationsrM]rNh)hU current_linerONUtransform_messagesrP]rQUreporterrRNUid_startrSKU autofootnotesrT]rUU citation_refsrV}rWUindirect_targetsrX]rYUsettingsrZ(cdocutils.frontend Values r[or\}r](Ufootnote_backlinksr^KUrecord_dependenciesr_NU rfc_base_urlr`Uhttp://tools.ietf.org/html/raU tracebackrbUpep_referencesrcNUstrip_commentsrdNU toc_backlinksreUentryrfU language_codergUenrhU datestampriNU report_levelrjKU _destinationrkNU halt_levelrlKU strip_classesrmNh/NUerror_encoding_error_handlerrnUbackslashreplaceroUdebugrpNUembed_stylesheetrqUoutput_encoding_error_handlerrrUstrictrsU sectnum_xformrtKUdump_transformsruNU docinfo_xformrvKUwarning_streamrwNUpep_file_url_templaterxUpep-%04dryUexit_status_levelrzKUconfigr{NUstrict_visitorr|NUcloak_email_addressesr}Utrim_footnote_reference_spacer~UenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUW/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/extending_entry_model.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjsUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]rUfile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}rhhsUsubstitution_namesr}rhh)h}r(h!]h$]h#]Usourcehh"]h&]uU footnotesr]rUrefidsr}rub.PK؍3F6$ִ2django-blog-zinnia-v0.9/.doctrees/settings.doctreecdocutils.nodes document q)q}q(U nametypesq}q(Xzinnia_entry_base_modelqNX similarityqNXzinnia_ping_external_urlsqNX zinnia_f_minq NXeditionq NXzinnia_stop_wordsq NXzinnia_entry_templatesq NX zinnia_f_maxq NXlist of settingsqNXzinnia_mail_comment_authorsqNXzinnia_markdown_extensionsqNXzinnia_allow_emptyqNXzinnia_pingback_content_lengthqNXzinnia_paginationqNXzinnia_save_ping_directoriesqNXzinnia_allow_futureqNXzinnia_ping_directoriesqNXviewsqNXzinnia_app_menusqNXzinnia_feeds_max_itemsqNXzinnia_upload_toqNX miscellaneousqNXzinnia_use_twitterqNX+zinnia_mail_comment_notification_recipientsqNXzinnia_copyrightqNX zinnia_auto_close_comments_afterqNXzinnia_url_shortener_backendq NXzinnia_media_urlq!NXzinnia_mail_comment_replyq"NXzinnia_auto_moderate_commentsq#NXzinnia_markup_languageq$NXpingingq%NXzinnia_feeds_formatq&NXzinnia_plugins_templatesq'NXzinnia_wysiwygq(NXzinnia_spam_checker_backendsq)NXurlsq*NXcomment moderationq+NXentryq,NXfeedsq-NXzinnia_protocolq.NXcmsq/NXzinnia_hide_entry_menuq0NuUsubstitution_defsq1}q2Uparse_messagesq3]q4Ucurrent_sourceq5NU decorationq6NUautofootnote_startq7KUnameidsq8}q9(hUzinnia-entry-base-modelq:hU similarityq;hUzinnia-ping-external-urlsqh Uzinnia-stop-wordsq?h Uzinnia-entry-templatesq@h U zinnia-f-maxqAhUlist-of-settingsqBhUzinnia-mail-comment-authorsqChUzinnia-markdown-extensionsqDhUzinnia-allow-emptyqEhUzinnia-pingback-content-lengthqFhUzinnia-paginationqGhUzinnia-save-ping-directoriesqHhUzinnia-allow-futureqIhUzinnia-ping-directoriesqJhUviewsqKhUzinnia-app-menusqLhUzinnia-feeds-max-itemsqMhUzinnia-upload-toqNhU miscellaneousqOhUzinnia-use-twitterqPhU+zinnia-mail-comment-notification-recipientsqQhUzinnia-copyrightqRhU zinnia-auto-close-comments-afterqSh Uzinnia-url-shortener-backendqTh!Uzinnia-media-urlqUh"Uzinnia-mail-comment-replyqVh#Uzinnia-auto-moderate-commentsqWh$Uzinnia-markup-languageqXh%UpingingqYh&Uzinnia-feeds-formatqZh'Uzinnia-plugins-templatesq[h(Uzinnia-wysiwygq\h)Uzinnia-spam-checker-backendsq]h*Uurlsq^h+Ucomment-moderationq_h,Uentryq`h-Ufeedsqah.Uzinnia-protocolqbh/Ucmsqch0Uzinnia-hide-entry-menuqduUchildrenqe]qfcdocutils.nodes section qg)qh}qi(U rawsourceqjUUparentqkhUsourceqlcdocutils.nodes reprunicode qmXJ/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/settings.rstqnqo}qpbUtagnameqqUsectionqrU attributesqs}qt(Udupnamesqu]Uclassesqv]Ubackrefsqw]Uidsqx]qyhBaUnamesqz]q{hauUlineq|KUdocumentq}hhe]q~(cdocutils.nodes title q)q}q(hjXList of settingsqhkhhhlhohqUtitleqhs}q(hu]hv]hw]hx]hz]uh|Kh}hhe]qcdocutils.nodes Text qXList of settingsqq}q(hjhhkhubaubcdocutils.nodes paragraph q)q}q(hjXVZinnia has a lot of parameters to configure the application accordingly to your needs.qhkhhhlhohqU paragraphqhs}q(hu]hv]hw]hx]hz]uh|Kh}hhe]qhXVZinnia has a lot of parameters to configure the application accordingly to your needs.qq}q(hjhhkhubaubh)q}q(hjXCAll settings described here can be found in **zinnia/settings.py**.qhkhhhlhohqhhs}q(hu]hv]hw]hx]hz]uh|Kh}hhe]q(hX,All settings described here can be found in qq}q(hjX,All settings described here can be found in hkhubcdocutils.nodes strong q)q}q(hjX**zinnia/settings.py**hs}q(hu]hv]hw]hx]hz]uhkhhe]qhXzinnia/settings.pyqq}q(hjUhkhubahqUstrongqubhX.q}q(hjX.hkhubeubhg)q}q(hjUhkhhhlhohqhrhs}q(hu]hv]hw]hx]qh`ahz]qh,auh|K h}hhe]q(h)q}q(hjXEntryqhkhhlhohqhhs}q(hu]hv]hw]hx]hz]uh|K h}hhe]qhXEntryqq}q(hjhhkhubaubhg)q}q(hjUhkhhlhohqhrhs}q(hu]hv]hw]hx]qh@ahz]qh auh|Kh}hhe]q(h)q}q(hjXZINNIA_ENTRY_TEMPLATESqhkhhlhohqhhs}q(hu]hv]hw]hx]hz]uh|Kh}hhe]qhXZINNIA_ENTRY_TEMPLATESqq}q(hjhhkhubaubh)q}q(hjX**Default value:** ``()``qhkhhlhohqhhs}q(hu]hv]hw]hx]hz]uh|Kh}hhe]q(h)q}q(hjX**Default value:**hs}q(hu]hv]hw]hx]hz]uhkhhe]qhXDefault value:q̅q}q(hjUhkhubahqhubhX q}q(hjX hkhubcdocutils.nodes literal q)q}q(hjX``()``hs}q(hu]hv]hw]hx]hz]uhkhhe]qhX()qօq}q(hjUhkhubahqUliteralqubeubh)q}q(hjXUList of tuple for extending the list of templates availables for rendering the entry.qhkhhlhohqhhs}q(hu]hv]hw]hx]hz]uh|Kh}hhe]qhXUList of tuple for extending the list of templates availables for rendering the entry.q߅q}q(hjhhkhubaubeubhg)q}q(hjUhkhhlhohqhrhs}q(hu]hv]hw]hx]qh:ahz]qhauh|Kh}hhe]q(h)q}q(hjXZINNIA_ENTRY_BASE_MODELqhkhhlhohqhhs}q(hu]hv]hw]hx]hz]uh|Kh}hhe]qhXZINNIA_ENTRY_BASE_MODELq텁q}q(hjhhkhubaubh)q}q(hjX**Default value:** ``''``qhkhhlhohqhhs}q(hu]hv]hw]hx]hz]uh|Kh}hhe]q(h)q}q(hjX**Default value:**hs}q(hu]hv]hw]hx]hz]uhkhhe]qhXDefault value:qq}q(hjUhkhubahqhubhX q}q(hjX hkhubh)q}q(hjX``''``hs}r(hu]hv]hw]hx]hz]uhkhhe]rhX''rr}r(hjUhkhubahqhubeubh)r}r(hjXpString defining the base Model path for the Entry model. See :doc:`extending_entry_model` for more informations.hkhhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]r(hX=String defining the base Model path for the Entry model. See r r }r (hjX=String defining the base Model path for the Entry model. See hkjubcsphinx.addnodes pending_xref r )r }r(hjX:doc:`extending_entry_model`rhkjhlhohqU pending_xrefrhs}r(UreftypeXdocrUrefwarnrU reftargetrXextending_entry_modelU refdomainUhx]hw]U refexplicithu]hv]hz]UrefdocrXsettingsruh|Khe]rh)r}r(hjjhs}r(hu]hv]r(Uxrefrjehw]hx]hz]uhkj he]rhXextending_entry_modelrr}r (hjUhkjubahqhubaubhX for more informations.r!r"}r#(hjX for more informations.hkjubeubeubhg)r$}r%(hjUhkhhlhohqhrhs}r&(hu]hv]hw]hx]r'hNahz]r(hauh|Kh}hhe]r)(h)r*}r+(hjXZINNIA_UPLOAD_TOr,hkj$hlhohqhhs}r-(hu]hv]hw]hx]hz]uh|Kh}hhe]r.hXZINNIA_UPLOAD_TOr/r0}r1(hjj,hkj*ubaubh)r2}r3(hjX **Default value:** ``'uploads'``r4hkj$hlhohqhhs}r5(hu]hv]hw]hx]hz]uh|Kh}hhe]r6(h)r7}r8(hjX**Default value:**hs}r9(hu]hv]hw]hx]hz]uhkj2he]r:hXDefault value:r;r<}r=(hjUhkj7ubahqhubhX r>}r?(hjX hkj2ubh)r@}rA(hjX ``'uploads'``hs}rB(hu]hv]hw]hx]hz]uhkj2he]rChX 'uploads'rDrE}rF(hjUhkj@ubahqhubeubh)rG}rH(hjXAString setting that tells Zinnia where to upload entries' images.rIhkj$hlhohqhhs}rJ(hu]hv]hw]hx]hz]uh|Kh}hhe]rKhXAString setting that tells Zinnia where to upload entries' images.rLrM}rN(hjjIhkjGubaubeubeubhg)rO}rP(hjUhkhhhlhohqhrhs}rQ(hu]hv]hw]hx]rRh>ahz]rSh auh|K#h}hhe]rT(h)rU}rV(hjXEditionrWhkjOhlhohqhhs}rX(hu]hv]hw]hx]hz]uh|K#h}hhe]rYhXEditionrZr[}r\(hjjWhkjUubaubhg)r]}r^(hjUhkjOhlhohqhrhs}r_(hu]hv]hw]hx]r`hXahz]rah$auh|K&h}hhe]rb(h)rc}rd(hjXZINNIA_MARKUP_LANGUAGErehkj]hlhohqhhs}rf(hu]hv]hw]hx]hz]uh|K&h}hhe]rghXZINNIA_MARKUP_LANGUAGErhri}rj(hjjehkjcubaubh)rk}rl(hjX**Default value:** ``'html'``rmhkj]hlhohqhhs}rn(hu]hv]hw]hx]hz]uh|K'h}hhe]ro(h)rp}rq(hjX**Default value:**hs}rr(hu]hv]hw]hx]hz]uhkjkhe]rshXDefault value:rtru}rv(hjUhkjpubahqhubhX rw}rx(hjX hkjkubh)ry}rz(hjX ``'html'``hs}r{(hu]hv]hw]hx]hz]uhkjkhe]r|hX'html'r}r~}r(hjUhkjyubahqhubeubh)r}r(hjXDString determining the markup language used for writing the entries.rhkj]hlhohqhhs}r(hu]hv]hw]hx]hz]uh|K)h}hhe]rhXDString determining the markup language used for writing the entries.rr}r(hjjhkjubaubeubhg)r}r(hjUhkjOhlhohqhrhs}r(hu]hv]hw]hx]rhDahz]rhauh|K,h}hhe]r(h)r}r(hjXZINNIA_MARKDOWN_EXTENSIONSrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|K,h}hhe]rhXZINNIA_MARKDOWN_EXTENSIONSrr}r(hjjhkjubaubh)r}r(hjX**Default value:** ``''``rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|K-h}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkjubh)r}r(hjX``''``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhX''rr}r(hjUhkjubahqhubeubh)r}r(hjX?Extensions names to be used when rendering entries in MarkDown.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|K/h}hhe]rhX?Extensions names to be used when rendering entries in MarkDown.rr}r(hjjhkjubaubeubhg)r}r(hjUhkjOhlhohqhrhs}r(hu]hv]hw]hx]rh\ahz]rh(auh|K2h}hhe]r(h)r}r(hjXZINNIA_WYSIWYGrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|K2h}hhe]rhXZINNIA_WYSIWYGrr}r(hjjhkjubaubh)r}r(hjX**Default value:** ``'tinymce' if in settings.INSTALLED_APPS else 'wymeditor' if ZINNIA_MARKUP_LANGUAGE is 'html'. If MarkDown, Textile or reStructuredText are used, the value will be 'markitup'.``hkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|K3h}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkjubh)r}r(hjX``'tinymce' if in settings.INSTALLED_APPS else 'wymeditor' if ZINNIA_MARKUP_LANGUAGE is 'html'. If MarkDown, Textile or reStructuredText are used, the value will be 'markitup'.``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhX'tinymce' if in settings.INSTALLED_APPS else 'wymeditor' if ZINNIA_MARKUP_LANGUAGE is 'html'. If MarkDown, Textile or reStructuredText are used, the value will be 'markitup'.rr}r(hjUhkjubahqhubeubh)r}r(hjXxUsed for determining the WYSIWYG editor for editing an entry. Can also be used for disabling the WYSIWYG functionnality.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|K7h}hhe]rhXxUsed for determining the WYSIWYG editor for editing an entry. Can also be used for disabling the WYSIWYG functionnality.rr}r(hjjhkjubaubeubeubhg)r}r(hjUhkhhhlhohqhrhs}r(hu]hv]hw]hx]rhKahz]rhauh|Kr?}r@(hjj;hkj9ubaubeubhg)rA}rB(hjUhkjhlhohqhrhs}rC(hu]hv]hw]hx]rDhIahz]rEhauh|KMh}hhe]rF(h)rG}rH(hjXZINNIA_ALLOW_FUTURErIhkjAhlhohqhhs}rJ(hu]hv]hw]hx]hz]uh|KMh}hhe]rKhXZINNIA_ALLOW_FUTURErLrM}rN(hjjIhkjGubaubh)rO}rP(hjX**Default value:** ``True``rQhkjAhlhohqhhs}rR(hu]hv]hw]hx]hz]uh|KNh}hhe]rS(h)rT}rU(hjX**Default value:**hs}rV(hu]hv]hw]hx]hz]uhkjOhe]rWhXDefault value:rXrY}rZ(hjUhkjTubahqhubhX r[}r\(hjX hkjOubh)r]}r^(hjX``True``hs}r_(hu]hv]hw]hx]hz]uhkjOhe]r`hXTruerarb}rc(hjUhkj]ubahqhubeubh)rd}re(hjX/Used for allowing archives views in the future.rfhkjAhlhohqhhs}rg(hu]hv]hw]hx]hz]uh|KPh}hhe]rhhX/Used for allowing archives views in the future.rirj}rk(hjjfhkjdubaubeubeubhg)rl}rm(hjUhkhhhlhohqhrhs}rn(hu]hv]hw]hx]rohaahz]rph-auh|KTh}hhe]rq(h)rr}rs(hjXFeedsrthkjlhlhohqhhs}ru(hu]hv]hw]hx]hz]uh|KTh}hhe]rvhXFeedsrwrx}ry(hjjthkjrubaubhg)rz}r{(hjUhkjlhlhohqhrhs}r|(hu]hv]hw]hx]r}hZahz]r~h&auh|KWh}hhe]r(h)r}r(hjXZINNIA_FEEDS_FORMATrhkjzhlhohqhhs}r(hu]hv]hw]hx]hz]uh|KWh}hhe]rhXZINNIA_FEEDS_FORMATrr}r(hjjhkjubaubh)r}r(hjX**Default value:** ``'rss'``rhkjzhlhohqhhs}r(hu]hv]hw]hx]hz]uh|KXh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkjubh)r}r(hjX ``'rss'``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhX'rss'rr}r(hjUhkjubahqhubeubh)r}r(hjXRString determining the format of the syndication feeds. Use 'atom' for Atom feeds.rhkjzhlhohqhhs}r(hu]hv]hw]hx]hz]uh|KZh}hhe]rhXRString determining the format of the syndication feeds. Use 'atom' for Atom feeds.rr}r(hjjhkjubaubeubhg)r}r(hjUhkjlhlhohqhrhs}r(hu]hv]hw]hx]rhMahz]rhauh|K^h}hhe]r(h)r}r(hjXZINNIA_FEEDS_MAX_ITEMSrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|K^h}hhe]rhXZINNIA_FEEDS_MAX_ITEMSrr}r(hjjhkjubaubh)r}r(hjX**Default value:** ``15``rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|K_h}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkjubh)r}r(hjX``15``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhX15rr}r(hjUhkjubahqhubeubh)r}r(hjXKInteger used to define the maximum items provided in the syndication feeds.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kah}hhe]rhXKInteger used to define the maximum items provided in the syndication feeds.rr}r(hjjhkjubaubeubeubhg)r}r(hjUhkhhhlhohqhrhs}r(hu]hv]hw]hx]rh^ahz]rh*auh|Keh}hhe]r(h)r}r(hjXURLsrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Keh}hhe]rhXURLsrr}r(hjjhkjubaubhg)r}r(hjUhkjhlhohqhrhs}r(hu]hv]hw]hx]rhbahz]rh.auh|Khh}hhe]r(h)r}r(hjXZINNIA_PROTOCOLrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Khh}hhe]rhXZINNIA_PROTOCOLrr}r(hjjhkjubaubh)r}r(hjX**Default value:** ``'http'``rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kih}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkjubh)r}r(hjX ``'http'``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhX'http'rr}r(hjUhkjubahqhubeubh)r}r(hjX-String representing the protocol of the site.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kkh}hhe]rhX-String representing the protocol of the site.rr}r(hjjhkjubaubeubhg)r }r (hjUhkjhlhohqhrhs}r (hu]hv]hw]hx]r hUahz]r h!auh|Knh}hhe]r(h)r}r(hjXZINNIA_MEDIA_URLrhkj hlhohqhhs}r(hu]hv]hw]hx]hz]uh|Knh}hhe]rhXZINNIA_MEDIA_URLrr}r(hjjhkjubaubh)r}r(hjXB**Default value:** ``os.path.join(settings.MEDIA_URL, 'zinnia/')``rhkj hlhohqhhs}r(hu]hv]hw]hx]hz]uh|Koh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:r r!}r"(hjUhkjubahqhubhX r#}r$(hjX hkjubh)r%}r&(hjX/``os.path.join(settings.MEDIA_URL, 'zinnia/')``hs}r'(hu]hv]hw]hx]hz]uhkjhe]r(hX+os.path.join(settings.MEDIA_URL, 'zinnia/')r)r*}r+(hjUhkj%ubahqhubeubh)r,}r-(hjX9String of the url that handles the media files of Zinnia.r.hkj hlhohqhhs}r/(hu]hv]hw]hx]hz]uh|Kqh}hhe]r0hX9String of the url that handles the media files of Zinnia.r1r2}r3(hjj.hkj,ubaubeubeubhg)r4}r5(hjUhkhhhlhohqhrhs}r6(hu]hv]hw]hx]r7h_ahz]r8h+auh|Kuh}hhe]r9(h)r:}r;(hjXComment moderationr<hkj4hlhohqhhs}r=(hu]hv]hw]hx]hz]uh|Kuh}hhe]r>hXComment moderationr?r@}rA(hjj<hkj:ubaubhg)rB}rC(hjUhkj4hlhohqhrhs}rD(hu]hv]hw]hx]rEhWahz]rFh#auh|Kxh}hhe]rG(h)rH}rI(hjXZINNIA_AUTO_MODERATE_COMMENTSrJhkjBhlhohqhhs}rK(hu]hv]hw]hx]hz]uh|Kxh}hhe]rLhXZINNIA_AUTO_MODERATE_COMMENTSrMrN}rO(hjjJhkjHubaubh)rP}rQ(hjX**Default value:** ``False``rRhkjBhlhohqhhs}rS(hu]hv]hw]hx]hz]uh|Kyh}hhe]rT(h)rU}rV(hjX**Default value:**hs}rW(hu]hv]hw]hx]hz]uhkjPhe]rXhXDefault value:rYrZ}r[(hjUhkjUubahqhubhX r\}r](hjX hkjPubh)r^}r_(hjX ``False``hs}r`(hu]hv]hw]hx]hz]uhkjPhe]rahXFalserbrc}rd(hjUhkj^ubahqhubeubh)re}rf(hjXvDetermine if a new comment should be allowed to show up immediately or should be marked non-public and await approval.rghkjBhlhohqhhs}rh(hu]hv]hw]hx]hz]uh|K{h}hhe]rihXvDetermine if a new comment should be allowed to show up immediately or should be marked non-public and await approval.rjrk}rl(hjjghkjeubaubeubhg)rm}rn(hjUhkj4hlhohqhrhs}ro(hu]hv]hw]hx]rphSahz]rqhauh|Kh}hhe]rr(h)rs}rt(hjX ZINNIA_AUTO_CLOSE_COMMENTS_AFTERruhkjmhlhohqhhs}rv(hu]hv]hw]hx]hz]uh|Kh}hhe]rwhX ZINNIA_AUTO_CLOSE_COMMENTS_AFTERrxry}rz(hjjuhkjsubaubh)r{}r|(hjX**Default value:** ``None``r}hkjmhlhohqhhs}r~(hu]hv]hw]hx]hz]uh|Kh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkj{he]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkj{ubh)r}r(hjX``None``hs}r(hu]hv]hw]hx]hz]uhkj{he]rhXNonerr}r(hjUhkjubahqhubeubh)r}r(hjX5Determine the number of days where comments are open.rhkjmhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhX5Determine the number of days where comments are open.rr}r(hjjhkjubaubeubhg)r}r(hjUhkj4hlhohqhrhs}r(hu]hv]hw]hx]rhVahz]rh"auh|Kh}hhe]r(h)r}r(hjXZINNIA_MAIL_COMMENT_REPLYrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXZINNIA_MAIL_COMMENT_REPLYrr}r(hjjhkjubaubh)r}r(hjX**Default value:** ``False``rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkjubh)r}r(hjX ``False``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXFalserr}r(hjUhkjubahqhubeubh)r}r(hjXTBoolean used for sending an email to comment's authors when a new comment is posted.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXTBoolean used for sending an email to comment's authors when a new comment is posted.rr}r(hjjhkjubaubeubhg)r}r(hjUhkj4hlhohqhrhs}r(hu]hv]hw]hx]rhCahz]rhauh|Kh}hhe]r(h)r}r(hjXZINNIA_MAIL_COMMENT_AUTHORSrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXZINNIA_MAIL_COMMENT_AUTHORSrr}r(hjjhkjubaubh)r}r(hjX**Default value:** ``True``rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkjubh)r}r(hjX``True``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXTruerr}r(hjUhkjubahqhubeubh)r}r(hjXPBoolean used for sending an email to entry authors when a new comment is posted.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXPBoolean used for sending an email to entry authors when a new comment is posted.rr}r(hjjhkjubaubeubhg)r}r(hjUhkj4hlhohqhrhs}r(hu]hv]hw]hx]rhQahz]rhauh|Kh}hhe]r(h)r}r(hjX+ZINNIA_MAIL_COMMENT_NOTIFICATION_RECIPIENTSrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhX+ZINNIA_MAIL_COMMENT_NOTIFICATION_RECIPIENTSrr}r(hjjhkjubaubh)r}r(hjX@**Default value:** ``list of emails based on settings.MANAGERS``rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r (hjX hkjubh)r }r (hjX-``list of emails based on settings.MANAGERS``hs}r (hu]hv]hw]hx]hz]uhkjhe]r hX)list of emails based on settings.MANAGERSrr}r(hjUhkj ubahqhubeubh)r}r(hjXYList of emails used for sending a notification when a new public comment has been posted.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXYList of emails used for sending a notification when a new public comment has been posted.rr}r(hjjhkjubaubeubhg)r}r(hjUhkj4hlhohqhrhs}r(hu]hv]hw]hx]rh]ahz]rh)auh|Kh}hhe]r(h)r}r (hjXZINNIA_SPAM_CHECKER_BACKENDSr!hkjhlhohqhhs}r"(hu]hv]hw]hx]hz]uh|Kh}hhe]r#hXZINNIA_SPAM_CHECKER_BACKENDSr$r%}r&(hjj!hkjubaubh)r'}r((hjX**Default value:** ``()``r)hkjhlhohqhhs}r*(hu]hv]hw]hx]hz]uh|Kh}hhe]r+(h)r,}r-(hjX**Default value:**hs}r.(hu]hv]hw]hx]hz]uhkj'he]r/hXDefault value:r0r1}r2(hjUhkj,ubahqhubhX r3}r4(hjX hkj'ubh)r5}r6(hjX``()``hs}r7(hu]hv]hw]hx]hz]uhkj'he]r8hX()r9r:}r;(hjUhkj5ubahqhubeubh)r<}r=(hjXGList of strings representing the module path to a spam checker backend.r>hkjhlhohqhhs}r?(hu]hv]hw]hx]hz]uh|Kh}hhe]r@hXGList of strings representing the module path to a spam checker backend.rArB}rC(hjj>hkj<ubaubeubeubhg)rD}rE(hjUhkhhhlhohqhrhs}rF(hu]hv]hw]hx]rGhYahz]rHh%auh|Kh}hhe]rI(h)rJ}rK(hjXPingingrLhkjDhlhohqhhs}rM(hu]hv]hw]hx]hz]uh|Kh}hhe]rNhXPingingrOrP}rQ(hjjLhkjJubaubhg)rR}rS(hjUhkjDhlhohqhrhs}rT(hu]hv]hw]hx]rUhJahz]rVhauh|Kh}hhe]rW(h)rX}rY(hjXZINNIA_PING_DIRECTORIESrZhkjRhlhohqhhs}r[(hu]hv]hw]hx]hz]uh|Kh}hhe]r\hXZINNIA_PING_DIRECTORIESr]r^}r_(hjjZhkjXubaubh)r`}ra(hjXA**Default value:** ``('http://django-blog-zinnia.com/xmlrpc/',)``rbhkjRhlhohqhhs}rc(hu]hv]hw]hx]hz]uh|Kh}hhe]rd(h)re}rf(hjX**Default value:**hs}rg(hu]hv]hw]hx]hz]uhkj`he]rhhXDefault value:rirj}rk(hjUhkjeubahqhubhX rl}rm(hjX hkj`ubh)rn}ro(hjX.``('http://django-blog-zinnia.com/xmlrpc/',)``hs}rp(hu]hv]hw]hx]hz]uhkj`he]rqhX*('http://django-blog-zinnia.com/xmlrpc/',)rrrs}rt(hjUhkjnubahqhubeubh)ru}rv(hjX)List of the directories you want to ping.rwhkjRhlhohqhhs}rx(hu]hv]hw]hx]hz]uh|Kh}hhe]ryhX)List of the directories you want to ping.rzr{}r|(hjjwhkjuubaubeubhg)r}}r~(hjUhkjDhlhohqhrhs}r(hu]hv]hw]hx]rh(hjX ZINNIA_F_MAXr?hkj7hlhohqhhs}r@(hu]hv]hw]hx]hz]uh|Kh}hhe]rAhX ZINNIA_F_MAXrBrC}rD(hjj?hkj=ubaubh)rE}rF(hjX**Default value:** ``1.0``rGhkj7hlhohqhhs}rH(hu]hv]hw]hx]hz]uh|Kh}hhe]rI(h)rJ}rK(hjX**Default value:**hs}rL(hu]hv]hw]hx]hz]uhkjEhe]rMhXDefault value:rNrO}rP(hjUhkjJubahqhubhX rQ}rR(hjX hkjEubh)rS}rT(hjX``1.0``hs}rU(hu]hv]hw]hx]hz]uhkjEhe]rVhX1.0rWrX}rY(hjUhkjSubahqhubeubh)rZ}r[(hjX@Float setting of the minimal word frequency for similar entries.r\hkj7hlhohqhhs}r](hu]hv]hw]hx]hz]uh|Kh}hhe]r^hX@Float setting of the minimal word frequency for similar entries.r_r`}ra(hjj\hkjZubaubeubeubhg)rb}rc(hjUhkhhhlhohqhrhs}rd(hu]hv]hw]hx]rehOahz]rfhauh|Kh}hhe]rg(h)rh}ri(hjX Miscellaneousrjhkjbhlhohqhhs}rk(hu]hv]hw]hx]hz]uh|Kh}hhe]rlhX Miscellaneousrmrn}ro(hjjjhkjhubaubhg)rp}rq(hjUhkjbhlhohqhrhs}rr(hu]hv]hw]hx]rshRahz]rthauh|Kh}hhe]ru(h)rv}rw(hjXZINNIA_COPYRIGHTrxhkjphlhohqhhs}ry(hu]hv]hw]hx]hz]uh|Kh}hhe]rzhXZINNIA_COPYRIGHTr{r|}r}(hjjxhkjvubaubh)r~}r(hjX**Default value:** ``'Zinnia'``rhkjphlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkj~he]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkj~ubh)r}r(hjX ``'Zinnia'``hs}r(hu]hv]hw]hx]hz]uhkj~he]rhX'Zinnia'rr}r(hjUhkjubahqhubeubh)r}r(hjX3String used for copyrighting the syndication feeds.rhkjphlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhX3String used for copyrighting the syndication feeds.rr}r(hjjhkjubaubeubhg)r}r(hjUhkjbhlhohqhrhs}r(hu]hv]hw]hx]rh?ahz]rh auh|Kh}hhe]r(h)r}r(hjXZINNIA_STOP_WORDSrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXZINNIA_STOP_WORDSrr}r(hjjhkjubaubh)r}r(hjX-**Default value:** ``See zinnia/settings.py``rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkjubh)r}r(hjX``See zinnia/settings.py``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXSee zinnia/settings.pyrr}r(hjUhkjubahqhubeubh)r}r(hjXnList of common words excluded from the advanced search engine to optimize the search querying and the results.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXnList of common words excluded from the advanced search engine to optimize the search querying and the results.rr}r(hjjhkjubaubeubhg)r}r(hjUhkjbhlhohqhrhs}r(hu]hv]hw]hx]rhTahz]rh auh|Kh}hhe]r(h)r}r(hjXZINNIA_URL_SHORTENER_BACKENDrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXZINNIA_URL_SHORTENER_BACKENDrr}r(hjjhkjubaubh)r}r(hjX>**Default value:** ``'zinnia.url_shortener.backends.default'``rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkjubh)r}r(hjX+``'zinnia.url_shortener.backends.default'``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhX''zinnia.url_shortener.backends.default'rr}r(hjUhkjubahqhubeubh)r}r(hjXAString representing the module path to the url shortener backend.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXAString representing the module path to the url shortener backend.rr}r(hjjhkjubaubeubhg)r}r(hjUhkjbhlhohqhrhs}r(hu]hv]hw]hx]rhPahz]rhauh|Kh}hhe]r(h)r}r(hjXZINNIA_USE_TWITTERrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXZINNIA_USE_TWITTERrr}r(hjjhkjubaubh)r}r(hjX>**Default value:** ``True if python-twitter is in PYTHONPATH``rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr }r (hjUhkjubahqhubhX r }r (hjX hkjubh)r }r(hjX+``True if python-twitter is in PYTHONPATH``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhX'True if python-twitter is in PYTHONPATHrr}r(hjUhkj ubahqhubeubh)r}r(hjX*Boolean telling if Zinnia can use Twitter.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhX*Boolean telling if Zinnia can use Twitter.rr}r(hjjhkjubaubeubeubhg)r}r(hjUhkhhhlhohqhrhs}r(hu]hv]hw]hx]rhcahz]r h/auh|Kh}hhe]r!(h)r"}r#(hjXCMSr$hkjhlhohqhhs}r%(hu]hv]hw]hx]hz]uh|Kh}hhe]r&hXCMSr'r(}r)(hjj$hkj"ubaubh)r*}r+(hjXSAll the settings related to the CMS can be found in **zinnia/plugins/settings.py**.r,hkjhlhohqhhs}r-(hu]hv]hw]hx]hz]uh|Kh}hhe]r.(hX4All the settings related to the CMS can be found in r/r0}r1(hjX4All the settings related to the CMS can be found in hkj*ubh)r2}r3(hjX**zinnia/plugins/settings.py**hs}r4(hu]hv]hw]hx]hz]uhkj*he]r5hXzinnia/plugins/settings.pyr6r7}r8(hjUhkj2ubahqhubhX.r9}r:(hjX.hkj*ubeubhg)r;}r<(hjUhkjhlhohqhrhs}r=(hu]hv]hw]hx]r>hLahz]r?hauh|Kh}hhe]r@(h)rA}rB(hjXZINNIA_APP_MENUSrChkj;hlhohqhhs}rD(hu]hv]hw]hx]hz]uh|Kh}hhe]rEhXZINNIA_APP_MENUSrFrG}rH(hjjChkjAubaubh)rI}rJ(hjX**Default value:** ``('zinnia.plugins.menu.EntryMenu', 'zinnia.plugins.menu.CategoryMenu', 'zinnia.plugins.menu.TagMenu', 'zinnia.plugins.menu.AuthorMenu')``hkj;hlhohqhhs}rK(hu]hv]hw]hx]hz]uh|Kh}hhe]rL(h)rM}rN(hjX**Default value:**hs}rO(hu]hv]hw]hx]hz]uhkjIhe]rPhXDefault value:rQrR}rS(hjUhkjMubahqhubhX rT}rU(hjX hkjIubh)rV}rW(hjX``('zinnia.plugins.menu.EntryMenu', 'zinnia.plugins.menu.CategoryMenu', 'zinnia.plugins.menu.TagMenu', 'zinnia.plugins.menu.AuthorMenu')``hs}rX(hu]hv]hw]hx]hz]uhkjIhe]rYhX('zinnia.plugins.menu.EntryMenu', 'zinnia.plugins.menu.CategoryMenu', 'zinnia.plugins.menu.TagMenu', 'zinnia.plugins.menu.AuthorMenu')rZr[}r\(hjUhkjVubahqhubeubh)r]}r^(hjXXList of strings representing the path to the Menu class provided for the Zinnia AppHook.r_hkj;hlhohqhhs}r`(hu]hv]hw]hx]hz]uh|Kh}hhe]rahXXList of strings representing the path to the Menu class provided for the Zinnia AppHook.rbrc}rd(hjj_hkj]ubaubeubhg)re}rf(hjUhkjhlhohqhrhs}rg(hu]hv]hw]hx]rhhdahz]rih0auh|Kh}hhe]rj(h)rk}rl(hjXZINNIA_HIDE_ENTRY_MENUrmhkjehlhohqhhs}rn(hu]hv]hw]hx]hz]uh|Kh}hhe]rohXZINNIA_HIDE_ENTRY_MENUrprq}rr(hjjmhkjkubaubh)rs}rt(hjX**Default value:** ``True``ruhkjehlhohqhhs}rv(hu]hv]hw]hx]hz]uh|Kh}hhe]rw(h)rx}ry(hjX**Default value:**hs}rz(hu]hv]hw]hx]hz]uhkjshe]r{hXDefault value:r|r}}r~(hjUhkjxubahqhubhX r}r(hjX hkjsubh)r}r(hjX``True``hs}r(hu]hv]hw]hx]hz]uhkjshe]rhXTruerr}r(hjUhkjubahqhubeubh)r}r(hjXGBoolean used for displaying or not the entries in the EntryMenu object.rhkjehlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXGBoolean used for displaying or not the entries in the EntryMenu object.rr}r(hjjhkjubaubeubhg)r}r(hjUhkjhlhohqhrhs}r(hu]hv]hw]hx]rh[ahz]rh'auh|Kh}hhe]r(h)r}r(hjXZINNIA_PLUGINS_TEMPLATESrhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Kh}hhe]rhXZINNIA_PLUGINS_TEMPLATESrr}r(hjjhkjubaubh)r}r(hjX**Default value:** ``()``rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Mh}hhe]r(h)r}r(hjX**Default value:**hs}r(hu]hv]hw]hx]hz]uhkjhe]rhXDefault value:rr}r(hjUhkjubahqhubhX r}r(hjX hkjubh)r}r(hjX``()``hs}r(hu]hv]hw]hx]hz]uhkjhe]rhX()rr}r(hjUhkjubahqhubeubh)r}r(hjXBList of tuple for extending the CMS's plugins rendering templates.rhkjhlhohqhhs}r(hu]hv]hw]hx]hz]uh|Mh}hhe]rhXBList of tuple for extending the CMS's plugins rendering templates.rr}r(hjjhkjubaubeubeubeubahjUU transformerrNU footnote_refsr}rUrefnamesr}rUsymbol_footnotesr]rUautofootnote_refsr]rUsymbol_footnote_refsr]rU citationsr]rh}hU current_linerNUtransform_messagesr]rUreporterrNUid_startrKU autofootnotesr]rU citation_refsr}rUindirect_targetsr]rUsettingsr(cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlrUhttp://tools.ietf.org/html/rU tracebackrUpep_referencesrNUstrip_commentsrNU toc_backlinksrUentryrU language_coderUenrU datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesrNhNUerror_encoding_error_handlerrUbackslashreplacerUdebugrNUembed_stylesheetrUoutput_encoding_error_handlerrUstrictrU sectnum_xformrKUdump_transformsrNU docinfo_xformrKUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUJ/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/settings.rstr Ugettext_compactr U generatorr NUdump_internalsr NU smart_quotesr U pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]Ufile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(h@hh;jhFjhIjAh>jOhNj$hEjhSjmhTjhRjphBhhh]jhKjhLj;hXj]hAj7h_j4h?jh[jhDjhbjh=j h]q?haUnamesq@]qAhauUlineqBKUdocumentqChh+]qD(cdocutils.nodes title qE)qF}qG(h0X InstallationqHh1h.h2h5h7UtitleqIh9}qJ(h;]h<]h=]h>]h@]uhBKhChh+]qKcdocutils.nodes Text qLX InstallationqMqN}qO(h0hHh1hFubaubh-)qP}qQ(h0Uh1h.h2h5h7h8h9}qR(h;]h<]h=]h>]qSh&ah@]qThauhBKhChh+]qU(hE)qV}qW(h0X DependenciesqXh1hPh2h5h7hIh9}qY(h;]h<]h=]h>]h@]uhBKhChh+]qZhLX Dependenciesq[q\}q](h0hXh1hVubaubcdocutils.nodes paragraph q^)q_}q`(h0X;Make sure to install these packages prior to installation :qah1hPh2h5h7U paragraphqbh9}qc(h;]h<]h=]h>]h@]uhBKhChh+]qdhLX;Make sure to install these packages prior to installation :qeqf}qg(h0hah1h_ubaubcdocutils.nodes bullet_list qh)qi}qj(h0Uh1hPh2h5h7U bullet_listqkh9}ql(UbulletqmX*h>]h=]h;]h<]h@]uhBK hChh+]qn(cdocutils.nodes list_item qo)qp}qq(h0X-`Python 2.x `_ >= 2.5h1hih2h5h7U list_itemqrh9}qs(h;]h<]h=]h>]h@]uhBNhChh+]qth^)qu}qv(h0X-`Python 2.x `_ >= 2.5h1hph2h5h7hbh9}qw(h;]h<]h=]h>]h@]uhBK h+]qx(cdocutils.nodes reference qy)qz}q{(h0X&`Python 2.x `_h9}q|(UnameX Python 2.xUrefuriq}Xhttp://www.python.org/q~h>]h=]h;]h<]h@]uh1huh+]qhLX Python 2.xqq}q(h0Uh1hzubah7U referencequbcdocutils.nodes target q)q}q(h0X U referencedqKh1huh7Utargetqh9}q(Urefurih~h>]qh"ah=]h;]h<]h@]qh auh+]ubhLX >= 2.5qq}q(h0X >= 2.5h1huubeubaubho)q}q(h0X0`Django `_ >= 1.2h1hih2h5h7hrh9}q(h;]h<]h=]h>]h@]uhBNhChh+]qh^)q}q(h0X0`Django `_ >= 1.2h1hh2h5h7hbh9}q(h;]h<]h=]h>]h@]uhBK h+]q(hy)q}q(h0X)`Django `_h9}q(UnameXDjangoh}Xhttp://www.djangoproject.com/qh>]h=]h;]h<]h@]uh1hh+]qhLXDjangoqq}q(h0Uh1hubah7hubh)q}q(h0X hKh1hh7hh9}q(Urefurihh>]qh$ah=]h;]h<]h@]qh auh+]ubhLX >= 1.2qq}q(h0X >= 1.2h1hubeubaubho)q}q(h0XE`django-mptt `_ >= 0.4.2h1hih2h5h7hrh9}q(h;]h<]h=]h>]h@]uhBNhChh+]qh^)q}q(h0XE`django-mptt `_ >= 0.4.2h1hh2h5h7hbh9}q(h;]h<]h=]h>]h@]uhBK h+]q(hy)q}q(h0X<`django-mptt `_h9}q(Unamehh}X+https://github.com/django-mptt/django-mptt/qh>]h=]h;]h<]h@]uh1hh+]qhLX django-mpttqq}q(h0Uh1hubah7hubh)q}q(h0X. hKh1hh7hh9}q(Urefurihh>]qh(ah=]h;]h<]h@]qhauh+]ubhLX >= 0.4.2qq}q(h0X >= 0.4.2h1hubeubaubho)q}q(h0XE`django-tagging `_ >= 0.3.1h1hih2h5h7hrh9}q(h;]h<]h=]h>]h@]uhBNhChh+]qh^)q}q(h0XE`django-tagging `_ >= 0.3.1h1hh2h5h7hbh9}q(h;]h<]h=]h>]h@]uhBKh+]q(hy)q}q(h0X<`django-tagging `_h9}q(Unameh h}X(http://code.google.com/p/django-tagging/qh>]h=]h;]h<]h@]uh1hh+]qhLXdjango-taggingq̅q}q(h0Uh1hubah7hubh)q}q(h0X+ hKh1hh7hh9}q(Urefurihh>]qh ah=]h;]h<]h@]qh auh+]ubhLX >= 0.3.1qԅq}q(h0X >= 0.3.1h1hubeubaubho)q}q(h0XJ`BeautifulSoup `_ >= 3.2.0 h1hih2h5h7hrh9}q(h;]h<]h=]h>]h@]uhBNhChh+]qh^)q}q(h0XI`BeautifulSoup `_ >= 3.2.0h1hh2h5h7hbh9}q(h;]h<]h=]h>]h@]uhBKh+]q(hy)q}q(h0X@`BeautifulSoup `_h9}q(UnameX BeautifulSouph}X-http://www.crummy.com/software/BeautifulSoup/qh>]h=]h;]h<]h@]uh1hh+]qhLX BeautifulSoupq䅁q}q(h0Uh1hubah7hubh)q}q(h0X0 hKh1hh7hh9}q(Urefurihh>]qh#ah=]h;]h<]h@]qh auh+]ubhLX >= 3.2.0q셁q}q(h0X >= 3.2.0h1hubeubaubeubh^)q}q(h0XHThe packages below are optionnal but needed for run the full test suite.qh1hPh2h5h7hbh9}q(h;]h<]h=]h>]h@]uhBKhChh+]qhLXHThe packages below are optionnal but needed for run the full test suite.qq}q(h0hh1hubaubhh)q}q(h0Uh1hPh2h5h7hkh9}q(hmX*h>]h=]h;]h<]h@]uhBKhChh+]q(ho)q}q(h0X8`pyparsing `_ >= 1.5.5h1hh2h5h7hrh9}q(h;]h<]h=]h>]h@]uhBNhChh+]qh^)q}r(h0X8`pyparsing `_ >= 1.5.5h1hh2h5h7hbh9}r(h;]h<]h=]h>]h@]uhBKh+]r(hy)r}r(h0X/`pyparsing `_h9}r(Unamehh}X http://pyparsing.wikispaces.com/rh>]h=]h;]h<]h@]uh1hh+]rhLX pyparsingrr }r (h0Uh1jubah7hubh)r }r (h0X# hKh1hh7hh9}r (Urefurijh>]rh)ah=]h;]h<]h@]rhauh+]ubhLX >= 1.5.5rr}r(h0X >= 1.5.5h1hubeubaubho)r}r(h0XH`django-xmlrpc `_ >= 0.1.3 h1hh2h5h7hrh9}r(h;]h<]h=]h>]h@]uhBNhChh+]rh^)r}r(h0XG`django-xmlrpc `_ >= 0.1.3h1jh2h5h7hbh9}r(h;]h<]h=]h>]h@]uhBKh+]r(hy)r}r(h0X>`django-xmlrpc `_h9}r(Unamehh}X+https://github.com/Fantomas42/django-xmlrpcrh>]h=]h;]h<]h@]uh1jh+]rhLX django-xmlrpcr r!}r"(h0Uh1jubah7hubh)r#}r$(h0X. hKh1jh7hh9}r%(Urefurijh>]r&h*ah=]h;]h<]h@]r'hauh+]ubhLX >= 0.1.3r(r)}r*(h0X >= 0.1.3h1jubeubaubeubh^)r+}r,(h0XuNote that all the dependencies will be resolved if you install Zinnia with *pip* or *easy_install*, excepting Django.h1hPh2h5h7hbh9}r-(h;]h<]h=]h>]h@]uhBKhChh+]r.(hLXKNote that all the dependencies will be resolved if you install Zinnia with r/r0}r1(h0XKNote that all the dependencies will be resolved if you install Zinnia with h1j+ubcdocutils.nodes emphasis r2)r3}r4(h0X*pip*h9}r5(h;]h<]h=]h>]h@]uh1j+h+]r6hLXpipr7r8}r9(h0Uh1j3ubah7Uemphasisr:ubhLX or r;r<}r=(h0X or h1j+ubj2)r>}r?(h0X*easy_install*h9}r@(h;]h<]h=]h>]h@]uh1j+h+]rAhLX easy_installrBrC}rD(h0Uh1j>ubah7j:ubhLX, excepting Django.rErF}rG(h0X, excepting Django.h1j+ubeubeubh-)rH}rI(h0Uh1h.h2h5h7h8h9}rJ(h;]h<]h=]h>]rKh!ah@]rLh auhBKhChh+]rM(hE)rN}rO(h0XGetting the coderPh1jHh2h5h7hIh9}rQ(h;]h<]h=]h>]h@]uhBKhChh+]rRhLXGetting the coderSrT}rU(h0jPh1jNubaubh^)rV}rW(h0X{You could retrieve the last sources from http://github.com/Fantomas42/django-blog-zinnia and run the installation script ::h1jHh2h5h7hbh9}rX(h;]h<]h=]h>]h@]uhBK!hChh+]rY(hLX)You could retrieve the last sources from rZr[}r\(h0X)You could retrieve the last sources from h1jVubhy)r]}r^(h0X/http://github.com/Fantomas42/django-blog-zinniar_h9}r`(Urefurij_h>]h=]h;]h<]h@]uh1jVh+]rahLX/http://github.com/Fantomas42/django-blog-zinniarbrc}rd(h0Uh1j]ubah7hubhLX and run the installation scriptrerf}rg(h0X and run the installation scripth1jVubeubcdocutils.nodes literal_block rh)ri}rj(h0X$ python setup.py installh1jHh2h5h7U literal_blockrkh9}rl(U xml:spacermUpreservernh>]h=]h;]h<]h@]uhBK%hChh+]rohLX$ python setup.py installrprq}rr(h0Uh1jiubaubh^)rs}rt(h0X or use pip ::ruh1jHh2h5h7hbh9}rv(h;]h<]h=]h>]h@]uhBK'hChh+]rwhLX or use piprxry}rz(h0X or use piph1jsubaubjh)r{}r|(h0XZ$ pip install -e git://github.com/Fantomas42/django-blog-zinnia.git#egg=django-blog-zinniah1jHh2h5h7jkh9}r}(jmjnh>]h=]h;]h<]h@]uhBK)hChh+]r~hLXZ$ pip install -e git://github.com/Fantomas42/django-blog-zinnia.git#egg=django-blog-zinniarr}r(h0Uh1j{ubaubh^)r}r(h0X1For the latest stable version use easy_install ::rh1jHh2h5h7hbh9}r(h;]h<]h=]h>]h@]uhBK+hChh+]rhLX.For the latest stable version use easy_installrr}r(h0X.For the latest stable version use easy_installh1jubaubjh)r}r(h0X!$ easy_install django-blog-zinniah1jHh2h5h7jkh9}r(jmjnh>]h=]h;]h<]h@]uhBK-hChh+]rhLX!$ easy_install django-blog-zinniarr}r(h0Uh1jubaubeubh-)r}r(h0Uh1h.h2h5h7h8h9}r(h;]h<]h=]h>]rh%ah@]rhauhBK0hChh+]r(hE)r}r(h0X Applicationsrh1jh2h5h7hIh9}r(h;]h<]h=]h>]h@]uhBK0hChh+]rhLX Applicationsrr}r(h0jh1jubaubh^)r}r(h0XwThen register **zinnia**, and these following applications in the INSTALLED_APPS section of your project's settings. ::h1jh2h5h7hbh9}r(h;]h<]h=]h>]h@]uhBK2hChh+]r(hLXThen register rr}r(h0XThen register h1jubcdocutils.nodes strong r)r}r(h0X **zinnia**h9}r(h;]h<]h=]h>]h@]uh1jh+]rhLXzinniarr}r(h0Uh1jubah7UstrongrubhLX\, and these following applications in the INSTALLED_APPS section of your project's settings.rr}r(h0X\, and these following applications in the INSTALLED_APPS section of your project's settings.h1jubeubjh)r}r(h0XINSTALLED_APPS = ( # Your favorite apps 'django.contrib.contenttypes', 'django.contrib.comments', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'tagging', 'mptt', 'zinnia',)h1jh2h5h7jkh9}r(jmjnh>]h=]h;]h<]h@]uhBK5hChh+]rhLXINSTALLED_APPS = ( # Your favorite apps 'django.contrib.contenttypes', 'django.contrib.comments', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'tagging', 'mptt', 'zinnia',)rr}r(h0Uh1jubaubeubh-)r}r(h0Uh1h.h2h5h7h8h9}r(h;]h<]h=]h>]rh'ah@]rhauhBKAhChh+]r(hE)r}r(h0XTemplate Context Processorsrh1jh2h5h7hIh9}r(h;]h<]h=]h>]h@]uhBKAhChh+]rhLXTemplate Context Processorsrr}r(h0jh1jubaubh^)r}r(h0XJAdd these following template context processors if not already present. ::rh1jh2h5h7hbh9}r(h;]h<]h=]h>]h@]uhBKChChh+]rhLXGAdd these following template context processors if not already present.rr}r(h0XGAdd these following template context processors if not already present.h1jubaubjh)r}r(h0XTEMPLATE_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',)h1jh2h5h7jkh9}r(jmjnh>]h=]h;]h<]h@]uhBKEhChh+]rhLXTEMPLATE_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',)rr}r(h0Uh1jubaubeubh-)r}r(h0Uh1h.h2h5h7h8h9}r(h;]h<]h=]h>]rhah@]rhauhBKNhChh+]r(hE)r}r(h0X Media Filesrh1jh2h5h7hIh9}r(h;]h<]h=]h>]h@]uhBKNhChh+]rhLX Media Filesrr}r(h0jh1jubaubh^)r}r(h0XYou 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.h1jh2h5h7hbh9}r(h;]h<]h=]h>]h@]uhBKPhChh+]r(hLXqYou have to make a symbolic link from zinnia/media/zinnia directory to your media directory or make a copy named rr}r(h0XqYou have to make a symbolic link from zinnia/media/zinnia directory to your media directory or make a copy named h1jubj)r}r(h0X **zinnia**h9}r(h;]h<]h=]h>]h@]uh1jh+]rhLXzinniarr}r(h0Uh1jubah7jubhLX^, but if want to change this value, define ZINNIA_MEDIA_URL in the settings.py as appropriate.rr}r(h0X^, but if want to change this value, define ZINNIA_MEDIA_URL in the settings.py as appropriate.h1jubeubh^)r}r(h0X#And don't forget to serve this URL.rh1jh2h5h7hbh9}r(h;]h<]h=]h>]h@]uhBKThChh+]rhLX#And don't forget to serve this URL.rr}r(h0jh1jubaubeubh-)r}r(h0Uh1h.h2h5h7h8h9}r(h;]h<]h=]h>]rhah@]rhauhBKWhChh+]r(hE)r}r(h0XURLsrh1jh2h5h7hIh9}r(h;]h<]h=]h>]h@]uhBKWhChh+]rhLXURLsrr }r (h0jh1jubaubh^)r }r (h0XRAdd the following lines to your project's urls.py in order to display the blog. ::h1jh2h5h7hbh9}r (h;]h<]h=]h>]h@]uhBKYhChh+]rhLXOAdd the following lines to your project's urls.py in order to display the blog.rr}r(h0XOAdd the following lines to your project's urls.py in order to display the blog.h1j ubaubjh)r}r(h0Xfurl(r'^weblog/', include('zinnia.urls')), url(r'^comments/', include('django.contrib.comments.urls')),h1jh2h5h7jkh9}r(jmjnh>]h=]h;]h<]h@]uhBK\hChh+]rhLXfurl(r'^weblog/', include('zinnia.urls')), url(r'^comments/', include('django.contrib.comments.urls')),rr}r(h0Uh1jubaubh^)r}r(h0XNote that the default zinnia URLset is provided for convenient usage, but you can customize your URLs if you want. Here's how : ::h1jh2h5h7hbh9}r(h;]h<]h=]h>]h@]uhBK_hChh+]rhLXNote that the default zinnia URLset is provided for convenient usage, but you can customize your URLs if you want. Here's how :rr}r(h0XNote that the default zinnia URLset is provided for convenient usage, but you can customize your URLs if you want. Here's how :h1jubaubjh)r }r!(h0Xurl(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')),h1jh2h5h7jkh9}r"(jmjnh>]h=]h;]h<]h@]uhBKbhChh+]r#hLXurl(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')),r$r%}r&(h0Uh1j ubaubeubeubah0UU transformerr'NU footnote_refsr(}r)Urefnamesr*}r+Usymbol_footnotesr,]r-Uautofootnote_refsr.]r/Usymbol_footnote_refsr0]r1U citationsr2]r3hChU current_liner4NUtransform_messagesr5]r6Ureporterr7NUid_startr8KU autofootnotesr9]r:U citation_refsr;}r<Uindirect_targetsr=]r>Usettingsr?(cdocutils.frontend Values r@orA}rB(Ufootnote_backlinksrCKUrecord_dependenciesrDNU rfc_base_urlrEUhttp://tools.ietf.org/html/rFU tracebackrGUpep_referencesrHNUstrip_commentsrINU toc_backlinksrJUentryrKU language_coderLUenrMU datestamprNNU report_levelrOKU _destinationrPNU halt_levelrQKU strip_classesrRNhINUerror_encoding_error_handlerrSUbackslashreplacerTUdebugrUNUembed_stylesheetrVUoutput_encoding_error_handlerrWUstrictrXU sectnum_xformrYKUdump_transformsrZNU docinfo_xformr[KUwarning_streamr\NUpep_file_url_templater]Upep-%04dr^Uexit_status_levelr_KUconfigr`NUstrict_visitorraNUcloak_email_addressesrbUtrim_footnote_reference_spacercUenvrdNUdump_pseudo_xmlreNUexpose_internalsrfNUsectsubtitle_xformrgU source_linkrhNUrfc_referencesriNUoutput_encodingrjUutf-8rkU source_urlrlNUinput_encodingrmU utf-8-sigrnU_disable_configroNU id_prefixrpUU tab_widthrqKUerror_encodingrrUasciirsU_sourcertUI/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/install.rstruUgettext_compactrvU generatorrwNUdump_internalsrxNU smart_quotesryU pep_base_urlrzUhttp://www.python.org/dev/peps/r{Usyntax_highlightr|Ulongr}Uinput_encoding_error_handlerr~jXUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]Ufile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hjhjhh.h hh#hh'jh$hh%jh&hPh!jHh(hh"hh*j#h)j uUsubstitution_namesr}rh7hCh9}r(h;]h>]h=]Usourceh5h<]h@]uU footnotesr]rUrefidsr}rub.PK؍3F!##0django-blog-zinnia-v0.9/.doctrees/thanks.doctreecdocutils.nodes document q)q}q(U nametypesq}q(X transifex.netqXthanksqNXreadthedocs.orgquUsubstitution_defsq }q Uparse_messagesq ]q Ucurrent_sourceq NU decorationqNUautofootnote_startqKUnameidsq}q(hU transifex-netqhUthanksqhUreadthedocs-orgquUchildrenq]qcdocutils.nodes section q)q}q(U rawsourceqUUparentqhUsourceqcdocutils.nodes reprunicode qXH/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/thanks.rstqq}q bUtagnameq!Usectionq"U attributesq#}q$(Udupnamesq%]Uclassesq&]Ubackrefsq']Uidsq(]q)haUnamesq*]q+hauUlineq,KUdocumentq-hh]q.(cdocutils.nodes title q/)q0}q1(hXThanksq2hhhhh!Utitleq3h#}q4(h%]h&]h']h(]h*]uh,Kh-hh]q5cdocutils.nodes Text q6XThanksq7q8}q9(hh2hh0ubaubcdocutils.nodes paragraph q:)q;}q<(hXlZinnia cannot be a great application without great contributors who make this application greatest each day.q=hhhhh!U paragraphq>h#}q?(h%]h&]h']h(]h*]uh,Kh-hh]q@h6XlZinnia cannot be a great application without great contributors who make this application greatest each day.qAqB}qC(hh=hh;ubaubcdocutils.nodes bullet_list qD)qE}qF(hUhhhhh!U bullet_listqGh#}qH(UbulletqIX*h(]h']h%]h&]h*]uh,Kh-hh]qJ(cdocutils.nodes list_item qK)qL}qM(hXBjorn Meyer (bmeyer71)qNhhEhhh!U list_itemqOh#}qP(h%]h&]h']h(]h*]uh,Nh-hh]qQh:)qR}qS(hhNhhLhhh!h>h#}qT(h%]h&]h']h(]h*]uh,Kh]qUh6XBjorn Meyer (bmeyer71)qVqW}qX(hhNhhRubaubaubhK)qY}qZ(hXJannis Leideil (jezdez)q[hhEhhh!hOh#}q\(h%]h&]h']h(]h*]uh,Nh-hh]q]h:)q^}q_(hh[hhYhhh!h>h#}q`(h%]h&]h']h(]h*]uh,Kh]qah6XJannis Leideil (jezdez)qbqc}qd(hh[hh^ubaubaubhK)qe}qf(hX Tobias von Klipstein (klipstein)qghhEhhh!hOh#}qh(h%]h&]h']h(]h*]uh,Nh-hh]qih:)qj}qk(hhghhehhh!h>h#}ql(h%]h&]h']h(]h*]uh,K h]qmh6X Tobias von Klipstein (klipstein)qnqo}qp(hhghhjubaubaubhK)qq}qr(hXMark Renton (indexofire)qshhEhhh!hOh#}qt(h%]h&]h']h(]h*]uh,Nh-hh]quh:)qv}qw(hhshhqhhh!h>h#}qx(h%]h&]h']h(]h*]uh,K h]qyh6XMark Renton (indexofire)qzq{}q|(hhshhvubaubaubhK)q}}q~(hXBill Mill (llimllib)qhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhh}hhh!h>h#}q(h%]h&]h']h(]h*]uh,K h]qh6XBill Mill (llimllib)qq}q(hhhhubaubaubhK)q}q(hXKevin Renskers (Bolhoed)qhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhhhhh!h>h#}q(h%]h&]h']h(]h*]uh,K h]qh6XKevin Renskers (Bolhoed)qq}q(hhhhubaubaubhK)q}q(hXJonathan Stoppani (GaretJax)qhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhhhhh!h>h#}q(h%]h&]h']h(]h*]uh,K h]qh6XJonathan Stoppani (GaretJax)qq}q(hhhhubaubaubhK)q}q(hXElijah Rutschman (elijahr)qhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhhhhh!h>h#}q(h%]h&]h']h(]h*]uh,Kh]qh6XElijah Rutschman (elijahr)qq}q(hhhhubaubaubhK)q}q(hXThomas Bartelmess (tbartelmess)qhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhhhhh!h>h#}q(h%]h&]h']h(]h*]uh,Kh]qh6XThomas Bartelmess (tbartelmess)qq}q(hhhhubaubaubhK)q}q(hX Franck BretqhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhhhhh!h>h#}q(h%]h&]h']h(]h*]uh,Kh]qh6X Franck Bretq…q}q(hhhhubaubaubhK)q}q(hX Jason DaviesqhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhhhhh!h>h#}q(h%]h&]h']h(]h*]uh,Kh]qh6X Jason Daviesq΅q}q(hhhhubaubaubhK)q}q(hXBrandon TaylorqhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhhhhh!h>h#}q(h%]h&]h']h(]h*]uh,Kh]qh6XBrandon Taylorqڅq}q(hhhhubaubaubhK)q}q(hXbernhardvallantqhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhhhhh!h>h#}q(h%]h&]h']h(]h*]uh,Kh]qh6Xbernhardvallantq慁q}q(hhhhubaubaubhK)q}q(hXnl0qhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhhhhh!h>h#}q(h%]h&]h']h(]h*]uh,Kh]qh6Xnl0qq}q(hhhhubaubaubhK)q}q(hXesauroqhhEhhh!hOh#}q(h%]h&]h']h(]h*]uh,Nh-hh]qh:)q}q(hhhhhhh!h>h#}q(h%]h&]h']h(]h*]uh,Kh]qh6Xesauroqq}r(hhhhubaubaubhK)r}r(hX0ChuzzrhhEhhh!hOh#}r(h%]h&]h']h(]h*]uh,Nh-hh]rh:)r}r(hjhjhhh!h>h#}r(h%]h&]h']h(]h*]uh,Kh]r h6X0Chuzzr r }r (hjhjubaubaubhK)r }r(hXun33KrhhEhhh!hOh#}r(h%]h&]h']h(]h*]uh,Nh-hh]rh:)r}r(hjhj hhh!h>h#}r(h%]h&]h']h(]h*]uh,Kh]rh6Xun33Krr}r(hjhjubaubaubhK)r}r(hX orblivionrhhEhhh!hOh#}r(h%]h&]h']h(]h*]uh,Nh-hh]rh:)r}r(hjhjhhh!h>h#}r (h%]h&]h']h(]h*]uh,Kh]r!h6X orblivionr"r#}r$(hjhjubaubaubhK)r%}r&(hX kjikaqawejr'hhEhhh!hOh#}r((h%]h&]h']h(]h*]uh,Nh-hh]r)h:)r*}r+(hj'hj%hhh!h>h#}r,(h%]h&]h']h(]h*]uh,Kh]r-h6X kjikaqawejr.r/}r0(hj'hj*ubaubaubhK)r1}r2(hX igalarzabr3hhEhhh!hOh#}r4(h%]h&]h']h(]h*]uh,Nh-hh]r5h:)r6}r7(hj3hj1hhh!h>h#}r8(h%]h&]h']h(]h*]uh,Kh]r9h6X igalarzabr:r;}r<(hj3hj6ubaubaubhK)r=}r>(hXjtrainr?hhEhhh!hOh#}r@(h%]h&]h']h(]h*]uh,Nh-hh]rAh:)rB}rC(hj?hj=hhh!h>h#}rD(h%]h&]h']h(]h*]uh,Kh]rEh6XjtrainrFrG}rH(hj?hjBubaubaubhK)rI}rJ(hX and You. hhEhhh!hOh#}rK(h%]h&]h']h(]h*]uh,Nh-hh]rLh:)rM}rN(hXand You.rOhjIhhh!h>h#}rP(h%]h&]h']h(]h*]uh,Kh]rQh6Xand You.rRrS}rT(hjOhjMubaubaubeubh:)rU}rV(hXbI also want to thanks `Transifex.net`_ and `ReadTheDocs.org`_ for their services of great quality.hhhhh!h>h#}rW(h%]h&]h']h(]h*]uh,Kh-hh]rX(h6XI also want to thanks rYrZ}r[(hXI also want to thanks hjUubcdocutils.nodes reference r\)r]}r^(hX`Transifex.net`_Uresolvedr_KhjUh!U referencer`h#}ra(UnameX Transifex.netUrefurirbXhttp://www.transifex.net/rch(]h']h%]h&]h*]uh]rdh6X Transifex.netrerf}rg(hUhj]ubaubh6X and rhri}rj(hX and hjUubj\)rk}rl(hX`ReadTheDocs.org`_j_KhjUh!j`h#}rm(UnameXReadTheDocs.orgjbXhttp://readthedocs.org/rnh(]h']h%]h&]h*]uh]roh6XReadTheDocs.orgrprq}rr(hUhjkubaubh6X% for their services of great quality.rsrt}ru(hX% for their services of great quality.hjUubeubcdocutils.nodes target rv)rw}rx(hX... _`Transifex.net`: http://www.transifex.net/U referencedryKhhhhh!Utargetrzh#}r{(jbjch(]r|hah']h%]h&]h*]r}hauh,K"h-hh]ubjv)r~}r(hX... _`ReadTheDocs.org`: http://readthedocs.org/jyKhhhhh!jzh#}r(jbjnh(]rhah']h%]h&]h*]rhauh,K#h-hh]ubeubahUU transformerrNU footnote_refsr}rUrefnamesr}r(X transifex.net]rj]aXreadthedocs.org]rjkauUsymbol_footnotesr]rUautofootnote_refsr]rUsymbol_footnote_refsr]rU citationsr]rh-hU current_linerNUtransform_messagesr]rUreporterrNUid_startrKU autofootnotesr]rU citation_refsr}rUindirect_targetsr]rUsettingsr(cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlrUhttp://tools.ietf.org/html/rU tracebackrUpep_referencesrNUstrip_commentsrNU toc_backlinksrUentryrU language_coderUenrU datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesrNh3NUerror_encoding_error_handlerrUbackslashreplacerUdebugrNUembed_stylesheetrUoutput_encoding_error_handlerrUstrictrU sectnum_xformrKUdump_transformsrNU docinfo_xformrKUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUH/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/thanks.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr]rUfile_insertion_enabledrU raw_enabledrKU dump_settingsrNubUsymbol_footnote_startrKUidsr}r(hjwhhhj~uUsubstitution_namesr}rh!h-h#}r(h%]h(]h']Usourcehh&]h*]uU footnotesr]rUrefidsr}rub.PK؍3F\T!T!2django-blog-zinnia-v0.9/.doctrees/buildout.doctreecdocutils.nodes document q)q}q(U nametypesq}q(X virtualenvqXbuildoutquUsubstitution_defsq}q Uparse_messagesq ]q cdocutils.nodes system_message q )q }q(U rawsourceqUUparentqcdocutils.nodes section q)q}q(hUU referencedqKhhUsourceqcdocutils.nodes reprunicode qXJ/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/buildout.rstqq}qbUtagnameqUsectionqU attributesq}q(Udupnamesq]qXbuildoutq aUclassesq!]Ubackrefsq"]Uidsq#]q$Ubuildoutq%aUnamesq&]uUlineq'KUdocumentq(hUchildrenq)]q*(cdocutils.nodes title q+)q,}q-(hXBuildoutq.hhhhhUtitleq/h}q0(h]h!]h"]h#]h&]uh'Kh(hh)]q1cdocutils.nodes Text q2XBuildoutq3q4}q5(hh.hh,ubaubcdocutils.nodes paragraph q6)q7}q8(hXTo 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.hhhhhU paragraphq9h}q:(h]h!]h"]h#]h&]uh'Kh(hh)]q;(h2X3To increase the speed of the development process a q(hX3To increase the speed of the development process a hh7ubcdocutils.nodes reference q?)q@}qA(hX5`Buildout `_h}qB(UnameXBuildoutUrefuriqCX'http://pypi.python.org/pypi/zc.buildoutqDh#]h"]h]h!]h&]uhh7h)]qEh2XBuildoutqFqG}qH(hUhh@ubahU referenceqIubcdocutils.nodes target qJ)qK}qL(hX* hKhh7hUtargetqMh}qN(UrefurihDh#]qOUid1qPah"]h]h!]h&]qQh auh)]ubh2Xj script is provided to properly initialize the project for anybody who wants to contribute to the project.qRqS}qT(hXj script is provided to properly initialize the project for anybody who wants to contribute to the project.hh7ubeubh6)qU}qV(hXFirst of all, please use `VirtualEnv `_ to protect your system, it's not mandatory but handy.hhhhhh9h}qW(h]h!]h"]h#]h&]uh'Kh(hh)]qX(h2XFirst of all, please use qYqZ}q[(hXFirst of all, please use hhUubh?)q\}q](hX6`VirtualEnv `_h}q^(UnameX VirtualEnvhCX&http://pypi.python.org/pypi/virtualenvq_h#]h"]h]h!]h&]uhhUh)]q`h2X VirtualEnvqaqb}qc(hUhh\ubahhIubhJ)qd}qe(hX) hKhhUhhMh}qf(Urefurih_h#]qgU virtualenvqhah"]h]h!]h&]qihauh)]ubh2X6 to protect your system, it's not mandatory but handy.qjqk}ql(hX6 to protect your system, it's not mandatory but handy.hhUubeubh6)qm}qn(hX0Follow these steps to start the development : ::qohhhhhh9h}qp(h]h!]h"]h#]h&]uh'K h(hh)]qqh2X-Follow these steps to start the development :qrqs}qt(hX-Follow these steps to start the development :hhmubaubcdocutils.nodes literal_block qu)qv}qw(hX$ 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/buildouthhhhhU literal_blockqxh}qy(U xml:spaceqzUpreserveq{h#]h"]h]h!]h&]uh'Kh(hh)]q|h2X$ 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/buildoutq}q~}q(hUhhvubaubh6)q}q(hXXThe buildout script will resolve all the dependencies needed to develop the application.qhhhhhh9h}q(h]h!]h"]h#]h&]uh'Kh(hh)]qh2XXThe buildout script will resolve all the dependencies needed to develop the application.qq}q(hhhhubaubh6)q}q(hXLOnce these operations are done, you are ready to develop the zinnia project.qhhhhhh9h}q(h]h!]h"]h#]h&]uh'Kh(hh)]qh2XLOnce these operations are done, you are ready to develop the zinnia project.qq}q(hhhhubaubh6)q}q(hX-Run this command to launch the test suite. ::qhhhhhh9h}q(h]h!]h"]h#]h&]uh'Kh(hh)]qh2X*Run this command to launch the test suite.qq}q(hX*Run this command to launch the test suite.hhubaubhu)q}q(hX $ ./bin/testhhhhhhxh}q(hzh{h#]h"]h]h!]h&]uh'Kh(hh)]qh2X $ ./bin/testqq}q(hUhhubaubh6)q}q(hX.To view the code coverage run this command. ::qhhhhhh9h}q(h]h!]h"]h#]h&]uh'Kh(hh)]qh2X+To view the code coverage run this command.qq}q(hX+To view the code coverage run this command.hhubaubhu)q}q(hX $ ./bin/coverhhhhhhxh}q(hzh{h#]h"]h]h!]h&]uh'K h(hh)]qh2X $ ./bin/coverqq}q(hUhhubaubh6)q}q(hX8Execute these commands to check the code conventions. ::qhhhhhh9h}q(h]h!]h"]h#]h&]uh'K"h(hh)]qh2X5Execute these commands to check the code conventions.qq}q(hX5Execute these commands to check the code conventions.hhubaubhu)q}q(hXT$ ./bin/pyflakes zinnia $ ./bin/pep8 --count -r --exclude=tests.py,migrations zinniahhhhhhxh}q(hzh{h#]h"]h]h!]h&]uh'K$h(hh)]qh2XT$ ./bin/pyflakes zinnia $ ./bin/pep8 --count -r --exclude=tests.py,migrations zinniaqq}q(hUhhubaubh6)q}q(hX3To launch the demo site, execute these commands. ::qhhhhhh9h}q(h]h!]h"]h#]h&]uh'K'h(hh)]qh2X0To launch the demo site, execute these commands.q…q}q(hX0To launch the demo site, execute these commands.hhubaubhu)q}q(hXK$ ./bin/demo syncdb $ ./bin/demo loaddata helloworld $ ./bin/demo runserverhhhhhhxh}q(hzh{h#]h"]h]h!]h&]uh'K)h(hh)]qh2XK$ ./bin/demo syncdb $ ./bin/demo loaddata helloworld $ ./bin/demo runserverqɅq}q(hUhhubaubh6)q}q(hX4And for building the HTML documentation run this. ::qhhhhhh9h}q(h]h!]h"]h#]h&]uh'K-h(hh)]qh2X1And for building the HTML documentation run this.qхq}q(hX1And for building the HTML documentation run this.hhubaubhu)q}q(hX $ ./bin/docshhhhhhxh}q(hzh{h#]h"]h]h!]h&]uh'K/h(hh)]qh2X $ ./bin/docsq؅q}q(hUhhubaubh6)q}q(hXPretty easy no ?qhhhhhh9h}q(h]h!]h"]h#]h&]uh'K1h(hh)]qh2XPretty easy no ?qq}q(hhhhubaubeubhhhUsystem_messageqh}q(h]UlevelKh#]h"]qhPaUsourcehh!]h&]UlineKUtypeUINFOquh'Kh(hh)]qh6)q}q(hUh}q(h]h!]h"]h#]h&]uhh h)]qh2X+Duplicate implicit target name: "buildout".q셁q}q(hUhhubahh9ubaubaUcurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hhhhhPuh)]qhahUU transformerqNU footnote_refsq}qUrefnamesq}qUsymbol_footnotesq]qUautofootnote_refsq]qUsymbol_footnote_refsq]qU citationsr]rh(hU current_linerNUtransform_messagesr]rUreporterrNUid_startrKU autofootnotesr]rU citation_refsr }r Uindirect_targetsr ]r Usettingsr (cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlrUhttp://tools.ietf.org/html/rU tracebackrUpep_referencesrNUstrip_commentsrNU toc_backlinksrUentryrU language_coderUenrU datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesr Nh/NUerror_encoding_error_handlerr!Ubackslashreplacer"Udebugr#NUembed_stylesheetr$Uoutput_encoding_error_handlerr%Ustrictr&U sectnum_xformr'KUdump_transformsr(NU docinfo_xformr)KUwarning_streamr*NUpep_file_url_templater+Upep-%04dr,Uexit_status_levelr-KUconfigr.NUstrict_visitorr/NUcloak_email_addressesr0Utrim_footnote_reference_spacer1Uenvr2NUdump_pseudo_xmlr3NUexpose_internalsr4NUsectsubtitle_xformr5U source_linkr6NUrfc_referencesr7NUoutput_encodingr8Uutf-8r9U source_urlr:NUinput_encodingr;U utf-8-sigr<U_disable_configr=NU id_prefixr>UU tab_widthr?KUerror_encodingr@UasciirAU_sourcerBUJ/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/buildout.rstrCUgettext_compactrDU generatorrENUdump_internalsrFNU smart_quotesrGU pep_base_urlrHUhttp://www.python.org/dev/peps/rIUsyntax_highlightrJUlongrKUinput_encoding_error_handlerrLj&Uauto_id_prefixrMUidrNUdoctitle_xformrOUstrip_elements_with_classesrPNU _config_filesrQ]Ufile_insertion_enabledrRU raw_enabledrSKU dump_settingsrTNubUsymbol_footnote_startrUKUidsrV}rW(hhhdh%hhPhKuUsubstitution_namesrX}rYhh(h}rZ(h]h#]h"]Usourcehh!]h&]uU footnotesr[]r\Urefidsr]}r^ub.PK؍3F\H;H;3django-blog-zinnia-v0.9/.doctrees/changelog.doctreecdocutils.nodes document q)q}q(U nametypesq}q(X0.9qNX0.8qNX changelogqNX0.5q NX0.7q NX0.6q NX0.4 and beforeq NuUsubstitution_defsq }qUparse_messagesq]qUcurrent_sourceqNU decorationqNUautofootnote_startqKUnameidsq}q(hUid1qhUid2qhU changelogqh Uid5qh Uid3qh Uid4qh U and-beforequUchildrenq]qcdocutils.nodes section q)q }q!(U rawsourceq"UUparentq#hUsourceq$cdocutils.nodes reprunicode q%XK/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/changelog.rstq&q'}q(bUtagnameq)Usectionq*U attributesq+}q,(Udupnamesq-]Uclassesq.]Ubackrefsq/]Uidsq0]q1haUnamesq2]q3hauUlineq4KUdocumentq5hh]q6(cdocutils.nodes title q7)q8}q9(h"X CHANGELOGq:h#h h$h'h)Utitleq;h+}q<(h-]h.]h/]h0]h2]uh4Kh5hh]q=cdocutils.nodes Text q>X CHANGELOGq?q@}qA(h"h:h#h8ubaubh)qB}qC(h"Uh#h h$h'h)h*h+}qD(h-]h.]h/]h0]qEhah2]qFhauh4Kh5hh]qG(h7)qH}qI(h"X0.9qJh#hBh$h'h)h;h+}qK(h-]h.]h/]h0]h2]uh4Kh5hh]qLh>X0.9qMqN}qO(h"hJh#hHubaubcdocutils.nodes bullet_list qP)qQ}qR(h"Uh#hBh$h'h)U bullet_listqSh+}qT(UbulletqUX*h0]h/]h-]h.]h2]uh4Kh5hh]qV(cdocutils.nodes list_item qW)qX}qY(h"XImproved URL shorteningqZh#hQh$h'h)U list_itemq[h+}q\(h-]h.]h/]h0]h2]uh4Nh5hh]q]cdocutils.nodes paragraph q^)q_}q`(h"hZh#hXh$h'h)U paragraphqah+}qb(h-]h.]h/]h0]h2]uh4Kh]qch>XImproved URL shorteningqdqe}qf(h"hZh#h_ubaubaubhW)qg}qh(h"XImproved moderation systemqih#hQh$h'h)h[h+}qj(h-]h.]h/]h0]h2]uh4Nh5hh]qkh^)ql}qm(h"hih#hgh$h'h)hah+}qn(h-]h.]h/]h0]h2]uh4Kh]qoh>XImproved moderation systemqpqq}qr(h"hih#hlubaubaubhW)qs}qt(h"X Better support of django-taggingquh#hQh$h'h)h[h+}qv(h-]h.]h/]h0]h2]uh4Nh5hh]qwh^)qx}qy(h"huh#hsh$h'h)hah+}qz(h-]h.]h/]h0]h2]uh4K h]q{h>X Better support of django-taggingq|q}}q~(h"huh#hxubaubaubhW)q}q(h"X!Blogger to Zinnia utility commandqh#hQh$h'h)h[h+}q(h-]h.]h/]h0]h2]uh4Nh5hh]qh^)q}q(h"hh#hh$h'h)hah+}q(h-]h.]h/]h0]h2]uh4K h]qh>X!Blogger to Zinnia utility commandqq}q(h"hh#hubaubaubhW)q}q(h"XOpenSearch capabilitiesqh#hQh$h'h)h[h+}q(h-]h.]h/]h0]h2]uh4Nh5hh]qh^)q}q(h"hh#hh$h'h)hah+}q(h-]h.]h/]h0]h2]uh4K h]qh>XOpenSearch capabilitiesqq}q(h"hh#hubaubaubhW)q}q(h"XUpgraded search engineqh#hQh$h'h)h[h+}q(h-]h.]h/]h0]h2]uh4Nh5hh]qh^)q}q(h"hh#hh$h'h)hah+}q(h-]h.]h/]h0]h2]uh4K h]qh>XUpgraded search engineqq}q(h"hh#hubaubaubhW)q}q(h"XFeed to Zinnia utility commandqh#hQh$h'h)h[h+}q(h-]h.]h/]h0]h2]uh4Nh5hh]qh^)q}q(h"hh#hh$h'h)hah+}q(h-]h.]h/]h0]h2]uh4K h]qh>XFeed to Zinnia utility commandqq}q(h"hh#hubaubaubhW)q}q(h"XAnd a lot of bug fixes h#hQh$h'h)h[h+}q(h-]h.]h/]h0]h2]uh4Nh5hh]qh^)q}q(h"XAnd a lot of bug fixesqh#hh$h'h)hah+}q(h-]h.]h/]h0]h2]uh4Kh]qh>XAnd a lot of bug fixesqq}q(h"hh#hubaubaubeubeubh)q}q(h"Uh#h h$h'h)h*h+}q(h-]h.]h/]h0]qhah2]qhauh4Kh5hh]q(h7)q}q(h"X0.8qh#hh$h'h)h;h+}q(h-]h.]h/]h0]h2]uh4Kh5hh]qh>X0.8qƅq}q(h"hh#hubaubhP)q}q(h"Uh#hh$h'h)hSh+}q(hUX*h0]h/]h-]h.]h2]uh4Kh5hh]q(hW)q}q(h"XAdmin dashboardqh#hh$h'h)h[h+}q(h-]h.]h/]h0]h2]uh4Nh5hh]qh^)q}q(h"hh#hh$h'h)hah+}q(h-]h.]h/]h0]h2]uh4Kh]qh>XAdmin dashboardqօq}q(h"hh#hubaubaubhW)q}q(h"XFeatured entriesqh#hh$h'h)h[h+}q(h-]h.]h/]h0]h2]uh4Nh5hh]qh^)q}q(h"hh#hh$h'h)hah+}q(h-]h.]h/]h0]h2]uh4Kh]qh>XFeatured entriesq⅁q}q(h"hh#hubaubaubhW)q}q(h"XUsing Microformatsqh#hh$h'h)h[h+}q(h-]h.]h/]h0]h2]uh4Nh5hh]qh^)q}q(h"hh#hh$h'h)hah+}q(h-]h.]h/]h0]h2]uh4Kh]qh>XUsing Microformatsqq}q(h"hh#hubaubaubhW)q}q(h"XMails for comment replyqh#hh$h'h)h[h+}q(h-]h.]h/]h0]h2]uh4Nh5hh]qh^)q}q(h"hh#hh$h'h)hah+}q(h-]h.]h/]h0]h2]uh4Kh]qh>XMails for comment replyqq}q(h"hh#hubaubaubhW)q}q(h"XEntry model can be extendedqh#hh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"hh#hh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4Kh]rh>XEntry model can be extendedrr}r(h"hh#jubaubaubhW)r }r (h"XMore plugins for django-cmsr h#hh$h'h)h[h+}r (h-]h.]h/]h0]h2]uh4Nh5hh]r h^)r}r(h"j h#j h$h'h)hah+}r(h-]h.]h/]h0]h2]uh4Kh]rh>XMore plugins for django-cmsrr}r(h"j h#jubaubaubhW)r}r(h"X#Zinnia to Wordpress utility commandrh#hh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"jh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4Kh]rh>X#Zinnia to Wordpress utility commandrr}r (h"jh#jubaubaubhW)r!}r"(h"XCode cleaning and optimizationsr#h#hh$h'h)h[h+}r$(h-]h.]h/]h0]h2]uh4Nh5hh]r%h^)r&}r'(h"j#h#j!h$h'h)hah+}r((h-]h.]h/]h0]h2]uh4Kh]r)h>XCode cleaning and optimizationsr*r+}r,(h"j#h#j&ubaubaubhW)r-}r.(h"XAnd a lot of bug fixes h#hh$h'h)h[h+}r/(h-]h.]h/]h0]h2]uh4Nh5hh]r0h^)r1}r2(h"XAnd a lot of bug fixesr3h#j-h$h'h)hah+}r4(h-]h.]h/]h0]h2]uh4Kh]r5h>XAnd a lot of bug fixesr6r7}r8(h"j3h#j1ubaubaubeubeubh)r9}r:(h"Uh#h h$h'h)h*h+}r;(h-]h.]h/]h0]r<hah2]r=h auh4Kh5hh]r>(h7)r?}r@(h"X0.7rAh#j9h$h'h)h;h+}rB(h-]h.]h/]h0]h2]uh4Kh5hh]rCh>X0.7rDrE}rF(h"jAh#j?ubaubhP)rG}rH(h"Uh#j9h$h'h)hSh+}rI(hUX*h0]h/]h-]h.]h2]uh4K h5hh]rJ(hW)rK}rL(h"X Using signalsrMh#jGh$h'h)h[h+}rN(h-]h.]h/]h0]h2]uh4Nh5hh]rOh^)rP}rQ(h"jMh#jKh$h'h)hah+}rR(h-]h.]h/]h0]h2]uh4K h]rSh>X Using signalsrTrU}rV(h"jMh#jPubaubaubhW)rW}rX(h"XTrackback supportrYh#jGh$h'h)h[h+}rZ(h-]h.]h/]h0]h2]uh4Nh5hh]r[h^)r\}r](h"jYh#jWh$h'h)hah+}r^(h-]h.]h/]h0]h2]uh4K!h]r_h>XTrackback supportr`ra}rb(h"jYh#j\ubaubaubhW)rc}rd(h"XPing external urlsreh#jGh$h'h)h[h+}rf(h-]h.]h/]h0]h2]uh4Nh5hh]rgh^)rh}ri(h"jeh#jch$h'h)hah+}rj(h-]h.]h/]h0]h2]uh4K"h]rkh>XPing external urlsrlrm}rn(h"jeh#jhubaubaubhW)ro}rp(h"X Private postsrqh#jGh$h'h)h[h+}rr(h-]h.]h/]h0]h2]uh4Nh5hh]rsh^)rt}ru(h"jqh#joh$h'h)hah+}rv(h-]h.]h/]h0]h2]uh4K#h]rwh>X Private postsrxry}rz(h"jqh#jtubaubaubhW)r{}r|(h"XHierarchical categoriesr}h#jGh$h'h)h[h+}r~(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"j}h#j{h$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K$h]rh>XHierarchical categoriesrr}r(h"j}h#jubaubaubhW)r}r(h"XTinyMCE integrationrh#jGh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"jh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K%h]rh>XTinyMCE integrationrr}r(h"jh#jubaubaubhW)r}r(h"XCode optimizationsrh#jGh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"jh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K&h]rh>XCode optimizationsrr}r(h"jh#jubaubaubhW)r}r(h"XAnd a lot of bug fixes h#jGh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"XAnd a lot of bug fixesrh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K'h]rh>XAnd a lot of bug fixesrr}r(h"jh#jubaubaubeubeubh)r}r(h"Uh#h h$h'h)h*h+}r(h-]h.]h/]h0]rhah2]rh auh4K*h5hh]r(h7)r}r(h"X0.6rh#jh$h'h)h;h+}r(h-]h.]h/]h0]h2]uh4K*h5hh]rh>X0.6rr}r(h"jh#jubaubhP)r}r(h"Uh#jh$h'h)hSh+}r(hUX*h0]h/]h-]h.]h2]uh4K,h5hh]r(hW)r}r(h"XHandling PingBacksrh#jh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"jh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K,h]rh>XHandling PingBacksrr}r(h"jh#jubaubaubhW)r}r(h"XSupport MetaWeblog APIrh#jh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"jh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K-h]rh>XSupport MetaWeblog APIrr}r(h"jh#jubaubaubhW)r}r(h"XPassing to Django 1.2.xrh#jh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"jh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K.h]rh>XPassing to Django 1.2.xrr}r(h"jh#jubaubaubhW)r}r(h"XBreadcrumbs templatetagrh#jh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"jh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K/h]rh>XBreadcrumbs templatetagrr}r(h"jh#jubaubaubhW)r}r(h"X!Bug correction in calendar widgetrh#jh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"jh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K0h]rh>X!Bug correction in calendar widgetrr}r(h"jh#jubaubaubhW)r}r(h"X#Wordpress to Zinnia utility commandrh#jh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"jh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K1h]rh>X#Wordpress to Zinnia utility commandrr}r(h"jh#jubaubaubhW)r}r(h"X*Major bug correction on publication systemrh#jh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]r h^)r }r (h"jh#jh$h'h)hah+}r (h-]h.]h/]h0]h2]uh4K2h]r h>X*Major bug correction on publication systemrr}r(h"jh#j ubaubaubhW)r}r(h"XAnd a lot of bug fixes h#jh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"XAnd a lot of bug fixesrh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K3h]rh>XAnd a lot of bug fixesrr}r(h"jh#jubaubaubeubeubh)r}r(h"Uh#h h$h'h)h*h+}r(h-]h.]h/]h0]r hah2]r!h auh4K6h5hh]r"(h7)r#}r$(h"X0.5r%h#jh$h'h)h;h+}r&(h-]h.]h/]h0]h2]uh4K6h5hh]r'h>X0.5r(r)}r*(h"j%h#j#ubaubhP)r+}r,(h"Uh#jh$h'h)hSh+}r-(hUX*h0]h/]h-]h.]h2]uh4K8h5hh]r.(hW)r/}r0(h"X Packagingr1h#j+h$h'h)h[h+}r2(h-]h.]h/]h0]h2]uh4Nh5hh]r3h^)r4}r5(h"j1h#j/h$h'h)hah+}r6(h-]h.]h/]h0]h2]uh4K8h]r7h>X Packagingr8r9}r:(h"j1h#j4ubaubaubhW)r;}r<(h"X Tests addedr=h#j+h$h'h)h[h+}r>(h-]h.]h/]h0]h2]uh4Nh5hh]r?h^)r@}rA(h"j=h#j;h$h'h)hah+}rB(h-]h.]h/]h0]h2]uh4K9h]rCh>X Tests addedrDrE}rF(h"j=h#j@ubaubaubhW)rG}rH(h"X TranslationsrIh#j+h$h'h)h[h+}rJ(h-]h.]h/]h0]h2]uh4Nh5hh]rKh^)rL}rM(h"jIh#jGh$h'h)hah+}rN(h-]h.]h/]h0]h2]uh4K:h]rOh>X TranslationsrPrQ}rR(h"jIh#jLubaubaubhW)rS}rT(h"XBetter templatesrUh#j+h$h'h)h[h+}rV(h-]h.]h/]h0]h2]uh4Nh5hh]rWh^)rX}rY(h"jUh#jSh$h'h)hah+}rZ(h-]h.]h/]h0]h2]uh4K;h]r[h>XBetter templatesr\r]}r^(h"jUh#jXubaubaubhW)r_}r`(h"XNew templatetagsrah#j+h$h'h)h[h+}rb(h-]h.]h/]h0]h2]uh4Nh5hh]rch^)rd}re(h"jah#j_h$h'h)hah+}rf(h-]h.]h/]h0]h2]uh4KXNew templatetagsrhri}rj(h"jah#jdubaubaubhW)rk}rl(h"XPlugins for django-cmsrmh#j+h$h'h)h[h+}rn(h-]h.]h/]h0]h2]uh4Nh5hh]roh^)rp}rq(h"jmh#jkh$h'h)hah+}rr(h-]h.]h/]h0]h2]uh4K=h]rsh>XPlugins for django-cmsrtru}rv(h"jmh#jpubaubaubhW)rw}rx(h"XTwitter and Bit.ly supportryh#j+h$h'h)h[h+}rz(h-]h.]h/]h0]h2]uh4Nh5hh]r{h^)r|}r}(h"jyh#jwh$h'h)hah+}r~(h-]h.]h/]h0]h2]uh4K>h]rh>XTwitter and Bit.ly supportrr}r(h"jyh#j|ubaubaubhW)r}r(h"X!Publishing sources on Github.com h#j+h$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"X Publishing sources on Github.comrh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4K?h]rh>X Publishing sources on Github.comrr}r(h"jh#jubaubaubeubeubh)r}r(h"Uh#h h$h'h)h*h+}r(h-]h.]h/]h0]rhah2]rh auh4KBh5hh]r(h7)r}r(h"X0.4 and beforerh#jh$h'h)h;h+}r(h-]h.]h/]h0]h2]uh4KBh5hh]rh>X0.4 and beforerr}r(h"jh#jubaubhP)r}r(h"Uh#jh$h'h)hSh+}r(hUX*h0]h/]h-]h.]h2]uh4KDh5hh]rhW)r}r(h"X[The previous versions of Zinnia were not packaged, and were destinated for a personnal use.h#jh$h'h)h[h+}r(h-]h.]h/]h0]h2]uh4Nh5hh]rh^)r}r(h"X[The previous versions of Zinnia were not packaged, and were destinated for a personnal use.rh#jh$h'h)hah+}r(h-]h.]h/]h0]h2]uh4KDh]rh>X[The previous versions of Zinnia were not packaged, and were destinated for a personnal use.rr}r(h"jh#jubaubaubaubeubeubah"UU transformerrNU footnote_refsr}rUrefnamesr}rUsymbol_footnotesr]rUautofootnote_refsr]rUsymbol_footnote_refsr]rU citationsr]rh5hU current_linerNUtransform_messagesr]rUreporterrNUid_startrKU autofootnotesr]rU citation_refsr}rUindirect_targetsr]rUsettingsr(cdocutils.frontend Values ror}r(Ufootnote_backlinksrKUrecord_dependenciesrNU rfc_base_urlrUhttp://tools.ietf.org/html/rU tracebackrUpep_referencesrNUstrip_commentsrNU toc_backlinksrUentryrU language_coderUenrU datestamprNU report_levelrKU _destinationrNU halt_levelrKU strip_classesrNh;NUerror_encoding_error_handlerrUbackslashreplacerUdebugrNUembed_stylesheetrUoutput_encoding_error_handlerrUstrictrU sectnum_xformrKUdump_transformsrNU docinfo_xformrKUwarning_streamrNUpep_file_url_templaterUpep-%04drUexit_status_levelrKUconfigrNUstrict_visitorrNUcloak_email_addressesrUtrim_footnote_reference_spacerUenvrNUdump_pseudo_xmlrNUexpose_internalsrNUsectsubtitle_xformrU source_linkrNUrfc_referencesrNUoutput_encodingrUutf-8rU source_urlrNUinput_encodingrU utf-8-sigrU_disable_configrNU id_prefixrUU tab_widthrKUerror_encodingrUasciirU_sourcerUK/var/build/user_builds/django-blog-zinnia/checkouts/v0.9/docs/changelog.rstrUgettext_compactrU generatorrNUdump_internalsrNU smart_quotesrU pep_base_urlrUhttp://www.python.org/dev/peps/rUsyntax_highlightrUlongrUinput_encoding_error_handlerrjUauto_id_prefixrUidrUdoctitle_xformrUstrip_elements_with_classesrNU _config_filesr ]Ufile_insertion_enabledr U raw_enabledr KU dump_settingsr NubUsymbol_footnote_startr KUidsr}r(hjhh hjhjhhhj9hhBuUsubstitution_namesr}rh)h5h+}r(h-]h0]h/]Usourceh'h.]h2]uU footnotesr]rUrefidsr}rub.PKٍ3FW!!)django-blog-zinnia-v0.9/_static/basic.css/* * basic.css * ~~~~~~~~~ * * Sphinx stylesheet -- basic theme. * * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ /* -- main layout ----------------------------------------------------------- */ div.clearer { clear: both; } /* -- relbar ---------------------------------------------------------------- */ div.related { width: 100%; font-size: 90%; } div.related h3 { display: none; } div.related ul { margin: 0; padding: 0 0 0 10px; list-style: none; } div.related li { display: inline; } div.related li.right { float: right; margin-right: 5px; } /* -- sidebar --------------------------------------------------------------- */ div.sphinxsidebarwrapper { padding: 10px 5px 0 10px; } div.sphinxsidebar { float: left; width: 230px; margin-left: -100%; font-size: 90%; } div.sphinxsidebar ul { list-style: none; } div.sphinxsidebar ul ul, div.sphinxsidebar ul.want-points { margin-left: 20px; list-style: square; } div.sphinxsidebar ul ul { margin-top: 0; margin-bottom: 0; } div.sphinxsidebar form { margin-top: 10px; } div.sphinxsidebar input { border: 1px solid #98dbcc; font-family: sans-serif; font-size: 1em; } div.sphinxsidebar #searchbox input[type="text"] { width: 170px; } div.sphinxsidebar #searchbox input[type="submit"] { width: 30px; } img { border: 0; max-width: 100%; } /* -- search page ----------------------------------------------------------- */ ul.search { margin: 10px 0 0 20px; padding: 0; } ul.search li { padding: 5px 0 5px 20px; background-image: url(file.png); background-repeat: no-repeat; background-position: 0 7px; } ul.search li a { font-weight: bold; } ul.search li div.context { color: #888; margin: 2px 0 0 30px; text-align: left; } ul.keywordmatches li.goodmatch a { font-weight: bold; } /* -- index page ------------------------------------------------------------ */ table.contentstable { width: 90%; } table.contentstable p.biglink { line-height: 150%; } a.biglink { font-size: 1.3em; } span.linkdescr { font-style: italic; padding-top: 5px; font-size: 90%; } /* -- general index --------------------------------------------------------- */ table.indextable { width: 100%; } table.indextable td { text-align: left; vertical-align: top; } table.indextable dl, table.indextable dd { margin-top: 0; margin-bottom: 0; } table.indextable tr.pcap { height: 10px; } table.indextable tr.cap { margin-top: 10px; background-color: #f2f2f2; } img.toggler { margin-right: 3px; margin-top: 3px; cursor: pointer; } div.modindex-jumpbox { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; margin: 1em 0 1em 0; padding: 0.4em; } div.genindex-jumpbox { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; margin: 1em 0 1em 0; padding: 0.4em; } /* -- general body styles --------------------------------------------------- */ a.headerlink { visibility: hidden; } h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, h4:hover > a.headerlink, h5:hover > a.headerlink, h6:hover > a.headerlink, dt:hover > a.headerlink { visibility: visible; } div.body p.caption { text-align: inherit; } div.body td { text-align: left; } .field-list ul { padding-left: 1em; } .first { margin-top: 0 !important; } p.rubric { margin-top: 30px; font-weight: bold; } img.align-left, .figure.align-left, object.align-left { clear: left; float: left; margin-right: 1em; } img.align-right, .figure.align-right, object.align-right { clear: right; float: right; margin-left: 1em; } img.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; } .align-left { text-align: left; } .align-center { text-align: center; } .align-right { text-align: right; } /* -- sidebars -------------------------------------------------------------- */ div.sidebar { margin: 0 0 0.5em 1em; border: 1px solid #ddb; padding: 7px 7px 0 7px; background-color: #ffe; width: 40%; float: right; } p.sidebar-title { font-weight: bold; } /* -- topics ---------------------------------------------------------------- */ div.topic { border: 1px solid #ccc; padding: 7px 7px 0 7px; margin: 10px 0 10px 0; } p.topic-title { font-size: 1.1em; font-weight: bold; margin-top: 10px; } /* -- admonitions ----------------------------------------------------------- */ div.admonition { margin-top: 10px; margin-bottom: 10px; padding: 7px; } div.admonition dt { font-weight: bold; } div.admonition dl { margin-bottom: 0; } p.admonition-title { margin: 0px 10px 5px 0px; font-weight: bold; } div.body p.centered { text-align: center; margin-top: 25px; } /* -- tables ---------------------------------------------------------------- */ table.docutils { border: 0; border-collapse: collapse; } table.docutils td, table.docutils th { padding: 1px 8px 1px 5px; border-top: 0; border-left: 0; border-right: 0; border-bottom: 1px solid #aaa; } table.field-list td, table.field-list th { border: 0 !important; } table.footnote td, table.footnote th { border: 0 !important; } th { text-align: left; padding-right: 5px; } table.citation { border-left: solid 1px gray; margin-left: 1px; } table.citation td { border-bottom: none; } /* -- other body styles ----------------------------------------------------- */ ol.arabic { list-style: decimal; } ol.loweralpha { list-style: lower-alpha; } ol.upperalpha { list-style: upper-alpha; } ol.lowerroman { list-style: lower-roman; } ol.upperroman { list-style: upper-roman; } dl { margin-bottom: 15px; } dd p { margin-top: 0px; } dd ul, dd table { margin-bottom: 10px; } dd { margin-top: 3px; margin-bottom: 10px; margin-left: 30px; } dt:target, .highlighted { background-color: #fbe54e; } dl.glossary dt { font-weight: bold; font-size: 1.1em; } .field-list ul { margin: 0; padding-left: 1em; } .field-list p { margin: 0; } .optional { font-size: 1.3em; } .versionmodified { font-style: italic; } .system-message { background-color: #fda; padding: 5px; border: 3px solid red; } .footnote:target { background-color: #ffa; } .line-block { display: block; margin-top: 1em; margin-bottom: 1em; } .line-block .line-block { margin-top: 0; margin-bottom: 0; margin-left: 1.5em; } .guilabel, .menuselection { font-family: sans-serif; } .accelerator { text-decoration: underline; } .classifier { font-style: oblique; } abbr, acronym { border-bottom: dotted 1px; cursor: help; } /* -- code displays --------------------------------------------------------- */ pre { overflow: auto; overflow-y: hidden; /* fixes display issues on Chrome browsers */ } td.linenos pre { padding: 5px 0px; border: 0; background-color: transparent; color: #aaa; } table.highlighttable { margin-left: 0.5em; } table.highlighttable td { padding: 0 0.5em 0 0.5em; } tt.descname { background-color: transparent; font-weight: bold; font-size: 1.2em; } tt.descclassname { background-color: transparent; } tt.xref, a tt { background-color: transparent; font-weight: bold; } h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { background-color: transparent; } .viewcode-link { float: right; } .viewcode-back { float: right; font-family: sans-serif; } div.viewcode-block:target { margin: -1px -10px; padding: 0 10px; } /* -- math display ---------------------------------------------------------- */ img.math { vertical-align: middle; } div.body div.math p { text-align: center; } span.eqno { float: right; } /* -- printout stylesheet --------------------------------------------------- */ @media print { div.document, div.documentwrapper, div.bodywrapper { margin: 0 !important; width: 100%; } div.sphinxsidebar, div.related, div.footer, #top-link { display: none; } }PKٍ3F OO*django-blog-zinnia-v0.9/_static/nature.css/* * nature.css_t * ~~~~~~~~~~~~ * * Sphinx stylesheet -- nature theme. * * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @import url("basic.css"); /* -- page layout ----------------------------------------------------------- */ body { font-family: Arial, sans-serif; font-size: 100%; background-color: #111; color: #555; margin: 0; padding: 0; } div.documentwrapper { float: left; width: 100%; } div.bodywrapper { margin: 0 0 0 230px; } hr { border: 1px solid #B1B4B6; } div.document { background-color: #eee; } div.body { background-color: #ffffff; color: #3E4349; padding: 0 30px 30px 30px; font-size: 0.9em; } div.footer { color: #555; width: 100%; padding: 13px 0; text-align: center; font-size: 75%; } div.footer a { color: #444; text-decoration: underline; } div.related { background-color: #6BA81E; line-height: 32px; color: #fff; text-shadow: 0px 1px 0 #444; font-size: 0.9em; } div.related a { color: #E2F3CC; } div.sphinxsidebar { font-size: 0.75em; line-height: 1.5em; } div.sphinxsidebarwrapper{ padding: 20px 0; } div.sphinxsidebar h3, div.sphinxsidebar h4 { font-family: Arial, sans-serif; color: #222; font-size: 1.2em; font-weight: normal; margin: 0; padding: 5px 10px; background-color: #ddd; text-shadow: 1px 1px 0 white } div.sphinxsidebar h4{ font-size: 1.1em; } div.sphinxsidebar h3 a { color: #444; } div.sphinxsidebar p { color: #888; padding: 5px 20px; } div.sphinxsidebar p.topless { } div.sphinxsidebar ul { margin: 10px 20px; padding: 0; color: #000; } div.sphinxsidebar a { color: #444; } div.sphinxsidebar input { border: 1px solid #ccc; font-family: sans-serif; font-size: 1em; } div.sphinxsidebar input[type=text]{ margin-left: 20px; } /* -- body styles ----------------------------------------------------------- */ a { color: #005B81; text-decoration: none; } a:hover { color: #E32E00; text-decoration: underline; } div.body h1, div.body h2, div.body h3, div.body h4, div.body h5, div.body h6 { font-family: Arial, sans-serif; background-color: #BED4EB; font-weight: normal; color: #212224; margin: 30px 0px 10px 0px; padding: 5px 0 5px 10px; text-shadow: 0px 1px 0 white } div.body h1 { border-top: 20px solid white; margin-top: 0; font-size: 200%; } div.body h2 { font-size: 150%; background-color: #C8D5E3; } div.body h3 { font-size: 120%; background-color: #D8DEE3; } div.body h4 { font-size: 110%; background-color: #D8DEE3; } div.body h5 { font-size: 100%; background-color: #D8DEE3; } div.body h6 { font-size: 100%; background-color: #D8DEE3; } a.headerlink { color: #c60f0f; font-size: 0.8em; padding: 0 4px 0 4px; text-decoration: none; } a.headerlink:hover { background-color: #c60f0f; color: white; } div.body p, div.body dd, div.body li { line-height: 1.5em; } div.admonition p.admonition-title + p { display: inline; } div.highlight{ background-color: white; } div.note { background-color: #eee; border: 1px solid #ccc; } div.seealso { background-color: #ffc; border: 1px solid #ff6; } div.topic { background-color: #eee; } div.warning { background-color: #ffe4e4; border: 1px solid #f66; } p.admonition-title { display: inline; } p.admonition-title:after { content: ":"; } pre { padding: 10px; background-color: White; color: #222; line-height: 1.2em; border: 1px solid #C6C9CB; font-size: 1.1em; margin: 1.5em 0 1.5em 0; -webkit-box-shadow: 1px 1px 1px #d8d8d8; -moz-box-shadow: 1px 1px 1px #d8d8d8; } tt { background-color: #ecf0f3; color: #222; /* padding: 1px 2px; */ font-size: 1.1em; font-family: monospace; } .viewcode-back { font-family: Arial, sans-serif; } div.viewcode-block:target { background-color: #f4debf; border-top: 1px solid #ac9; border-bottom: 1px solid #ac9; }PKٍ3F[,django-blog-zinnia-v0.9/_static/pygments.css.highlight .hll { background-color: #ffffcc } .highlight { background: #eeffcc; } .highlight .c { color: #408090; font-style: italic } /* Comment */ .highlight .err { border: 1px solid #FF0000 } /* Error */ .highlight .k { color: #007020; font-weight: bold } /* Keyword */ .highlight .o { color: #666666 } /* Operator */ .highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ .highlight .cp { color: #007020 } /* Comment.Preproc */ .highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ .highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #A00000 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #FF0000 } /* Generic.Error */ .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ .highlight .gi { color: #00A000 } /* Generic.Inserted */ .highlight .go { color: #333333 } /* Generic.Output */ .highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ .highlight .gt { color: #0044DD } /* Generic.Traceback */ .highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #007020 } /* Keyword.Pseudo */ .highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #902000 } /* Keyword.Type */ .highlight .m { color: #208050 } /* Literal.Number */ .highlight .s { color: #4070a0 } /* Literal.String */ .highlight .na { color: #4070a0 } /* Name.Attribute */ .highlight .nb { color: #007020 } /* Name.Builtin */ .highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ .highlight .no { color: #60add5 } /* Name.Constant */ .highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ .highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ .highlight .ne { color: #007020 } /* Name.Exception */ .highlight .nf { color: #06287e } /* Name.Function */ .highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ .highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ .highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #bb60d5 } /* Name.Variable */ .highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #208050 } /* Literal.Number.Bin */ .highlight .mf { color: #208050 } /* Literal.Number.Float */ .highlight .mh { color: #208050 } /* Literal.Number.Hex */ .highlight .mi { color: #208050 } /* Literal.Number.Integer */ .highlight .mo { color: #208050 } /* Literal.Number.Oct */ .highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ .highlight .sc { color: #4070a0 } /* Literal.String.Char */ .highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ .highlight .s2 { color: #4070a0 } /* Literal.String.Double */ .highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ .highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ .highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ .highlight .sx { color: #c65d09 } /* Literal.String.Other */ .highlight .sr { color: #235388 } /* Literal.String.Regex */ .highlight .s1 { color: #4070a0 } /* Literal.String.Single */ .highlight .ss { color: #517918 } /* Literal.String.Symbol */ .highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ .highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ .highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ .highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ .highlight .il { color: #208050 } /* Literal.Number.Integer.Long */PKō3FK)django-blog-zinnia-v0.9/_static/minus.pngPNG  IHDR &q pHYs  tIME <8tEXtComment̖RIDATc H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 1;VIDAT8ukU?sg4h`G1 RQܸp%Bn"bЍXJ .4V iZ##T;m!4bP~7r>ιbwc;m;oӍAΆ ζZ^/|s{;yR=9(rtVoG1w#_ө{*E&!(LVuoᲵ‘D PG4 :&~*ݳreu: S-,U^E&JY[P!RB ŖޞʖR@_ȐdBfNvHf"2T]R j'B1ddAak/DIJD D2H&L`&L $Ex,6|~_\P $MH`I=@Z||ttvgcЕWTZ'3rje"ܵx9W> mb|byfFRx{w%DZC$wdցHmWnta(M<~;9]C/_;Տ#}o`zSڷ_>:;x컓?yݩ|}~wam-/7=0S5RP"*֯ IENDB`PKhDVR>>'django-blog-zinnia-v0.9/_static/rtd.css/* * rtd.css * ~~~~~~~~~~~~~~~ * * Sphinx stylesheet -- sphinxdoc theme. Originally created by * Armin Ronacher for Werkzeug. * * Customized for ReadTheDocs by Eric Pierce & Eric Holscher * * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ /* RTD colors * light blue: #e8ecef * medium blue: #8ca1af * dark blue: #465158 * dark grey: #444444 * * white hover: #d1d9df; * medium blue hover: #697983; * green highlight: #8ecc4c * light blue (project bar): #e8ecef */ @import url("basic.css"); /* PAGE LAYOUT -------------------------------------------------------------- */ body { font: 100%/1.5 "ff-meta-web-pro-1","ff-meta-web-pro-2",Arial,"Helvetica Neue",sans-serif; text-align: center; color: black; background-color: #465158; padding: 0; margin: 0; } div.document { text-align: left; background-color: #e8ecef; } div.bodywrapper { background-color: #ffffff; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; margin: 0 0 0 16em; } div.body { margin: 0; padding: 0.5em 1.3em; min-width: 20em; } div.related { font-size: 1em; background-color: #465158; } div.documentwrapper { float: left; width: 100%; background-color: #e8ecef; } /* HEADINGS --------------------------------------------------------------- */ h1 { margin: 0; padding: 0.7em 0 0.3em 0; font-size: 1.5em; line-height: 1.15; color: #111; clear: both; } h2 { margin: 2em 0 0.2em 0; font-size: 1.35em; padding: 0; color: #465158; } h3 { margin: 1em 0 -0.3em 0; font-size: 1.2em; color: #6c818f; } div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a { color: black; } h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor { display: none; margin: 0 0 0 0.3em; padding: 0 0.2em 0 0.2em; color: #aaa !important; } h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor { display: inline; } h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover, h5 a.anchor:hover, h6 a.anchor:hover { color: #777; background-color: #eee; } /* LINKS ------------------------------------------------------------------ */ /* Normal links get a pseudo-underline */ a { color: #444; text-decoration: none; border-bottom: 1px solid #ccc; } /* Links in sidebar, TOC, index trees and tables have no underline */ .sphinxsidebar a, .toctree-wrapper a, .indextable a, #indices-and-tables a { color: #444; text-decoration: none; /* border-bottom: none; */ } /* Search box size */ div.sphinxsidebar #searchbox input[type="submit"] { width: 50px; } /* Most links get an underline-effect when hovered */ a:hover, div.toctree-wrapper a:hover, .indextable a:hover, #indices-and-tables a:hover { color: #111; text-decoration: none; border-bottom: 1px solid #111; } /* Footer links */ div.footer a { color: #86989B; text-decoration: none; border: none; } div.footer a:hover { color: #a6b8bb; text-decoration: underline; border: none; } /* Permalink anchor (subtle grey with a red hover) */ div.body a.headerlink { color: #ccc; font-size: 1em; margin-left: 6px; padding: 0 4px 0 4px; text-decoration: none; border: none; } div.body a.headerlink:hover { color: #c60f0f; border: none; } /* NAVIGATION BAR --------------------------------------------------------- */ div.related ul { height: 2.5em; } div.related ul li { margin: 0; padding: 0.65em 0; float: left; display: block; color: white; /* For the >> separators */ font-size: 0.8em; } div.related ul li.right { float: right; margin-right: 5px; color: transparent; /* Hide the | separators */ } /* "Breadcrumb" links in nav bar */ div.related ul li a { order: none; background-color: inherit; font-weight: bold; margin: 6px 0 6px 4px; line-height: 1.75em; color: #ffffff; padding: 0.4em 0.8em; border: none; border-radius: 3px; } /* previous / next / modules / index links look more like buttons */ div.related ul li.right a { margin: 0.375em 0; background-color: #697983; text-shadow: 0 1px rgba(0, 0, 0, 0.5); border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } /* All navbar links light up as buttons when hovered */ div.related ul li a:hover { background-color: #8ca1af; color: #ffffff; text-decoration: none; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; } /* Take extra precautions for tt within links */ a tt, div.related ul li a tt { background: inherit !important; color: inherit !important; } /* SIDEBAR ---------------------------------------------------------------- */ div.sphinxsidebarwrapper { padding: 0; } div.sphinxsidebar { margin: 0; margin-left: -100%; float: left; top: 3em; left: 0; padding: 0 1em; width: 14em; font-size: 1em; text-align: left; background-color: #e8ecef; } div.sphinxsidebar img { max-width: 12em; } div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p.logo { margin: 1.2em 0 0.3em 0; font-size: 1em; padding: 0; color: #222222; font-family: "ff-meta-web-pro-1", "ff-meta-web-pro-2", "Arial", "Helvetica Neue", sans-serif; } div.sphinxsidebar h3 a { color: #444444; } div.sphinxsidebar ul, div.sphinxsidebar p { margin-top: 0; padding-left: 0; line-height: 130%; background-color: #e8ecef; } /* No bullets for nested lists, but a little extra indentation */ div.sphinxsidebar ul ul { list-style-type: none; margin-left: 1.5em; padding: 0; } /* A little top/bottom padding to prevent adjacent links' borders * from overlapping each other */ div.sphinxsidebar ul li { padding: 1px 0; } /* A little left-padding to make these align with the ULs */ div.sphinxsidebar p.topless { padding-left: 0 0 0 1em; } /* Make these into hidden one-liners */ div.sphinxsidebar ul li, div.sphinxsidebar p.topless { white-space: nowrap; overflow: hidden; } /* ...which become visible when hovered */ div.sphinxsidebar ul li:hover, div.sphinxsidebar p.topless:hover { overflow: visible; } /* Search text box and "Go" button */ #searchbox { margin-top: 2em; margin-bottom: 1em; background: #ddd; padding: 0.5em; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; } #searchbox h3 { margin-top: 0; } /* Make search box and button abut and have a border */ input, div.sphinxsidebar input { border: 1px solid #999; float: left; } /* Search textbox */ input[type="text"] { margin: 0; padding: 0 3px; height: 20px; width: 144px; border-top-left-radius: 3px; border-bottom-left-radius: 3px; -moz-border-radius-topleft: 3px; -moz-border-radius-bottomleft: 3px; -webkit-border-top-left-radius: 3px; -webkit-border-bottom-left-radius: 3px; } /* Search button */ input[type="submit"] { margin: 0 0 0 -1px; /* -1px prevents a double-border with textbox */ height: 22px; color: #444; background-color: #e8ecef; padding: 1px 4px; font-weight: bold; border-top-right-radius: 3px; border-bottom-right-radius: 3px; -moz-border-radius-topright: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-top-right-radius: 3px; -webkit-border-bottom-right-radius: 3px; } input[type="submit"]:hover { color: #ffffff; background-color: #8ecc4c; } div.sphinxsidebar p.searchtip { clear: both; padding: 0.5em 0 0 0; background: #ddd; color: #666; font-size: 0.9em; } /* Sidebar links are unusual */ div.sphinxsidebar li a, div.sphinxsidebar p a { background: #e8ecef; /* In case links overlap main content */ border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; border: 1px solid transparent; /* To prevent things jumping around on hover */ padding: 0 5px 0 5px; } div.sphinxsidebar li a:hover, div.sphinxsidebar p a:hover { color: #111; text-decoration: none; border: 1px solid #888; } div.sphinxsidebar p.logo a { border: 0; } /* Tweak any link appearing in a heading */ div.sphinxsidebar h3 a { } /* OTHER STUFF ------------------------------------------------------------ */ cite, code, tt { font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; font-size: 0.95em; letter-spacing: 0.01em; } tt { background-color: #f2f2f2; color: #444; } tt.descname, tt.descclassname, tt.xref { border: 0; } hr { border: 1px solid #abc; margin: 2em; } pre, #_fontwidthtest { font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; margin: 1em 2em; font-size: 0.95em; letter-spacing: 0.015em; line-height: 120%; padding: 0.5em; border: 1px solid #ccc; background-color: #eee; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; } pre a { color: inherit; text-decoration: underline; } td.linenos pre { margin: 1em 0em; } td.code pre { margin: 1em 0em; } div.quotebar { background-color: #f8f8f8; max-width: 250px; float: right; padding: 2px 7px; border: 1px solid #ccc; } div.topic { background-color: #f8f8f8; } table { border-collapse: collapse; margin: 0 -0.5em 0 -0.5em; } table td, table th { padding: 0.2em 0.5em 0.2em 0.5em; } /* ADMONITIONS AND WARNINGS ------------------------------------------------- */ /* Shared by admonitions, warnings and sidebars */ div.admonition, div.warning, div.sidebar { font-size: 0.9em; margin: 2em; padding: 0; /* border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; */ } div.admonition p, div.warning p, div.sidebar p { margin: 0.5em 1em 0.5em 1em; padding: 0; } div.admonition pre, div.warning pre, div.sidebar pre { margin: 0.4em 1em 0.4em 1em; } div.admonition p.admonition-title, div.warning p.admonition-title, div.sidebar p.sidebar-title { margin: 0; padding: 0.1em 0 0.1em 0.5em; color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 1px rgba(0, 0, 0, 0.5); } div.admonition ul, div.admonition ol, div.warning ul, div.warning ol, div.sidebar ul, div.sidebar ol { margin: 0.1em 0.5em 0.5em 3em; padding: 0; } /* Admonitions and sidebars only */ div.admonition, div.sidebar { border: 1px solid #609060; background-color: #e9ffe9; } div.admonition p.admonition-title, div.sidebar p.sidebar-title { background-color: #70A070; border-bottom: 1px solid #609060; } /* Warnings only */ div.warning { border: 1px solid #900000; background-color: #ffe9e9; } div.warning p.admonition-title { background-color: #b04040; border-bottom: 1px solid #900000; } /* Sidebars only */ div.sidebar { max-width: 30%; } div.versioninfo { margin: 1em 0 0 0; border: 1px solid #ccc; background-color: #DDEAF0; padding: 8px; line-height: 1.3em; font-size: 0.9em; } .viewcode-back { font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', sans-serif; } div.viewcode-block:target { background-color: #f4debf; border-top: 1px solid #ac9; border-bottom: 1px solid #ac9; } dl { margin: 1em 0 2.5em 0; } dl dt { font-style: italic; } dl dd { color: rgb(68, 68, 68); font-size: 0.95em; } /* Highlight target when you click an internal link */ dt:target { background: #ffe080; } /* Don't highlight whole divs */ div.highlight { background: transparent; } /* But do highlight spans (so search results can be highlighted) */ span.highlight { background: #ffe080; } div.footer { background-color: #465158; color: #eeeeee; padding: 0 2em 2em 2em; clear: both; font-size: 0.8em; text-align: center; } p { margin: 0.8em 0 0.5em 0; } .section p img.math { margin: 0; } .section p img { margin: 1em 2em; } table.docutils td, table.docutils th { padding: 1px 8px 1px 5px; } /* MOBILE LAYOUT -------------------------------------------------------------- */ @media screen and (max-width: 600px) { h1, h2, h3, h4, h5 { position: relative; } ul { padding-left: 1.25em; } div.bodywrapper a.headerlink, #indices-and-tables h1 a { color: #e6e6e6; font-size: 80%; float: right; line-height: 1.8; position: absolute; right: -0.7em; visibility: inherit; } div.bodywrapper h1 a.headerlink, #indices-and-tables h1 a { line-height: 1.5; } pre { font-size: 0.7em; overflow: auto; word-wrap: break-word; white-space: pre-wrap; } div.related ul { height: 2.5em; padding: 0; text-align: left; } div.related ul li { clear: both; color: #465158; padding: 0.2em 0; } div.related ul li:last-child { border-bottom: 1px dotted #8ca1af; padding-bottom: 0.4em; margin-bottom: 1em; width: 100%; } div.related ul li a { color: #465158; padding-right: 0; } div.related ul li a:hover { background: inherit; color: inherit; } div.related ul li.right { clear: none; padding: 0.65em 0; margin-bottom: 0.5em; } div.related ul li.right a { color: #fff; padding-right: 0.8em; } div.related ul li.right a:hover { background-color: #8ca1af; } div.body { clear: both; min-width: 0; word-wrap: break-word; } div.bodywrapper { margin: 0 0 0 0; } div.sphinxsidebar { float: none; margin: 0; width: auto; } div.sphinxsidebar input[type="text"] { height: 2em; line-height: 2em; width: 70%; } div.sphinxsidebar input[type="submit"] { height: 2em; margin-left: 0.5em; width: 20%; } div.sphinxsidebar p.searchtip { background: inherit; margin-bottom: 1em; } div.sphinxsidebar ul li, div.sphinxsidebar p.topless { white-space: normal; } .bodywrapper img { display: block; margin-left: auto; margin-right: auto; max-width: 100%; } div.documentwrapper { float: none; } div.admonition, div.warning, pre, blockquote { margin-left: 0em; margin-right: 0em; } .body p img { margin: 0; } #searchbox { background: transparent; } .related:not(:first-child) li { display: none; } .related:not(:first-child) li.right { display: block; } div.footer { padding: 1em; } .rtd_doc_footer .rtd-badge { float: none; margin: 1em auto; position: static; } .rtd_doc_footer .rtd-badge.revsys-inline { margin-right: auto; margin-bottom: 2em; } table.indextable { display: block; width: auto; } .indextable tr { display: block; } .indextable td { display: block; padding: 0; width: auto !important; } .indextable td dt { margin: 1em 0; } ul.search { margin-left: 0.25em; } ul.search li div.context { font-size: 90%; line-height: 1.1; margin-bottom: 1; margin-left: 0; } } PKō3F' 5w 1django-blog-zinnia-v0.9/_static/comment-close.pngPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME!,IDAT8e_Hu?}s3y˕U2MvQ֊FE.łĊbE$DDZF5b@Q":2{n.s<_ y?mwV@tR`}Z _# _=_@ w^R%6gC-έ(K>| ${} 0) { var start = document.cookie.indexOf('sortBy='); if (start != -1) { start = start + 7; var end = document.cookie.indexOf(";", start); if (end == -1) { end = document.cookie.length; by = unescape(document.cookie.substring(start, end)); } } } setComparator(); } /** * Show a comment div. */ function show(id) { $('#ao' + id).hide(); $('#ah' + id).show(); var context = $.extend({id: id}, opts); var popup = $(renderTemplate(popupTemplate, context)).hide(); popup.find('textarea[name="proposal"]').hide(); popup.find('a.by' + by).addClass('sel'); var form = popup.find('#cf' + id); form.submit(function(event) { event.preventDefault(); addComment(form); }); $('#s' + id).after(popup); popup.slideDown('fast', function() { getComments(id); }); } /** * Hide a comment div. */ function hide(id) { $('#ah' + id).hide(); $('#ao' + id).show(); var div = $('#sc' + id); div.slideUp('fast', function() { div.remove(); }); } /** * Perform an ajax request to get comments for a node * and insert the comments into the comments tree. */ function getComments(id) { $.ajax({ type: 'GET', url: opts.getCommentsURL, data: {node: id}, success: function(data, textStatus, request) { var ul = $('#cl' + id); var speed = 100; $('#cf' + id) .find('textarea[name="proposal"]') .data('source', data.source); if (data.comments.length === 0) { ul.html('
  • No comments yet.
  • '); ul.data('empty', true); } else { // If there are comments, sort them and put them in the list. var comments = sortComments(data.comments); speed = data.comments.length * 100; appendComments(comments, ul); ul.data('empty', false); } $('#cn' + id).slideUp(speed + 200); ul.slideDown(speed); }, error: function(request, textStatus, error) { showError('Oops, there was a problem retrieving the comments.'); }, dataType: 'json' }); } /** * Add a comment via ajax and insert the comment into the comment tree. */ function addComment(form) { var node_id = form.find('input[name="node"]').val(); var parent_id = form.find('input[name="parent"]').val(); var text = form.find('textarea[name="comment"]').val(); var proposal = form.find('textarea[name="proposal"]').val(); if (text == '') { showError('Please enter a comment.'); return; } // Disable the form that is being submitted. form.find('textarea,input').attr('disabled', 'disabled'); // Send the comment to the server. $.ajax({ type: "POST", url: opts.addCommentURL, dataType: 'json', data: { node: node_id, parent: parent_id, text: text, proposal: proposal }, success: function(data, textStatus, error) { // Reset the form. if (node_id) { hideProposeChange(node_id); } form.find('textarea') .val('') .add(form.find('input')) .removeAttr('disabled'); var ul = $('#cl' + (node_id || parent_id)); if (ul.data('empty')) { $(ul).empty(); ul.data('empty', false); } insertComment(data.comment); var ao = $('#ao' + node_id); ao.find('img').attr({'src': opts.commentBrightImage}); if (node_id) { // if this was a "root" comment, remove the commenting box // (the user can get it back by reopening the comment popup) $('#ca' + node_id).slideUp(); } }, error: function(request, textStatus, error) { form.find('textarea,input').removeAttr('disabled'); showError('Oops, there was a problem adding the comment.'); } }); } /** * Recursively append comments to the main comment list and children * lists, creating the comment tree. */ function appendComments(comments, ul) { $.each(comments, function() { var div = createCommentDiv(this); ul.append($(document.createElement('li')).html(div)); appendComments(this.children, div.find('ul.comment-children')); // To avoid stagnating data, don't store the comments children in data. this.children = null; div.data('comment', this); }); } /** * After adding a new comment, it must be inserted in the correct * location in the comment tree. */ function insertComment(comment) { var div = createCommentDiv(comment); // To avoid stagnating data, don't store the comments children in data. comment.children = null; div.data('comment', comment); var ul = $('#cl' + (comment.node || comment.parent)); var siblings = getChildren(ul); var li = $(document.createElement('li')); li.hide(); // Determine where in the parents children list to insert this comment. for(i=0; i < siblings.length; i++) { if (comp(comment, siblings[i]) <= 0) { $('#cd' + siblings[i].id) .parent() .before(li.html(div)); li.slideDown('fast'); return; } } // If we get here, this comment rates lower than all the others, // or it is the only comment in the list. ul.append(li.html(div)); li.slideDown('fast'); } function acceptComment(id) { $.ajax({ type: 'POST', url: opts.acceptCommentURL, data: {id: id}, success: function(data, textStatus, request) { $('#cm' + id).fadeOut('fast'); $('#cd' + id).removeClass('moderate'); }, error: function(request, textStatus, error) { showError('Oops, there was a problem accepting the comment.'); } }); } function deleteComment(id) { $.ajax({ type: 'POST', url: opts.deleteCommentURL, data: {id: id}, success: function(data, textStatus, request) { var div = $('#cd' + id); if (data == 'delete') { // Moderator mode: remove the comment and all children immediately div.slideUp('fast', function() { div.remove(); }); return; } // User mode: only mark the comment as deleted div .find('span.user-id:first') .text('[deleted]').end() .find('div.comment-text:first') .text('[deleted]').end() .find('#cm' + id + ', #dc' + id + ', #ac' + id + ', #rc' + id + ', #sp' + id + ', #hp' + id + ', #cr' + id + ', #rl' + id) .remove(); var comment = div.data('comment'); comment.username = '[deleted]'; comment.text = '[deleted]'; div.data('comment', comment); }, error: function(request, textStatus, error) { showError('Oops, there was a problem deleting the comment.'); } }); } function showProposal(id) { $('#sp' + id).hide(); $('#hp' + id).show(); $('#pr' + id).slideDown('fast'); } function hideProposal(id) { $('#hp' + id).hide(); $('#sp' + id).show(); $('#pr' + id).slideUp('fast'); } function showProposeChange(id) { $('#pc' + id).hide(); $('#hc' + id).show(); var textarea = $('#pt' + id); textarea.val(textarea.data('source')); $.fn.autogrow.resize(textarea[0]); textarea.slideDown('fast'); } function hideProposeChange(id) { $('#hc' + id).hide(); $('#pc' + id).show(); var textarea = $('#pt' + id); textarea.val('').removeAttr('disabled'); textarea.slideUp('fast'); } function toggleCommentMarkupBox(id) { $('#mb' + id).toggle(); } /** Handle when the user clicks on a sort by link. */ function handleReSort(link) { var classes = link.attr('class').split(/\s+/); for (var i=0; iThank you! Your comment will show up ' + 'once it is has been approved by a moderator.'); } // Prettify the comment rating. comment.pretty_rating = comment.rating + ' point' + (comment.rating == 1 ? '' : 's'); // Make a class (for displaying not yet moderated comments differently) comment.css_class = comment.displayed ? '' : ' moderate'; // Create a div for this comment. var context = $.extend({}, opts, comment); var div = $(renderTemplate(commentTemplate, context)); // If the user has voted on this comment, highlight the correct arrow. if (comment.vote) { var direction = (comment.vote == 1) ? 'u' : 'd'; div.find('#' + direction + 'v' + comment.id).hide(); div.find('#' + direction + 'u' + comment.id).show(); } if (opts.moderator || comment.text != '[deleted]') { div.find('a.reply').show(); if (comment.proposal_diff) div.find('#sp' + comment.id).show(); if (opts.moderator && !comment.displayed) div.find('#cm' + comment.id).show(); if (opts.moderator || (opts.username == comment.username)) div.find('#dc' + comment.id).show(); } return div; } /** * A simple template renderer. Placeholders such as <%id%> are replaced * by context['id'] with items being escaped. Placeholders such as <#id#> * are not escaped. */ function renderTemplate(template, context) { var esc = $(document.createElement('div')); function handle(ph, escape) { var cur = context; $.each(ph.split('.'), function() { cur = cur[this]; }); return escape ? esc.text(cur || "").html() : cur; } return template.replace(/<([%#])([\w\.]*)\1>/g, function() { return handle(arguments[2], arguments[1] == '%' ? true : false); }); } /** Flash an error message briefly. */ function showError(message) { $(document.createElement('div')).attr({'class': 'popup-error'}) .append($(document.createElement('div')) .attr({'class': 'error-message'}).text(message)) .appendTo('body') .fadeIn("slow") .delay(2000) .fadeOut("slow"); } /** Add a link the user uses to open the comments popup. */ $.fn.comment = function() { return this.each(function() { var id = $(this).attr('id').substring(1); var count = COMMENT_METADATA[id]; var title = count + ' comment' + (count == 1 ? '' : 's'); var image = count > 0 ? opts.commentBrightImage : opts.commentImage; var addcls = count == 0 ? ' nocomment' : ''; $(this) .append( $(document.createElement('a')).attr({ href: '#', 'class': 'sphinx-comment-open' + addcls, id: 'ao' + id }) .append($(document.createElement('img')).attr({ src: image, alt: 'comment', title: title })) .click(function(event) { event.preventDefault(); show($(this).attr('id').substring(2)); }) ) .append( $(document.createElement('a')).attr({ href: '#', 'class': 'sphinx-comment-close hidden', id: 'ah' + id }) .append($(document.createElement('img')).attr({ src: opts.closeCommentImage, alt: 'close', title: 'close' })) .click(function(event) { event.preventDefault(); hide($(this).attr('id').substring(2)); }) ); }); }; var opts = { processVoteURL: '/_process_vote', addCommentURL: '/_add_comment', getCommentsURL: '/_get_comments', acceptCommentURL: '/_accept_comment', deleteCommentURL: '/_delete_comment', commentImage: '/static/_static/comment.png', closeCommentImage: '/static/_static/comment-close.png', loadingImage: '/static/_static/ajax-loader.gif', commentBrightImage: '/static/_static/comment-bright.png', upArrow: '/static/_static/up.png', downArrow: '/static/_static/down.png', upArrowPressed: '/static/_static/up-pressed.png', downArrowPressed: '/static/_static/down-pressed.png', voting: false, moderator: false }; if (typeof COMMENT_OPTIONS != "undefined") { opts = jQuery.extend(opts, COMMENT_OPTIONS); } var popupTemplate = '\
    \

    \ Sort by:\ best rated\ newest\ oldest\

    \
    Comments
    \
    \ loading comments...
    \
      \
      \

      Add a comment\ (markup):

      \
      \ reStructured text markup: *emph*, **strong**, \ ``code``, \ code blocks: :: and an indented block after blank line
      \
      \ \

      \ \ Propose a change ▹\ \ \ Propose a change ▿\ \

      \ \ \ \ \
      \
      \
      '; var commentTemplate = '\
      \
      \
      \ \ \ \ \ \ \
      \
      \ \ \ \ \ \ \
      \
      \
      \

      \ <%username%>\ <%pretty_rating%>\ <%time.delta%>\

      \
      <#text#>
      \

      \ \ reply ▿\ proposal ▹\ proposal ▿\ \ \

      \
      \
      <#proposal_diff#>\
              
      \
        \
        \
        \
        \ '; var replyTemplate = '\
      • \
        \
        \ \ \ \ \ \
        \
        \
      • '; $(document).ready(function() { init(); }); })(jQuery); $(document).ready(function() { // add comment anchors for all paragraphs that are commentable $('.sphinx-has-comment').comment(); // highlight search words in search results $("div.context").each(function() { var params = $.getQueryParameters(); var terms = (params.q) ? params.q[0].split(/\s+/) : []; var result = $(this); $.each(terms, function() { result.highlightText(this.toLowerCase(), 'highlighted'); }); }); // directly open comment window if requested var anchor = document.location.hash; if (anchor.substring(0, 9) == '#comment-') { $('#ao' + anchor.substring(9)).click(); document.location.hash = '#s' + anchor.substring(9); } }); PKō3FDUkk&django-blog-zinnia-v0.9/_static/up.pngPNG  IHDRasRGBbKGDC pHYs B(xtIME!.<̓EIDAT8͓NABP\EG{%<|xc  cr6@t;b$;3&)h1!﫳Hzz@=)p 3۵e2/ߴ ( %^ND^ }3H1DoǪISFұ?, G`{v^X[b]&HC3{:sO& ?,[eL#IENDB`PKō3FM "mm)django-blog-zinnia-v0.9/_static/jquery.js/*! jQuery v1.8.3 jquery.com | jquery.org/license */ (function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
        a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
        t
        ",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="
        ",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
        ",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

        ",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
        ","
        "],thead:[1,"","
        "],tr:[2,"","
        "],td:[3,"","
        "],col:[2,"","
        "],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
        ","
        "]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
        ").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window);PKō3Fa(django-blog-zinnia-v0.9/_static/plus.pngPNG  IHDR &q pHYs  tIME 1l9tEXtComment̖RIDATcz(BpipPc |IENDB`PKō3Fu 2django-blog-zinnia-v0.9/_static/comment-bright.pngPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME 6 B\<IDAT8˅Kh]es1mA`jh[-E(FEaA!bIȐ*BX"؁4)NURZ!Mhjssm؋^-\gg ]o|Ҭ[346>zd ]#8Oݺt{5uIXN!I=@Vf=v1}e>;fvnvxaHrʪJF`D¹WZ]S%S)WAb |0K=So7D~\~q-˟\aMZ,S'*} F`Nnz674U0 var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 var s_v = "^(" + C + ")?" + v; // vowel in stem this.stemWord = function (w) { var stem; var suffix; var firstch; var origword = w; if (w.length < 3) return w; var re; var re2; var re3; var re4; firstch = w.substr(0,1); if (firstch == "y") w = firstch.toUpperCase() + w.substr(1); // Step 1a re = /^(.+?)(ss|i)es$/; re2 = /^(.+?)([^s])s$/; if (re.test(w)) w = w.replace(re,"$1$2"); else if (re2.test(w)) w = w.replace(re2,"$1$2"); // Step 1b re = /^(.+?)eed$/; re2 = /^(.+?)(ed|ing)$/; if (re.test(w)) { var fp = re.exec(w); re = new RegExp(mgr0); if (re.test(fp[1])) { re = /.$/; w = w.replace(re,""); } } else if (re2.test(w)) { var fp = re2.exec(w); stem = fp[1]; re2 = new RegExp(s_v); if (re2.test(stem)) { w = stem; re2 = /(at|bl|iz)$/; re3 = new RegExp("([^aeiouylsz])\\1$"); re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); if (re2.test(w)) w = w + "e"; else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); } else if (re4.test(w)) w = w + "e"; } } // Step 1c re = /^(.+?)y$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(s_v); if (re.test(stem)) w = stem + "i"; } // Step 2 re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; suffix = fp[2]; re = new RegExp(mgr0); if (re.test(stem)) w = stem + step2list[suffix]; } // Step 3 re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; suffix = fp[2]; re = new RegExp(mgr0); if (re.test(stem)) w = stem + step3list[suffix]; } // Step 4 re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; re2 = /^(.+?)(s|t)(ion)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(mgr1); if (re.test(stem)) w = stem; } else if (re2.test(w)) { var fp = re2.exec(w); stem = fp[1] + fp[2]; re2 = new RegExp(mgr1); if (re2.test(stem)) w = stem; } // Step 5 re = /^(.+?)e$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(mgr1); re2 = new RegExp(meq1); re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) w = stem; } re = /ll$/; re2 = new RegExp(mgr1); if (re.test(w) && re2.test(w)) { re = /.$/; w = w.replace(re,""); } // and turn initial Y back to y if (firstch == "y") w = firstch.toLowerCase() + w.substr(1); return w; } } /** * Simple result scoring code. */ var Scorer = { // Implement the following function to further tweak the score for each result // The function takes a result array [filename, title, anchor, descr, score] // and returns the new score. /* score: function(result) { return result[4]; }, */ // query matches the full name of an object objNameMatch: 11, // or matches in the last dotted part of the object name objPartialMatch: 6, // Additive scores depending on the priority of the object objPrio: {0: 15, // used to be importantResults 1: 5, // used to be objectResults 2: -5}, // used to be unimportantResults // Used when the priority is not in the mapping. objPrioDefault: 0, // query found in title title: 15, // query found in terms term: 5 }; /** * Search Module */ var Search = { _index : null, _queued_query : null, _pulse_status : -1, init : function() { var params = $.getQueryParameters(); if (params.q) { var query = params.q[0]; $('input[name="q"]')[0].value = query; this.performSearch(query); } }, loadIndex : function(url) { $.ajax({type: "GET", url: url, data: null, dataType: "script", cache: true, complete: function(jqxhr, textstatus) { if (textstatus != "success") { document.getElementById("searchindexloader").src = url; } }}); }, setIndex : function(index) { var q; this._index = index; if ((q = this._queued_query) !== null) { this._queued_query = null; Search.query(q); } }, hasIndex : function() { return this._index !== null; }, deferQuery : function(query) { this._queued_query = query; }, stopPulse : function() { this._pulse_status = 0; }, startPulse : function() { if (this._pulse_status >= 0) return; function pulse() { var i; Search._pulse_status = (Search._pulse_status + 1) % 4; var dotString = ''; for (i = 0; i < Search._pulse_status; i++) dotString += '.'; Search.dots.text(dotString); if (Search._pulse_status > -1) window.setTimeout(pulse, 500); } pulse(); }, /** * perform a search for something (or wait until index is loaded) */ performSearch : function(query) { // create the required interface elements this.out = $('#search-results'); this.title = $('

        ' + _('Searching') + '

        ').appendTo(this.out); this.dots = $('').appendTo(this.title); this.status = $('

        ').appendTo(this.out); this.output = $('