= 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 %}

Secret pre-release feature

This entire div is hidden from users who don't have the sneak_peek permission.

{% endsneak_peek %} == Additional Options By default, markup under sneak peek will appear with a yellow and black "under construction" border: ## Screenshot ## Sneak peek works by wrapping your code in a
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