= django-sneak-peek
## Description ##
== Requirements
Requires Django 1.4 or higher. Currently not configured for Django 1.7, but I'll be updating the package to add support for it once released.
{South}[https://pypi.python.org/pypi/South/0.8.4] is required for migrations. django-sneak-peek
includes a data migration that adds a ContentType
and Permission
. The permission is used to determine whether or not a user can view sneak peek content.
== Installation
1. Install via pip
:
$ pip install django-sneak-peek
2. Add sneak_peek_tag
to INSTALLED_APPS
in settings.py
:
INSTALLED_APPS = (
...
'sneak_peek_tag',
...
)
3. Run migrations:
$ python manage.py migrate sneak_peek_tag
4. Run collectstatic
to grab the CSS and image:
$ python manage.py collectstatic
== Usage
django-sneak-peek
defines a template tag called sneak_peek
. Markup that you want to conditionally hide gets wrapped in this template tag.
Add the django-sneak-peek
CSS file to all pages where you plan to use the template tag:
Load sneak_peek
in your template:
{% load sneak_peek %}
Wrap secret markup in sneak_peek
tags:
{% sneak_peek %}
This entire div is hidden from users who don't have the sneak_peek permission.
and applying styles to that element with the .django-sneak-peek
class and several modifiers.
Modifiers change the appearance of the sneak peek block.
Here are the available modifiers and different combinations thereof.
=== Outline
=== Borderless
=== Inline
=== Inline-Block
== CSS Class Modifiers
* Default: Yellow & black "under construction" border
* .outline
: Sets border: none;
and uses an outline
instead
* .borderless
: Sets border: none;
. Markup will appear without superfluous extra styles applied by django-sneak-peek
, but will still be surrouded by an wrapper (as always).
* .inline
: Sets display: inline;
* .inline-block
: Sets display: inline-block;
== Customising
As you may have guessed, you can add custom display styles to django-sneak-peek
. In addition to overriding the existing CSS classes, you can also create your own.
Here's an example of a class you can add to your CSS to add custom styles to a sneak peek element:
.django-sneak-peek.green-border {
border-color: green;
border-width: 5px;
}
This custom class can be applied with:
{% sneak_peek "green-border" %}
...
{% endsneak_peek %}
== License