A Django app for managing re-usable blocks of tiny content.
Project description
.. image:: https://travis-ci.org/dominicrodger/django-tinycontent.svg
:target: https://travis-ci.org/dominicrodger/django-tinycontent
.. image:: https://coveralls.io/repos/dominicrodger/django-tinycontent/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/dominicrodger/django-tinycontent?branch=master
django-tinycontent is a simple Django application for re-usable
content blocks, much like `django-boxes`_.
Installation is simple::
pip install django-tinycontent
Add ``tinycontent`` to your ``INSTALLED_APPS``.
Usage in templates is simple::
{% load tinycontent_tags %}
{% tinycontent_simple 'content_name' %}
Or, to specify a value if a content block by the given name cannot be
found, use::
{% load tinycontent_tags %}
{% tinycontent 'content_name' %}
This will be shown if no matching object is found.
{% endtinycontent %}
The name of the content block can also be a context variable, using
both the simple and the complex variants.
Content blocks themselves can be added and edited using Django's admin
interface. If a block with the name given in the template tag cannot
be found, either nothing is rendered (if using
``tinycontent_simple``), or the text between ``tinycontent`` and
``endtinycontent`` is rendered (if using the more complex variant).
To apply custom filters to your content, set ``TINYCONTENT_FILTER`` to
a dotted path to a callable that takes the raw content and returns the
transformed content. You can also set ``TINYCONTENT_FILTER`` to be a
list of dotted paths to callables, to chain filters together.
django-tinycontent supports all versions of Django from 1.5 to
1.8. Python 2.7, 3.3 and 3.4 are supported.
Changelog
=========
v0.5.1
------
* Added a Polish translation and locale (thanks @ad-m).
v0.5.0
------
* Add support for multiple arguments to both the ``tinycontent`` and
the ``tinycontent_simple`` template tags. See the documentation
about :ref:`multiple-arguments`.
* Start caching database queries - fetching a TinyContent block by
name (as the template tags do), will only hit the database the
first time that content block is loaded (unless the content block
is changed).
v0.4.0
------
* Require at least django-autoslug 1.8.0, to fix a warning about
unapplied migrations.
v0.3.0
------
* Drop support for Django 1.4 (it's quite hard to support Django 1.4
and 1.9 in a single release - since Django 1.4 requires ``{% load
url from future %}``, and Django 1.9 doesn't support it).
* Ensure the wheel we upload to PyPI is universal.
* Forward compatibility for Django 1.9 - remove the ``{% load url
from future %}`` from tinycontent templates.
v0.2.1
------
* Forwards compatibility change for Django 1.9 - which will remove
the version of ``importlib`` bundled with Django. All supported
versions of Python (2.7, 3.3 and 3.4) have ``importlib``.
v0.2.0
------
* Dropped support for Python 2.6.
* Added a built-in markdown filter - you can use it by setting
``TINYCONTENT_FILTER`` to
``'tinycontent.filters.md.markdown_filter'``.
* Added the ability to include links to files which you can upload
via the admin.
* Added support for setting ``TINYCONTENT_FILTER`` to a list of
dotted paths, to allow chaining filters.
v0.1.8
------
* Added the ``TINYCONTENT_FILTER`` setting for controlling the way
content is output.
* Improved testing with Travis (we now test all supported Python
versions and Django versions).
.. _django-boxes: https://github.com/eldarion/django-boxes
:target: https://travis-ci.org/dominicrodger/django-tinycontent
.. image:: https://coveralls.io/repos/dominicrodger/django-tinycontent/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/dominicrodger/django-tinycontent?branch=master
django-tinycontent is a simple Django application for re-usable
content blocks, much like `django-boxes`_.
Installation is simple::
pip install django-tinycontent
Add ``tinycontent`` to your ``INSTALLED_APPS``.
Usage in templates is simple::
{% load tinycontent_tags %}
{% tinycontent_simple 'content_name' %}
Or, to specify a value if a content block by the given name cannot be
found, use::
{% load tinycontent_tags %}
{% tinycontent 'content_name' %}
This will be shown if no matching object is found.
{% endtinycontent %}
The name of the content block can also be a context variable, using
both the simple and the complex variants.
Content blocks themselves can be added and edited using Django's admin
interface. If a block with the name given in the template tag cannot
be found, either nothing is rendered (if using
``tinycontent_simple``), or the text between ``tinycontent`` and
``endtinycontent`` is rendered (if using the more complex variant).
To apply custom filters to your content, set ``TINYCONTENT_FILTER`` to
a dotted path to a callable that takes the raw content and returns the
transformed content. You can also set ``TINYCONTENT_FILTER`` to be a
list of dotted paths to callables, to chain filters together.
django-tinycontent supports all versions of Django from 1.5 to
1.8. Python 2.7, 3.3 and 3.4 are supported.
Changelog
=========
v0.5.1
------
* Added a Polish translation and locale (thanks @ad-m).
v0.5.0
------
* Add support for multiple arguments to both the ``tinycontent`` and
the ``tinycontent_simple`` template tags. See the documentation
about :ref:`multiple-arguments`.
* Start caching database queries - fetching a TinyContent block by
name (as the template tags do), will only hit the database the
first time that content block is loaded (unless the content block
is changed).
v0.4.0
------
* Require at least django-autoslug 1.8.0, to fix a warning about
unapplied migrations.
v0.3.0
------
* Drop support for Django 1.4 (it's quite hard to support Django 1.4
and 1.9 in a single release - since Django 1.4 requires ``{% load
url from future %}``, and Django 1.9 doesn't support it).
* Ensure the wheel we upload to PyPI is universal.
* Forward compatibility for Django 1.9 - remove the ``{% load url
from future %}`` from tinycontent templates.
v0.2.1
------
* Forwards compatibility change for Django 1.9 - which will remove
the version of ``importlib`` bundled with Django. All supported
versions of Python (2.7, 3.3 and 3.4) have ``importlib``.
v0.2.0
------
* Dropped support for Python 2.6.
* Added a built-in markdown filter - you can use it by setting
``TINYCONTENT_FILTER`` to
``'tinycontent.filters.md.markdown_filter'``.
* Added the ability to include links to files which you can upload
via the admin.
* Added support for setting ``TINYCONTENT_FILTER`` to a list of
dotted paths, to allow chaining filters.
v0.1.8
------
* Added the ``TINYCONTENT_FILTER`` setting for controlling the way
content is output.
* Improved testing with Travis (we now test all supported Python
versions and Django versions).
.. _django-boxes: https://github.com/eldarion/django-boxes
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-tinycontent-0.6.0.tar.gz
(11.7 kB
view hashes)
Built Distribution
Close
Hashes for django_tinycontent-0.6.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e26e78ea707ce388a83b39581b81d27b0e55400e9d9e3cc11d58b56ffc70b29 |
|
MD5 | 17f32f5714318cf9588c7edd495b206a |
|
BLAKE2b-256 | e16ff8ad77745e0eb965f788d2c2adc879057f6bdf2073d220cccc8a559dcfd8 |