Metadata-Version: 2.1
Name: DjangoLightbox
Version: 0.2.2
Summary: alternative for a full screen javascript lightbox for the django framework
Home-page: http://pypi.python.org/pypi/DjangoLightbox/
Author: Geert Dekkers
Author-email: geert@djangowebstudio.nl
License: LICENSE.txt
Keywords: lightbox images image presentation
Platform: UNKNOWN
Description-Content-Type: text/plain
Requires-Dist: Django (>=1.11)
Requires-Dist: sorl-thumbnail (>=12.5.0)

=============
LIGHTBOX PAGE
=============

This is an alternative for a full screen javascript lightbox. LIGHTBOX PAGE brings 
the user to a separate page, not an overlay. So this is only useful for
full screen lightbox.

Quick Start
===========

Add lightbox to your INSTALLED APPS
To settings, add LIGHTBOX_MODEL with the parent model name, and 
LIGHTBOX_APP with the app where this model lives.
Defaults are model: 'Page', app: 'base'

Add lightbox.middleware.MobileDetectMiddleware to your middleware classes.

Add the following to your urls.py:

from lightbox.views import ImagePageView

In url patterns, you need to do 2 things:

1. add something like this::

    url(r'^lightbox/(?P<pk>\d+)/(?P<path>.*)/$', 
    ImagePageView.as_view(), {'app': 'projects', 'model': 'project', 
    'related_name': 'projectimage_set'}, name="projectlightbox"),				

As you can see, you will need to specify app, model and related name as keyword arguments.

2. add 

    url(r'^lightbox/', include('lightbox.urls')),

   to your base urls.py

Add ImagePageContextMixin to your views. This will provide the context.

Then, in your own templates, you may call lightbox like so:

		<a href="{% url 'projects:projectlightbox' object.pk path %}?page={{ forloop.counter }}">
    		<img src="{{ im.url }}">

		</a>


Example: 
========

from lightbox.views import ImagePageContextMixin
from django.views.generic import ListView
from models import Page

class CustomView(ImagePageContextMixin, ListView):
	template_name = 'index.html'

If you are not using class-based views, and you wish to use 
the last call structure, you may enter the 
context for the path variable as follows:

from lightbox.views import encode_url

def some_function(request, [...]):

	path = encode_url(request)
	return render_to_response('your_template_name.html', {'path': path, [...: ...]})


Options:
========

LIGHTBOX_WIDTH = '1600'
LIGHTBOX_WIDTH_MOBILE = '800'
LIGHTBOX_IMAGE_CLICKABLE = False
LIGHTBOX_BG_COLOR = '#000'
LIGHTBOX_TXT_COLOR = '#fff'

LIGHTBOX_VIEWABLE_HEIGHT_FACTOR = 0.85
LIGHTBOX_VIEWABLE_WIDTH_FACTOR = 0.85

LIGHTBOX_IMAGE_WINDOW_HEIGHT_FACTOR = 0.71
LIGHTBOX_IMAGE_WINDOW_WIDTH_FACTOR = 0.71


