django-venobox 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- django_venobox-0.1.1/CHANGES.rst +7 -0
- django_venobox-0.1.1/LICENSE +28 -0
- django_venobox-0.1.1/PKG-INFO +137 -0
- django_venobox-0.1.1/README.rst +97 -0
- django_venobox-0.1.1/django_venobox.egg-info/PKG-INFO +137 -0
- django_venobox-0.1.1/django_venobox.egg-info/SOURCES.txt +17 -0
- django_venobox-0.1.1/django_venobox.egg-info/dependency_links.txt +1 -0
- django_venobox-0.1.1/django_venobox.egg-info/not-zip-safe +1 -0
- django_venobox-0.1.1/django_venobox.egg-info/requires.txt +1 -0
- django_venobox-0.1.1/django_venobox.egg-info/top_level.txt +1 -0
- django_venobox-0.1.1/pyproject.toml +184 -0
- django_venobox-0.1.1/setup.cfg +4 -0
- django_venobox-0.1.1/venobox/__init__.py +0 -0
- django_venobox-0.1.1/venobox/models.py +0 -0
- django_venobox-0.1.1/venobox/static/venobox/css/venobox.min.css +2 -0
- django_venobox-0.1.1/venobox/static/venobox/js/venobox.min.js +7 -0
- django_venobox-0.1.1/venobox/templates/venobox/base.html +14 -0
- django_venobox-0.1.1/venobox/templates/venobox/venobox_css.html +5 -0
- django_venobox-0.1.1/venobox/templates/venobox/venobox_js.html +10 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Copyright (c) 2013-2015, Basil Shubin
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
|
5
|
+
modification, are permitted provided that the following conditions are
|
|
6
|
+
met:
|
|
7
|
+
|
|
8
|
+
* Redistributions of source code must retain the above copyright
|
|
9
|
+
notice, this list of conditions and the following disclaimer.
|
|
10
|
+
* Redistributions in binary form must reproduce the above
|
|
11
|
+
copyright notice, this list of conditions and the following
|
|
12
|
+
disclaimer in the documentation and/or other materials provided
|
|
13
|
+
with the distribution.
|
|
14
|
+
* Neither the name of the author nor the names of other
|
|
15
|
+
contributors may be used to endorse or promote products derived
|
|
16
|
+
from this software without specific prior written permission.
|
|
17
|
+
|
|
18
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
21
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
22
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
23
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
24
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
25
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
26
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
27
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: django-venobox
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Simple venobox modal for Django
|
|
5
|
+
Author-email: Basil Shubin <basil.shubin@gmail.com>
|
|
6
|
+
License-Expression: BSD-3-Clause
|
|
7
|
+
Project-URL: download, https://github.com/bashu/django-venobox/zipball/master
|
|
8
|
+
Project-URL: homepage, https://github.com/bashu/django-venobox/
|
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
|
+
Classifier: Environment :: Web Environment
|
|
11
|
+
Classifier: Framework :: Django
|
|
12
|
+
Classifier: Framework :: Django :: 5.2
|
|
13
|
+
Classifier: Framework :: Django :: 6.0
|
|
14
|
+
Classifier: Framework :: Django :: 6.1
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python
|
|
18
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
24
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
25
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
26
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
27
|
+
Requires-Python: >=3.10
|
|
28
|
+
Description-Content-Type: text/x-rst
|
|
29
|
+
License-File: LICENSE
|
|
30
|
+
Requires-Dist: django>=5.2
|
|
31
|
+
Dynamic: license-file
|
|
32
|
+
|
|
33
|
+
django-venobox
|
|
34
|
+
===============
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
.. image:: https://badge.fury.io/py/django-venobox.svg
|
|
38
|
+
:target: https://badge.fury.io/py/django-venobox
|
|
39
|
+
|
|
40
|
+
.. image:: https://img.shields.io/pypi/pyversions/django-venobox.svg
|
|
41
|
+
:target: https://pypi.python.org/pypi/django-venobox/
|
|
42
|
+
|
|
43
|
+
.. image:: https://img.shields.io/pypi/djversions/django-venobox.svg
|
|
44
|
+
:target: https://pypi.python.org/pypi/django-venobox/
|
|
45
|
+
|
|
46
|
+
.. image:: https://github.com/bashu/django-venobox/actions/workflows/test.yml/badge.svg
|
|
47
|
+
:target: https://github.com/bashu/django-venobox/actions/workflows/test.yml
|
|
48
|
+
|
|
49
|
+
This is a Django_ integration of VenoBox_.
|
|
50
|
+
|
|
51
|
+
Installation
|
|
52
|
+
------------
|
|
53
|
+
|
|
54
|
+
First install the module, preferably in a virtual environment. It can be installed from PyPI:
|
|
55
|
+
|
|
56
|
+
.. code-block:: shell
|
|
57
|
+
|
|
58
|
+
pip install django-venobox
|
|
59
|
+
|
|
60
|
+
Setup
|
|
61
|
+
-----
|
|
62
|
+
|
|
63
|
+
Add ``venobox`` to ``INSTALLED_APPS``:
|
|
64
|
+
|
|
65
|
+
.. code-block:: python
|
|
66
|
+
|
|
67
|
+
INSTALLED_APPS += (
|
|
68
|
+
'venobox',
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
Be sure you have the ``django.template.context_processors.request`` processor
|
|
72
|
+
|
|
73
|
+
.. code-block:: python
|
|
74
|
+
|
|
75
|
+
TEMPLATES = [
|
|
76
|
+
{
|
|
77
|
+
...
|
|
78
|
+
'OPTIONS': {
|
|
79
|
+
'context_processors': [
|
|
80
|
+
...
|
|
81
|
+
'django.template.context_processors.request',
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
and just include ``venobox`` templates
|
|
88
|
+
|
|
89
|
+
.. code-block:: html+django
|
|
90
|
+
|
|
91
|
+
{% include "venobox/venobox_css.html" %} {# Before the closing head tag #}
|
|
92
|
+
{% include "venobox/venobox_js.html" %} {# Before the closing body tag #}
|
|
93
|
+
|
|
94
|
+
When deploying on production server, don't forget to run :
|
|
95
|
+
|
|
96
|
+
.. code-block:: shell
|
|
97
|
+
|
|
98
|
+
python manage.py collectstatic
|
|
99
|
+
|
|
100
|
+
Usage
|
|
101
|
+
-----
|
|
102
|
+
|
|
103
|
+
Extend base template for ajax requests
|
|
104
|
+
|
|
105
|
+
.. code-block:: html+django
|
|
106
|
+
|
|
107
|
+
{% extends request.is_ajax|yesno:"venobox/base.html,base.html" %}
|
|
108
|
+
|
|
109
|
+
Add ``class="venobox"`` to a link, and set the href to a page you want to display
|
|
110
|
+
|
|
111
|
+
.. code-block:: html+django
|
|
112
|
+
|
|
113
|
+
<a data-vbtype="ajax" href="{% url 'remote.html' %}" class="venobox">Click here</a>
|
|
114
|
+
|
|
115
|
+
Please see ``example`` application. This application is used to manually test the functionalities of this package. This also serves as a good example.
|
|
116
|
+
|
|
117
|
+
Contributing
|
|
118
|
+
------------
|
|
119
|
+
|
|
120
|
+
If you like this module, forked it, or would like to improve it, please let us know!
|
|
121
|
+
Pull requests are welcome too. :-)
|
|
122
|
+
|
|
123
|
+
License
|
|
124
|
+
-------
|
|
125
|
+
|
|
126
|
+
``django-venobox`` is released under the BSD license.
|
|
127
|
+
|
|
128
|
+
.. _django: https://www.djangoproject.com/
|
|
129
|
+
.. _venobox: https://veno.es/venobox/
|
|
130
|
+
|
|
131
|
+
Changes
|
|
132
|
+
-------
|
|
133
|
+
|
|
134
|
+
0.1.0 (2026-09-08)
|
|
135
|
+
~~~~~~~~~~~~~~~~~~
|
|
136
|
+
|
|
137
|
+
* Initial release.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
django-venobox
|
|
2
|
+
===============
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
.. image:: https://badge.fury.io/py/django-venobox.svg
|
|
6
|
+
:target: https://badge.fury.io/py/django-venobox
|
|
7
|
+
|
|
8
|
+
.. image:: https://img.shields.io/pypi/pyversions/django-venobox.svg
|
|
9
|
+
:target: https://pypi.python.org/pypi/django-venobox/
|
|
10
|
+
|
|
11
|
+
.. image:: https://img.shields.io/pypi/djversions/django-venobox.svg
|
|
12
|
+
:target: https://pypi.python.org/pypi/django-venobox/
|
|
13
|
+
|
|
14
|
+
.. image:: https://github.com/bashu/django-venobox/actions/workflows/test.yml/badge.svg
|
|
15
|
+
:target: https://github.com/bashu/django-venobox/actions/workflows/test.yml
|
|
16
|
+
|
|
17
|
+
This is a Django_ integration of VenoBox_.
|
|
18
|
+
|
|
19
|
+
Installation
|
|
20
|
+
------------
|
|
21
|
+
|
|
22
|
+
First install the module, preferably in a virtual environment. It can be installed from PyPI:
|
|
23
|
+
|
|
24
|
+
.. code-block:: shell
|
|
25
|
+
|
|
26
|
+
pip install django-venobox
|
|
27
|
+
|
|
28
|
+
Setup
|
|
29
|
+
-----
|
|
30
|
+
|
|
31
|
+
Add ``venobox`` to ``INSTALLED_APPS``:
|
|
32
|
+
|
|
33
|
+
.. code-block:: python
|
|
34
|
+
|
|
35
|
+
INSTALLED_APPS += (
|
|
36
|
+
'venobox',
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
Be sure you have the ``django.template.context_processors.request`` processor
|
|
40
|
+
|
|
41
|
+
.. code-block:: python
|
|
42
|
+
|
|
43
|
+
TEMPLATES = [
|
|
44
|
+
{
|
|
45
|
+
...
|
|
46
|
+
'OPTIONS': {
|
|
47
|
+
'context_processors': [
|
|
48
|
+
...
|
|
49
|
+
'django.template.context_processors.request',
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
]
|
|
54
|
+
|
|
55
|
+
and just include ``venobox`` templates
|
|
56
|
+
|
|
57
|
+
.. code-block:: html+django
|
|
58
|
+
|
|
59
|
+
{% include "venobox/venobox_css.html" %} {# Before the closing head tag #}
|
|
60
|
+
{% include "venobox/venobox_js.html" %} {# Before the closing body tag #}
|
|
61
|
+
|
|
62
|
+
When deploying on production server, don't forget to run :
|
|
63
|
+
|
|
64
|
+
.. code-block:: shell
|
|
65
|
+
|
|
66
|
+
python manage.py collectstatic
|
|
67
|
+
|
|
68
|
+
Usage
|
|
69
|
+
-----
|
|
70
|
+
|
|
71
|
+
Extend base template for ajax requests
|
|
72
|
+
|
|
73
|
+
.. code-block:: html+django
|
|
74
|
+
|
|
75
|
+
{% extends request.is_ajax|yesno:"venobox/base.html,base.html" %}
|
|
76
|
+
|
|
77
|
+
Add ``class="venobox"`` to a link, and set the href to a page you want to display
|
|
78
|
+
|
|
79
|
+
.. code-block:: html+django
|
|
80
|
+
|
|
81
|
+
<a data-vbtype="ajax" href="{% url 'remote.html' %}" class="venobox">Click here</a>
|
|
82
|
+
|
|
83
|
+
Please see ``example`` application. This application is used to manually test the functionalities of this package. This also serves as a good example.
|
|
84
|
+
|
|
85
|
+
Contributing
|
|
86
|
+
------------
|
|
87
|
+
|
|
88
|
+
If you like this module, forked it, or would like to improve it, please let us know!
|
|
89
|
+
Pull requests are welcome too. :-)
|
|
90
|
+
|
|
91
|
+
License
|
|
92
|
+
-------
|
|
93
|
+
|
|
94
|
+
``django-venobox`` is released under the BSD license.
|
|
95
|
+
|
|
96
|
+
.. _django: https://www.djangoproject.com/
|
|
97
|
+
.. _venobox: https://veno.es/venobox/
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: django-venobox
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Simple venobox modal for Django
|
|
5
|
+
Author-email: Basil Shubin <basil.shubin@gmail.com>
|
|
6
|
+
License-Expression: BSD-3-Clause
|
|
7
|
+
Project-URL: download, https://github.com/bashu/django-venobox/zipball/master
|
|
8
|
+
Project-URL: homepage, https://github.com/bashu/django-venobox/
|
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
|
+
Classifier: Environment :: Web Environment
|
|
11
|
+
Classifier: Framework :: Django
|
|
12
|
+
Classifier: Framework :: Django :: 5.2
|
|
13
|
+
Classifier: Framework :: Django :: 6.0
|
|
14
|
+
Classifier: Framework :: Django :: 6.1
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python
|
|
18
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
24
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
25
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
26
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
27
|
+
Requires-Python: >=3.10
|
|
28
|
+
Description-Content-Type: text/x-rst
|
|
29
|
+
License-File: LICENSE
|
|
30
|
+
Requires-Dist: django>=5.2
|
|
31
|
+
Dynamic: license-file
|
|
32
|
+
|
|
33
|
+
django-venobox
|
|
34
|
+
===============
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
.. image:: https://badge.fury.io/py/django-venobox.svg
|
|
38
|
+
:target: https://badge.fury.io/py/django-venobox
|
|
39
|
+
|
|
40
|
+
.. image:: https://img.shields.io/pypi/pyversions/django-venobox.svg
|
|
41
|
+
:target: https://pypi.python.org/pypi/django-venobox/
|
|
42
|
+
|
|
43
|
+
.. image:: https://img.shields.io/pypi/djversions/django-venobox.svg
|
|
44
|
+
:target: https://pypi.python.org/pypi/django-venobox/
|
|
45
|
+
|
|
46
|
+
.. image:: https://github.com/bashu/django-venobox/actions/workflows/test.yml/badge.svg
|
|
47
|
+
:target: https://github.com/bashu/django-venobox/actions/workflows/test.yml
|
|
48
|
+
|
|
49
|
+
This is a Django_ integration of VenoBox_.
|
|
50
|
+
|
|
51
|
+
Installation
|
|
52
|
+
------------
|
|
53
|
+
|
|
54
|
+
First install the module, preferably in a virtual environment. It can be installed from PyPI:
|
|
55
|
+
|
|
56
|
+
.. code-block:: shell
|
|
57
|
+
|
|
58
|
+
pip install django-venobox
|
|
59
|
+
|
|
60
|
+
Setup
|
|
61
|
+
-----
|
|
62
|
+
|
|
63
|
+
Add ``venobox`` to ``INSTALLED_APPS``:
|
|
64
|
+
|
|
65
|
+
.. code-block:: python
|
|
66
|
+
|
|
67
|
+
INSTALLED_APPS += (
|
|
68
|
+
'venobox',
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
Be sure you have the ``django.template.context_processors.request`` processor
|
|
72
|
+
|
|
73
|
+
.. code-block:: python
|
|
74
|
+
|
|
75
|
+
TEMPLATES = [
|
|
76
|
+
{
|
|
77
|
+
...
|
|
78
|
+
'OPTIONS': {
|
|
79
|
+
'context_processors': [
|
|
80
|
+
...
|
|
81
|
+
'django.template.context_processors.request',
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
and just include ``venobox`` templates
|
|
88
|
+
|
|
89
|
+
.. code-block:: html+django
|
|
90
|
+
|
|
91
|
+
{% include "venobox/venobox_css.html" %} {# Before the closing head tag #}
|
|
92
|
+
{% include "venobox/venobox_js.html" %} {# Before the closing body tag #}
|
|
93
|
+
|
|
94
|
+
When deploying on production server, don't forget to run :
|
|
95
|
+
|
|
96
|
+
.. code-block:: shell
|
|
97
|
+
|
|
98
|
+
python manage.py collectstatic
|
|
99
|
+
|
|
100
|
+
Usage
|
|
101
|
+
-----
|
|
102
|
+
|
|
103
|
+
Extend base template for ajax requests
|
|
104
|
+
|
|
105
|
+
.. code-block:: html+django
|
|
106
|
+
|
|
107
|
+
{% extends request.is_ajax|yesno:"venobox/base.html,base.html" %}
|
|
108
|
+
|
|
109
|
+
Add ``class="venobox"`` to a link, and set the href to a page you want to display
|
|
110
|
+
|
|
111
|
+
.. code-block:: html+django
|
|
112
|
+
|
|
113
|
+
<a data-vbtype="ajax" href="{% url 'remote.html' %}" class="venobox">Click here</a>
|
|
114
|
+
|
|
115
|
+
Please see ``example`` application. This application is used to manually test the functionalities of this package. This also serves as a good example.
|
|
116
|
+
|
|
117
|
+
Contributing
|
|
118
|
+
------------
|
|
119
|
+
|
|
120
|
+
If you like this module, forked it, or would like to improve it, please let us know!
|
|
121
|
+
Pull requests are welcome too. :-)
|
|
122
|
+
|
|
123
|
+
License
|
|
124
|
+
-------
|
|
125
|
+
|
|
126
|
+
``django-venobox`` is released under the BSD license.
|
|
127
|
+
|
|
128
|
+
.. _django: https://www.djangoproject.com/
|
|
129
|
+
.. _venobox: https://veno.es/venobox/
|
|
130
|
+
|
|
131
|
+
Changes
|
|
132
|
+
-------
|
|
133
|
+
|
|
134
|
+
0.1.0 (2026-09-08)
|
|
135
|
+
~~~~~~~~~~~~~~~~~~
|
|
136
|
+
|
|
137
|
+
* Initial release.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
CHANGES.rst
|
|
2
|
+
LICENSE
|
|
3
|
+
README.rst
|
|
4
|
+
pyproject.toml
|
|
5
|
+
django_venobox.egg-info/PKG-INFO
|
|
6
|
+
django_venobox.egg-info/SOURCES.txt
|
|
7
|
+
django_venobox.egg-info/dependency_links.txt
|
|
8
|
+
django_venobox.egg-info/not-zip-safe
|
|
9
|
+
django_venobox.egg-info/requires.txt
|
|
10
|
+
django_venobox.egg-info/top_level.txt
|
|
11
|
+
venobox/__init__.py
|
|
12
|
+
venobox/models.py
|
|
13
|
+
venobox/static/venobox/css/venobox.min.css
|
|
14
|
+
venobox/static/venobox/js/venobox.min.js
|
|
15
|
+
venobox/templates/venobox/base.html
|
|
16
|
+
venobox/templates/venobox/venobox_css.html
|
|
17
|
+
venobox/templates/venobox/venobox_js.html
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
django>=5.2
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
venobox
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
build-backend = "setuptools.build_meta"
|
|
3
|
+
requires = [ "setuptools>=61" ]
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "django-venobox"
|
|
7
|
+
version = "0.1.1"
|
|
8
|
+
description = "Simple venobox modal for Django"
|
|
9
|
+
license = "BSD-3-Clause"
|
|
10
|
+
authors = [ { name = "Basil Shubin", email = "basil.shubin@gmail.com" } ]
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
classifiers = [
|
|
13
|
+
"Development Status :: 5 - Production/Stable",
|
|
14
|
+
"Environment :: Web Environment",
|
|
15
|
+
"Framework :: Django",
|
|
16
|
+
"Framework :: Django :: 5.2",
|
|
17
|
+
"Framework :: Django :: 6.0",
|
|
18
|
+
"Framework :: Django :: 6.1",
|
|
19
|
+
"Intended Audience :: Developers",
|
|
20
|
+
"Operating System :: OS Independent",
|
|
21
|
+
"Programming Language :: Python",
|
|
22
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
23
|
+
"Programming Language :: Python :: 3.10",
|
|
24
|
+
"Programming Language :: Python :: 3.11",
|
|
25
|
+
"Programming Language :: Python :: 3.12",
|
|
26
|
+
"Programming Language :: Python :: 3.13",
|
|
27
|
+
"Programming Language :: Python :: 3.14",
|
|
28
|
+
"Topic :: Internet :: WWW/HTTP",
|
|
29
|
+
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
|
|
30
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
31
|
+
]
|
|
32
|
+
dynamic = [ "readme" ]
|
|
33
|
+
dependencies = [
|
|
34
|
+
"django>=5.2",
|
|
35
|
+
]
|
|
36
|
+
urls.download = "https://github.com/bashu/django-venobox/zipball/master"
|
|
37
|
+
urls.homepage = "https://github.com/bashu/django-venobox/"
|
|
38
|
+
|
|
39
|
+
[dependency-groups]
|
|
40
|
+
dev = [
|
|
41
|
+
"coverage==7.16.0",
|
|
42
|
+
"django-stubs[compatible-mypy]==6.0.9",
|
|
43
|
+
"django-upgrade==1.32.0",
|
|
44
|
+
"djlint==1.45.2",
|
|
45
|
+
"factory-boy==3.3.3",
|
|
46
|
+
"mypy==2.3.1",
|
|
47
|
+
"pre-commit==4.6.2",
|
|
48
|
+
"pytest==9.1.1",
|
|
49
|
+
"pytest-django==4.14.0",
|
|
50
|
+
"pytest-sugar==1.1.1",
|
|
51
|
+
"ruff==0.16.6",
|
|
52
|
+
]
|
|
53
|
+
|
|
54
|
+
[tool.setuptools]
|
|
55
|
+
packages.find.include = [ "venobox*" ]
|
|
56
|
+
packages.find.exclude = [ "venobox.tests*" ]
|
|
57
|
+
include-package-data = true
|
|
58
|
+
package-data.venobox = [ "static/**/*", "templates/**/*.html" ]
|
|
59
|
+
dynamic.readme = { file = [ "README.rst", "CHANGES.rst" ], content-type = "text/x-rst" }
|
|
60
|
+
zip-safe = false
|
|
61
|
+
|
|
62
|
+
# ==== djLint ====
|
|
63
|
+
[tool.djlint]
|
|
64
|
+
profile = "django"
|
|
65
|
+
include = "H017,H035"
|
|
66
|
+
indent = 2
|
|
67
|
+
max_line_length = 119
|
|
68
|
+
blank_line_after_tag = "load,extends"
|
|
69
|
+
close_void_tags = true
|
|
70
|
+
format_css = true
|
|
71
|
+
format_js = true
|
|
72
|
+
custom_blocks = "element,setvar,slot"
|
|
73
|
+
# TODO: remove T002 when fixed https://github.com/djlint/djLint/issues/687
|
|
74
|
+
ignore = "H006,H030,H031,T002"
|
|
75
|
+
css.indent_size = 2
|
|
76
|
+
js.indent_size = 2
|
|
77
|
+
|
|
78
|
+
# ==== ruff ====
|
|
79
|
+
[tool.ruff]
|
|
80
|
+
# Exclude a variety of commonly ignored directories.
|
|
81
|
+
extend-exclude = [
|
|
82
|
+
"*/migrations/*.py",
|
|
83
|
+
]
|
|
84
|
+
lint.select = [
|
|
85
|
+
"A",
|
|
86
|
+
"ASYNC",
|
|
87
|
+
"B",
|
|
88
|
+
"BLE",
|
|
89
|
+
"C4",
|
|
90
|
+
"C90",
|
|
91
|
+
"COM",
|
|
92
|
+
"DJ",
|
|
93
|
+
"DTZ",
|
|
94
|
+
"E",
|
|
95
|
+
"EM",
|
|
96
|
+
"ERA",
|
|
97
|
+
"EXE",
|
|
98
|
+
"F",
|
|
99
|
+
"FA",
|
|
100
|
+
"FBT",
|
|
101
|
+
"FLY",
|
|
102
|
+
"G",
|
|
103
|
+
"I",
|
|
104
|
+
"ICN",
|
|
105
|
+
"INP",
|
|
106
|
+
"INT",
|
|
107
|
+
"ISC",
|
|
108
|
+
"N",
|
|
109
|
+
"PD",
|
|
110
|
+
"PERF",
|
|
111
|
+
"PGH",
|
|
112
|
+
"PIE",
|
|
113
|
+
"PL",
|
|
114
|
+
"PT",
|
|
115
|
+
"PTH",
|
|
116
|
+
"PYI",
|
|
117
|
+
"Q",
|
|
118
|
+
"RET",
|
|
119
|
+
"RSE",
|
|
120
|
+
"RUF",
|
|
121
|
+
"S",
|
|
122
|
+
"SIM",
|
|
123
|
+
"SLF",
|
|
124
|
+
"SLOT",
|
|
125
|
+
"T10",
|
|
126
|
+
"T20",
|
|
127
|
+
"TC",
|
|
128
|
+
"TID",
|
|
129
|
+
"TRY",
|
|
130
|
+
"UP",
|
|
131
|
+
"W",
|
|
132
|
+
"YTT",
|
|
133
|
+
]
|
|
134
|
+
lint.ignore = [
|
|
135
|
+
"RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`
|
|
136
|
+
"S101", # Use of assert detected https://docs.astral.sh/ruff/rules/assert/
|
|
137
|
+
"SIM102", # sometimes it's better to nest
|
|
138
|
+
# of types for comparison.
|
|
139
|
+
# Deactivated because it can make the code slow:
|
|
140
|
+
# https://github.com/astral-sh/ruff/issues/7871
|
|
141
|
+
]
|
|
142
|
+
lint.isort.default-section = "third-party"
|
|
143
|
+
lint.isort.force-single-line = true
|
|
144
|
+
lint.isort.known-first-party = [ "venobox" ]
|
|
145
|
+
lint.isort.section-order = [ "future", "standard-library", "django", "third-party", "first-party", "local-folder" ]
|
|
146
|
+
lint.isort.sections.django = [ "django" ]
|
|
147
|
+
|
|
148
|
+
# ==== pyproject-fmt ====
|
|
149
|
+
[tool.pyproject-fmt]
|
|
150
|
+
keep_full_version = true
|
|
151
|
+
|
|
152
|
+
# ==== mypy ====
|
|
153
|
+
[tool.mypy]
|
|
154
|
+
ignore_missing_imports = true
|
|
155
|
+
python_version = "3.14"
|
|
156
|
+
check_untyped_defs = true
|
|
157
|
+
warn_redundant_casts = true
|
|
158
|
+
warn_unused_ignores = true
|
|
159
|
+
plugins = [
|
|
160
|
+
"mypy_django_plugin.main",
|
|
161
|
+
]
|
|
162
|
+
warn_unused_configs = true
|
|
163
|
+
overrides = [
|
|
164
|
+
# Django migrations should not produce any errors:
|
|
165
|
+
{ module = "*.migrations.*", ignore_errors = true },
|
|
166
|
+
]
|
|
167
|
+
|
|
168
|
+
[tool.django-stubs]
|
|
169
|
+
django_settings_module = "venobox.tests.settings"
|
|
170
|
+
|
|
171
|
+
[tool.pytest]
|
|
172
|
+
ini_options.minversion = "6.0"
|
|
173
|
+
ini_options.python_files = [
|
|
174
|
+
"test_*.py",
|
|
175
|
+
"tests.py",
|
|
176
|
+
]
|
|
177
|
+
# ==== pytest ====
|
|
178
|
+
ini_options.addopts = [ "--ds=venobox.tests.settings", "--reuse-db", "--import-mode=importlib" ]
|
|
179
|
+
|
|
180
|
+
# ==== Coverage ====
|
|
181
|
+
[tool.coverage]
|
|
182
|
+
run.source = [ "venobox" ]
|
|
183
|
+
run.omit = [ "*/migrations/*", "*/tests/*" ]
|
|
184
|
+
run.relative_files = true
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.vbox-overlay{--vbox-tools-color:#fff;--vbox-title-background:#101010;--vbox-title-width:'auto';--vbox-title-radius:0;--vbox-share-background:#101010;--vbox-share-width:'auto';--vbox-share-radius:0;--vbox-padding:0;--vbox-max-width:100%}.vbox-overlay *,.vbox-overlay :after,.vbox-overlay :before{-webkit-backface-visibility:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.vbox-overlay *{-webkit-backface-visibility:visible;backface-visibility:visible}.vbox-overlay{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center;position:fixed;left:0;top:0;bottom:0;right:0;z-index:999999}.vbox-share,.vbox-title{line-height:1;position:fixed;z-index:98;text-align:center;margin:0 auto;color:var(--vbox-tools-color)}.vbox-title{font-size:12px;background-color:var(--vbox-title-background);width:var(--vbox-title-width);border-radius:var(--vbox-title-radius);padding:12px 54px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.vbox-share{font-size:24px;padding:0 .35em;background-color:var(--vbox-share-background);width:var(--vbox-share-width);border-radius:var(--vbox-share-radius)}.vbox-link-btn,button.vbox-link-btn,button.vbox-link-btn:active,button.vbox-link-btn:focus,button.vbox-link-btn:hover{border:none!important;background:0 0!important;box-shadow:none!important;color:inherit!important;padding:6px 12px;outline:0;display:inline-block;cursor:pointer}.vbox-share a{color:inherit!important;padding:6px 12px;display:inline-block}.vbox-share svg{z-index:10;vertical-align:middle}button.vbox-close,button.vbox-link-btn,button.vbox-next,button.vbox-prev{background:0 0;border:none}button.vbox-close{cursor:pointer;position:fixed;top:0;right:0;z-index:99;padding:6px 15px;color:#000;color:var(--vbox-tools-color);font-size:24px;display:flex;align-items:center;opacity:.8;transition:opacity .2s}.vbox-close:hover{opacity:1}.vbox-left-corner{cursor:pointer;position:fixed;left:0;top:0;overflow:hidden;line-height:1;font-size:12px;z-index:99;display:flex;align-items:center;color:var(--vbox-tools-color)}.vbox-num{display:inline-block;padding:12px 15px}.vbox-left{left:0}.vbox-right{right:0}.vbox-top{top:0}.vbox-bottom{bottom:0}.vbox-next,.vbox-prev{position:fixed;top:50%;margin-top:-15px;overflow:hidden;cursor:pointer;display:block;width:45px;height:45px;z-index:99;opacity:.8;transition:opacity .2s}.vbox-next:hover,.vbox-prev:hover{opacity:1}.vbox-next span,.vbox-prev span{position:relative;width:20px;height:20px;border:2px solid transparent;border-top-color:var(--vbox-tools-color);border-right-color:var(--vbox-tools-color);text-indent:-100px;position:absolute;top:8px;display:block}.vbox-prev{left:15px}.vbox-next{right:15px}.vbox-prev span{left:10px;-ms-transform:rotate(-135deg);-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.vbox-next span{-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);transform:rotate(45deg);right:10px}.vbox-open{overflow:hidden}.vbox-container{position:absolute;left:0;right:0;top:0;bottom:0;overflow-x:hidden;overflow-y:scroll;overflow-scrolling:touch;-webkit-overflow-scrolling:touch;z-index:20;max-height:100%;padding:30px 0;scrollbar-width:none;-ms-overflow-style:none}.vbox-container::-webkit-scrollbar{display:none}.vbox-content{opacity:0;text-align:center;width:100%;position:relative;overflow:hidden;padding:0 4%;display:flex;align-items:center;justify-content:center;min-height:100%}.vbox-container img{max-width:100%;height:auto}.vbox-child{box-shadow:0 0 12px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);max-width:var(--vbox-max-width);text-align:initial;padding:var(--vbox-padding)}.vbox-child img{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;display:block}.vbox-fit .vbox-child img,.vbox-fit .vbox-child.venoratio{max-height:calc(100vh - 60px)}.vbox-inline,.venoratio{position:relative;width:100%;margin:0 auto}.venoratio::before{display:block;padding-top:var(--vb-aspect-ratio);content:""}.venoratio>*{position:absolute;top:0;left:0;width:100%;height:100%;padding:var(--vbox-padding)}.venoratio-1x1{--vb-aspect-ratio:100%;max-width:calc(min(var(--vbox-max-width),(100vh - 60px)))}.venoratio-4x3.vbox-child.venoratio{--vb-aspect-ratio:calc(3 / 4 * 100%);max-width:calc(min(var(--vbox-max-width),(100vh - 60px) * 4 / 3))}.venoratio-16x9.vbox-child.venoratio{--vb-aspect-ratio:calc(9 / 16 * 100%);max-width:calc(min(var(--vbox-max-width),(100vh - 60px) * 16 / 9))}.venoratio-21x9.vbox-child.venoratio{--vb-aspect-ratio:calc(9 / 21 * 100%);max-width:calc(min(var(--vbox-max-width),(100vh - 60px) * 21 / 9))}.venoratio-full{--vb-aspect-ratio:calc(100vh - 60px)}.vbox-grab .vbox-child img{cursor:grab}.vbox-child>iframe{border:none!important}.vbox-content.swipe-left{margin-left:-200px!important}.vbox-content.swipe-right{margin-left:200px!important}.vbox-preloader{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.vbox-preloader .vbox-preloader-inner{opacity:1;transition:opacity .2s}.vbox-hidden{display:none}.vbox-preloader.vbox-hidden .vbox-preloader-inner{opacity:0}.vbox-backdrop{position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:translateZ(-1px);-moz-transform:translateZ(-1px);-o-transform:translateZ(-1px);transform:translateZ(-1px);z-index:0}.vbox-tooltip{position:relative;display:inline-block}.vbox-tooltip .vbox-tooltip-text{visibility:hidden;color:#fff;text-align:center;padding:0;position:absolute;z-index:1;bottom:100%;left:0;opacity:0;transition:opacity .3s;margin-bottom:2px;font-family:sans-serif}.vbox-top .vbox-tooltip .vbox-tooltip-text{bottom:auto;top:100%;margin-bottom:0;margin-top:2px}.vbox-tooltip-inner{padding:5px 10px;background-color:rgba(0,0,0,.9);border-radius:6px;font-size:10px}.vbox-tooltip:hover .vbox-tooltip-text{visibility:visible;opacity:1}.vbox-overlay{--sk-size:40px;--sk-color:#333}.sk-center{margin:auto}.sk-plane{width:var(--sk-size);height:var(--sk-size);background-color:var(--sk-color);animation:sk-plane 1.2s infinite ease-in-out}@keyframes sk-plane{0%{transform:perspective(120px) rotateX(0) rotateY(0)}50%{transform:perspective(120px) rotateX(-180.1deg) rotateY(0)}100%{transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.sk-chase{width:var(--sk-size);height:var(--sk-size);position:relative;animation:sk-chase 2.5s infinite linear both}.sk-chase-dot{width:100%;height:100%;position:absolute;left:0;top:0;animation:sk-chase-dot 2s infinite ease-in-out both}.sk-chase-dot:before{content:'';display:block;width:25%;height:25%;background-color:var(--sk-color);border-radius:100%;animation:sk-chase-dot-before 2s infinite ease-in-out both}.sk-chase-dot:first-child{animation-delay:-1.1s}.sk-chase-dot:nth-child(2){animation-delay:-1s}.sk-chase-dot:nth-child(3){animation-delay:-.9s}.sk-chase-dot:nth-child(4){animation-delay:-.8s}.sk-chase-dot:nth-child(5){animation-delay:-.7s}.sk-chase-dot:nth-child(6){animation-delay:-.6s}.sk-chase-dot:first-child:before{animation-delay:-1.1s}.sk-chase-dot:nth-child(2):before{animation-delay:-1s}.sk-chase-dot:nth-child(3):before{animation-delay:-.9s}.sk-chase-dot:nth-child(4):before{animation-delay:-.8s}.sk-chase-dot:nth-child(5):before{animation-delay:-.7s}.sk-chase-dot:nth-child(6):before{animation-delay:-.6s}@keyframes sk-chase{100%{transform:rotate(360deg)}}@keyframes sk-chase-dot{100%,80%{transform:rotate(360deg)}}@keyframes sk-chase-dot-before{50%{transform:scale(.4)}0%,100%{transform:scale(1)}}.sk-bounce{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-bounce-dot{width:100%;height:100%;border-radius:50%;background-color:var(--sk-color);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite cubic-bezier(.455,.03,.515,.955)}.sk-bounce-dot:nth-child(2){animation-delay:-1s}@keyframes sk-bounce{0%,100%{transform:scale(0)}45%,55%{transform:scale(1)}}.sk-wave{width:var(--sk-size);height:var(--sk-size);display:flex;justify-content:space-between}.sk-wave-rect{background-color:var(--sk-color);height:100%;width:15%;animation:sk-wave 1.2s infinite ease-in-out}.sk-wave-rect:first-child{animation-delay:-1.2s}.sk-wave-rect:nth-child(2){animation-delay:-1.1s}.sk-wave-rect:nth-child(3){animation-delay:-1s}.sk-wave-rect:nth-child(4){animation-delay:-.9s}.sk-wave-rect:nth-child(5){animation-delay:-.8s}@keyframes sk-wave{0%,100%,40%{transform:scaleY(.4)}20%{transform:scaleY(1)}}.sk-pulse{width:var(--sk-size);height:var(--sk-size);background-color:var(--sk-color);border-radius:100%;animation:sk-pulse 1.2s infinite cubic-bezier(.455,.03,.515,.955)}@keyframes sk-pulse{0%{transform:scale(0)}100%{transform:scale(1);opacity:0}}.sk-flow{width:calc(var(--sk-size) * 1.3);height:calc(var(--sk-size) * 1.3);display:flex;justify-content:space-between}.sk-flow-dot{width:25%;height:25%;background-color:var(--sk-color);border-radius:50%;animation:sk-flow 1.4s cubic-bezier(.455,.03,.515,.955) 0s infinite both}.sk-flow-dot:first-child{animation-delay:-.3s}.sk-flow-dot:nth-child(2){animation-delay:-.15s}@keyframes sk-flow{0%,100%,80%{transform:scale(.3)}40%{transform:scale(1)}}.sk-swing{width:var(--sk-size);height:var(--sk-size);position:relative;animation:sk-swing 1.8s infinite linear}.sk-swing-dot{width:45%;height:45%;position:absolute;top:0;left:0;right:0;margin:auto;background-color:var(--sk-color);border-radius:100%;animation:sk-swing-dot 2s infinite ease-in-out}.sk-swing-dot:nth-child(2){top:auto;bottom:0;animation-delay:-1s}@keyframes sk-swing{100%{transform:rotate(360deg)}}@keyframes sk-swing-dot{0%,100%{transform:scale(.2)}50%{transform:scale(1)}}.sk-circle{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-circle-dot{width:100%;height:100%;position:absolute;left:0;top:0}.sk-circle-dot:before{content:'';display:block;width:15%;height:15%;background-color:var(--sk-color);border-radius:100%;animation:sk-circle 1.2s infinite ease-in-out both}.sk-circle-dot:first-child{transform:rotate(30deg)}.sk-circle-dot:nth-child(2){transform:rotate(60deg)}.sk-circle-dot:nth-child(3){transform:rotate(90deg)}.sk-circle-dot:nth-child(4){transform:rotate(120deg)}.sk-circle-dot:nth-child(5){transform:rotate(150deg)}.sk-circle-dot:nth-child(6){transform:rotate(180deg)}.sk-circle-dot:nth-child(7){transform:rotate(210deg)}.sk-circle-dot:nth-child(8){transform:rotate(240deg)}.sk-circle-dot:nth-child(9){transform:rotate(270deg)}.sk-circle-dot:nth-child(10){transform:rotate(300deg)}.sk-circle-dot:nth-child(11){transform:rotate(330deg)}.sk-circle-dot:first-child:before{animation-delay:-1.1s}.sk-circle-dot:nth-child(2):before{animation-delay:-1s}.sk-circle-dot:nth-child(3):before{animation-delay:-.9s}.sk-circle-dot:nth-child(4):before{animation-delay:-.8s}.sk-circle-dot:nth-child(5):before{animation-delay:-.7s}.sk-circle-dot:nth-child(6):before{animation-delay:-.6s}.sk-circle-dot:nth-child(7):before{animation-delay:-.5s}.sk-circle-dot:nth-child(8):before{animation-delay:-.4s}.sk-circle-dot:nth-child(9):before{animation-delay:-.3s}.sk-circle-dot:nth-child(10):before{animation-delay:-.2s}.sk-circle-dot:nth-child(11):before{animation-delay:-.1s}@keyframes sk-circle{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.sk-circle-fade{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-circle-fade-dot{width:100%;height:100%;position:absolute;left:0;top:0}.sk-circle-fade-dot:before{content:'';display:block;width:15%;height:15%;background-color:var(--sk-color);border-radius:100%;animation:sk-circle-fade 1.2s infinite ease-in-out both}.sk-circle-fade-dot:first-child{transform:rotate(30deg)}.sk-circle-fade-dot:nth-child(2){transform:rotate(60deg)}.sk-circle-fade-dot:nth-child(3){transform:rotate(90deg)}.sk-circle-fade-dot:nth-child(4){transform:rotate(120deg)}.sk-circle-fade-dot:nth-child(5){transform:rotate(150deg)}.sk-circle-fade-dot:nth-child(6){transform:rotate(180deg)}.sk-circle-fade-dot:nth-child(7){transform:rotate(210deg)}.sk-circle-fade-dot:nth-child(8){transform:rotate(240deg)}.sk-circle-fade-dot:nth-child(9){transform:rotate(270deg)}.sk-circle-fade-dot:nth-child(10){transform:rotate(300deg)}.sk-circle-fade-dot:nth-child(11){transform:rotate(330deg)}.sk-circle-fade-dot:first-child:before{animation-delay:-1.1s}.sk-circle-fade-dot:nth-child(2):before{animation-delay:-1s}.sk-circle-fade-dot:nth-child(3):before{animation-delay:-.9s}.sk-circle-fade-dot:nth-child(4):before{animation-delay:-.8s}.sk-circle-fade-dot:nth-child(5):before{animation-delay:-.7s}.sk-circle-fade-dot:nth-child(6):before{animation-delay:-.6s}.sk-circle-fade-dot:nth-child(7):before{animation-delay:-.5s}.sk-circle-fade-dot:nth-child(8):before{animation-delay:-.4s}.sk-circle-fade-dot:nth-child(9):before{animation-delay:-.3s}.sk-circle-fade-dot:nth-child(10):before{animation-delay:-.2s}.sk-circle-fade-dot:nth-child(11):before{animation-delay:-.1s}@keyframes sk-circle-fade{0%,100%,39%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.sk-grid{width:var(--sk-size);height:var(--sk-size)}.sk-grid-cube{width:33.33%;height:33.33%;background-color:var(--sk-color);float:left;animation:sk-grid 1.3s infinite ease-in-out}.sk-grid-cube:first-child{animation-delay:.2s}.sk-grid-cube:nth-child(2){animation-delay:.3s}.sk-grid-cube:nth-child(3){animation-delay:.4s}.sk-grid-cube:nth-child(4){animation-delay:.1s}.sk-grid-cube:nth-child(5){animation-delay:.2s}.sk-grid-cube:nth-child(6){animation-delay:.3s}.sk-grid-cube:nth-child(7){animation-delay:0s}.sk-grid-cube:nth-child(8){animation-delay:.1s}.sk-grid-cube:nth-child(9){animation-delay:.2s}@keyframes sk-grid{0%,100%,70%{transform:scale3D(1,1,1)}35%{transform:scale3D(0,0,1)}}.sk-fold{width:var(--sk-size);height:var(--sk-size);position:relative;transform:rotateZ(45deg)}.sk-fold-cube{float:left;width:50%;height:50%;position:relative;transform:scale(1.1)}.sk-fold-cube:before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--sk-color);animation:sk-fold 2.4s infinite linear both;transform-origin:100% 100%}.sk-fold-cube:nth-child(2){transform:scale(1.1) rotateZ(90deg)}.sk-fold-cube:nth-child(4){transform:scale(1.1) rotateZ(180deg)}.sk-fold-cube:nth-child(3){transform:scale(1.1) rotateZ(270deg)}.sk-fold-cube:nth-child(2):before{animation-delay:.3s}.sk-fold-cube:nth-child(4):before{animation-delay:.6s}.sk-fold-cube:nth-child(3):before{animation-delay:.9s}@keyframes sk-fold{0%,10%{transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{transform:perspective(140px) rotateX(0);opacity:1}100%,90%{transform:perspective(140px) rotateY(180deg);opacity:0}}.sk-wander{width:var(--sk-size);height:var(--sk-size);position:relative}.sk-wander-cube{background-color:var(--sk-color);width:20%;height:20%;position:absolute;top:0;left:0;--sk-wander-distance:calc(var(--sk-size) * 0.75);animation:sk-wander 2s ease-in-out -2s infinite both}.sk-wander-cube:nth-child(2){animation-delay:-.5s}.sk-wander-cube:nth-child(3){animation-delay:-1s}@keyframes sk-wander{0%{transform:rotate(0)}25%{transform:translateX(var(--sk-wander-distance)) rotate(-90deg) scale(.6)}50%{transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-179deg)}50.1%{transform:translateX(var(--sk-wander-distance)) translateY(var(--sk-wander-distance)) rotate(-180deg)}75%{transform:translateX(0) translateY(var(--sk-wander-distance)) rotate(-270deg) scale(.6)}100%{transform:rotate(-360deg)}}
|
|
2
|
+
/*# sourceMappingURL=venobox.min.css.map */
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VenoBox=t()}(this,function(){"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* VenoBox 2.2.0
|
|
4
|
+
* Copyright 2013-2024 Nicola Franchini
|
|
5
|
+
* @license: https://github.com/nicolafranchini/VenoBox/blob/master/LICENSE
|
|
6
|
+
*/let e,t,o,n,s,i,a,l,r,c,d,v,u,b,p,f,m,g,y,x,h,L,w,k,S,C,A,E,q,P,M,T,j,H,O,z,I,V;const D='<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" focusable="false">',B="</svg>",N=D+'<path d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z"/><path d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"/>'+B,Q=D+'<path fill-rule="evenodd" d="M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1h-2z"/><path fill-rule="evenodd" d="M7.646.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 1.707V10.5a.5.5 0 0 1-1 0V1.707L5.354 3.854a.5.5 0 1 1-.708-.708l3-3z"/>'+B,X=D+'<path fill-rule="evenodd" d="M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z"/><path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/><path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/>'+B;let Y,R=0,K=0,F=0,U=!1,W=!1,Z=!1,_=!1;const G={bounce:["sk-bounce","sk-bounce-dot",2],chase:["sk-chase","sk-chase-dot",6],circle:["sk-circle","sk-circle-dot",12],"circle-fade":["sk-circle-fade","sk-circle-fade-dot",12],flow:["sk-flow","sk-flow-dot",3],fold:["sk-fold","sk-fold-cube",4],grid:["sk-grid","sk-grid-cube",9],plane:["sk-plane","",0],pulse:["sk-pulse","",5],swing:["sk-swing","sk-swing-dot",2],wander:["sk-wander","sk-wander-cube",3],wave:["sk-wave","sk-wave-rect",5]},J={selector:".venobox",autoplay:!1,bgcolor:"#fff",border:"0",customClass:!1,infinigall:!1,maxWidth:"100%",navigation:!0,navKeyboard:!0,navTouch:!0,navSpeed:300,numeration:!1,overlayClose:!0,overlayColor:"rgba(23,23,23,0.95)",popup:!1,ratio:"16x9",share:!1,shareStyle:"pill",spinner:"bounce",spinColor:"#d2d2d2",titleattr:"title",titlePosition:"top",titleStyle:"bar",toolsBackground:"#1C1C1C",toolsColor:"#d2d2d2",onPreOpen:function(){return!0},onPostOpen:function(){},onPreClose:function(){return!0},onNavComplete:function(){},onContentLoaded:function(){},onInit:function(){},jQuerySelectors:!1,focusItem:!0,fitView:!1,initialScale:.9,transitionSpeed:200};function $(e,t,o){if("[object Object]"===Object.prototype.toString.call(e)){let n;for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.call(o,e[n],n,e)}else{let n=0,s=e.length;for(n=0;n<s;n++)t.call(o,e[n],n,e)}}function ee(e){return e}function te({timing:e,draw:t,duration:o}){let n=performance.now();requestAnimationFrame(function s(i){let a=(i-n)/o;a>1&&(a=1);let l=e(a);t(l),a<1&&requestAnimationFrame(s)})}function oe(e){if(!e)return!1;y=!0,l=e,L=!1,w=!1,S=e.getAttribute("data-maxwidth")||e.settings.maxWidth,C=e.getAttribute("data-overlay")||e.settings.overlayColor,A=e.getAttribute("data-ratio")||e.settings.ratio,E=e.hasAttribute("data-autoplay")||e.settings.autoplay,q=e.getAttribute("data-href")||e.getAttribute("href"),P=e.getAttribute("data-customclass")||e.settings.customClass,I=e.getAttribute(e.settings.titleattr)||"",O=e.getAttribute("data-border")||e.settings.border,M=e.hasAttribute("data-fitview")||e.settings.fitView}function ne(){return!(!l||!document.body.classList.contains("vbox-open"))&&((!l.settings.onPreClose||"function"!=typeof l.settings.onPreClose||!1!==l.settings.onPreClose(l,p,j,H))&&(document.body.removeEventListener("keydown",ae),document.body.classList.remove("vbox-open"),l.settings.focusItem&&l.focus(),void te({duration:200,timing:ee,draw:function(e){k.style.opacity=1-e,1===e&&k.remove()}})))}function se(){ge(j)}function ie(){ge(H)}function ae(e){if(27===e.keyCode&&ne(),9===e.keyCode){const t=k.querySelectorAll('a[href], button, input, textarea, select, [tabindex]:not([tabindex="-1"])'),o=t[0],n=t[t.length-1];e.shiftKey?document.activeElement===o&&(n.focus(),e.preventDefault()):document.activeElement===n&&(o.focus(),e.preventDefault())}V||(37==e.keyCode&&!0===w&&ge(H),39==e.keyCode&&!0===L&&ge(j),V=setTimeout(()=>{V=null},100))}function le(){y=!1,a.style.opacity=0,a.innerHTML=x,_?(a.classList.add("vbox-grab"),a.addEventListener("touchstart",ve,!1),a.addEventListener("touchend",ue,!1),a.addEventListener("touchmove",be,!1),a.addEventListener("mousedown",ve,!1),a.addEventListener("mouseup",ue,!1),a.addEventListener("mouseout",ue,!1),a.addEventListener("mousemove",be,!1)):(a.classList.remove("vbox-grab"),a.removeEventListener("touchstart",ve,!1),a.removeEventListener("touchend",ue,!1),a.removeEventListener("touchmove",be,!1),a.removeEventListener("mousedown",ve,!1),a.removeEventListener("mouseup",ue,!1),a.removeEventListener("mouseout",ue,!1),a.removeEventListener("mousemove",be,!1));let e=a.querySelector(":first-child");e.classList.add("vbox-child"),e.style.backgroundColor=l.settings.bgcolor,e.style.transform="scale("+l.settings.initialScale+")",e.style.transition="transform "+l.settings.transitionSpeed+"ms";let t=a.querySelector(".vbox-child img");t&&t.addEventListener("dragstart",function(e){e.preventDefault()}),i.scrollTo(0,0),e.style.transform="scale(1)",k.style.setProperty("--vbox-padding",O),k.style.setProperty("--vbox-max-width",S),$(k.classList,function(e){"vbox-overlay"!==e&&k.classList.remove(e)}),P&&k.classList.add(P),M?a.classList.add("vbox-fit"):a.classList.remove("vbox-fit"),te({duration:l.settings.transitionSpeed,timing:ee,draw:function(e){a.style.opacity=e,1===e&&u.classList.add("vbox-hidden")}}),l.settings.onContentLoaded&&"function"==typeof l.settings.onContentLoaded&&l.settings.onContentLoaded(x)}function re(e){a.classList.contains("vbox-"+e)||le()}function ce(e,t,o){let n;a.classList.add("vbox-loading");let s=function(e){let t,o,n;if(o=e.match(/(https?:\/\/)?((www\.)?(youtube(-nocookie)?|youtube.googleapis)\.com.*(v\/|v=|vi=|vi\/|e\/|embed\/|user\/.*\/u\/\d+\/)|youtu\.be\/)([_0-9a-z-]+)/i),o&&o[7])t="youtube",n=o[7];else{let s=/^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/;o=e.match(s),o&&o[5]&&(t="vimeo",n=o[5])}return{type:t,id:n}}(e);if("vimeo"==s.type||"youtube"==s.type){let i;n=o?"?rel=0&autoplay=1":"?rel=0";let a=n+function(e){let t="",o=decodeURIComponent(e).split("?");if(void 0!==o[1]){let e,n,s=o[1].split("&");for(n=0;n<s.length;n++)e=s[n].split("="),t=t+"&"+e[0]+"="+e[1]}return encodeURI(t)}(e);"vimeo"==s.type?i="https://player.vimeo.com/video/":"youtube"==s.type&&(i="https://www.youtube-nocookie.com/embed/"),x='<div class="venoratio venoratio-'+t+'"><iframe webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay" frameborder="0" src="'+i+s.id+a+'"></iframe></div>'}else n=o?" autoplay":"",x='<div class="venoratio venoratio-'+t+'"><video src="'+e+'"'+n+" controls>Your browser does not support the video tag.</video></div>";a.classList.remove("vbox-loading"),re("animated")}function de(){var e;if(e=x,W.innerHTML=e,f=W.querySelectorAll("img"),f.length){let e=0;$(f,function(t){let o=t.src;const n=new Image;n.onload=function(){e++,e==f.length&&(a.classList.remove("vbox-loading"),re("animated"))},n.onerror=function(){e++,e==f.length&&(a.classList.remove("vbox-loading"),re("animated"))},n.src=o})}else a.classList.remove("vbox-loading"),re("animated")}function ve(e){if(!y){let t=.84*l.settings.navSpeed;a.style.transition="margin "+t+"ms ease-out, opacity "+t+"ms ease-out",R=K="touchstart"===e.type?e.touches[0].pageX:e.pageX,T=v="touchstart"===e.type?e.touches[0].pageY:e.pageY,U=!0}}function ue(e){if(U){U=!1;let e=l,t=!1;F=K-R,F<0&&L&&(e=j,t=!0),F>0&&w&&(e=H,t=!0),Math.abs(F)>=50&&t?ge(e):(a.style.marginLeft=0,a.style.opacity=1)}}function be(e){if(U&&!y){K="touchmove"===e.type?e.touches[0].pageX:e.pageX,v="touchmove"===e.type?e.touches[0].pageY:e.pageY,c=K-R,d=v-T;let t=Math.abs(c);if(t>Math.abs(d)&&t<=180){let o=1.5*(1-t/180);e.preventDefault(),a.style.marginLeft=c+"px",a.style.opacity=o}}}function pe(e){if(!e)return!1;z=e.dataset.gall,h=e.settings.numeration,m=e.settings.infinigall,o.innerHTML="";let s=e.dataset.vbtype;e.settings.share&&"iframe"!==s&&"inline"!==s&&"ajax"!==s&&function(e){if(navigator.canShare){const t={url:e};o.insertAdjacentHTML("beforeend",'<button type="button" class="vbox-link-btn vbox-share-mobile" aria-label="Condividi">'+Q+"</button>"),o.querySelector(".vbox-share-mobile").addEventListener("click",function(e){e.preventDefault(),navigator.share(t)})}o.insertAdjacentHTML("beforeend",'<a target="_blank" href="'+e+'" download aria-label="Download">'+N+"</a>"),o.insertAdjacentHTML("beforeend",'<div class="vbox-tooltip"><button type="button" class="vbox-link-btn vbox-share-copy" aria-label="Copia link"><span class="vbox-tooltip-text" id="myTooltip"></span>'+X+"</button></div>"),o.querySelector(".vbox-share-copy").addEventListener("click",function(t){t.preventDefault();let o=document.getElementById("myTooltip");navigator.clipboard.writeText(e).then(function(){o.innerHTML='<div class="vbox-tooltip-inner">Copied</div>'},function(){console.log("copy failed")})})}(e.href),g=document.querySelectorAll('.vbox-item[data-gall="'+z+'"]'),r=Array.prototype.indexOf.call(g,e),g.length<2&&(h=!1),g.length<3&&(m=!1),j=g[r+1],H=g[r-1],!j&&m&&(j=g[0]),!H&&m&&(H=g[g.length-1]),g.length>=1?(p=r+1,t.innerHTML=p+" / "+g.length):p=1,h?t.classList.remove("vbox-hidden"):t.classList.add("vbox-hidden"),""!==I?n.classList.remove("vbox-hidden"):n.classList.add("vbox-hidden"),n.innerHTML=I,w=!1,L=!1,(j||m)&&(L=!0),(r>0||m)&&(w=!0),_=(w||L)&&e.settings.navTouch;let i=k.querySelector(".vbox-next"),a=k.querySelector(".vbox-prev");w?a.classList.remove("vbox-hidden"):a.classList.add("vbox-hidden"),L?i.classList.remove("vbox-hidden"):i.classList.add("vbox-hidden"),e.settings.navigation||(i.classList.add("vbox-hidden"),a.classList.add("vbox-hidden"))}function fe(t){if(!t)return!1;e.style.backgroundColor=C,b.innerHTML=function(e){if(!e)return"Loading...";let t='<div class="sk-center '+e[0]+'">',o=0;for(o=0;o<e[2];o++)t+='<div class="'+e[1]+'"></div>';return t+="</div>",t}(G[t.settings.spinner]),k.style.setProperty("--sk-color",t.settings.spinColor),u.classList.remove("vbox-hidden"),o.classList.remove("vbox-top","vbox-bottom"),n.classList.remove("vbox-top","vbox-bottom"),"top"==t.settings.titlePosition?(n.classList.add("vbox-top"),o.classList.add("vbox-bottom")):(n.classList.add("vbox-bottom"),o.classList.add("vbox-top"));let s="bar"===t.settings.titleStyle?"100%":"auto",i="pill"===t.settings.titleStyle?"5em":"0",a="bar"===t.settings.shareStyle?"100%":"auto",l="pill"===t.settings.shareStyle?"5em":"0",r="transparent"===t.settings.titleStyle?"transparent":t.settings.toolsBackground,c="transparent"===t.settings.shareStyle?"transparent":t.settings.toolsBackground;k.style.setProperty("--vbox-title-width",s),k.style.setProperty("--vbox-title-radius",i),k.style.setProperty("--vbox-share-width",a),k.style.setProperty("--vbox-share-radius",l),k.style.setProperty("--vbox-tools-color",t.settings.toolsColor),k.style.setProperty("--vbox-title-background",r),k.style.setProperty("--vbox-share-background",c)}function me(){if(!l)return!1;switch(l.dataset.vbtype){case"iframe":e=q,t=A,a.classList.add("vbox-loading"),x='<div class="venoratio venoratio-'+t+'"><iframe src="'+e+'"></iframe></div>',a.classList.remove("vbox-loading"),re("animated");break;case"inline":!function(e){let t=document.querySelector(e);t&&(a.classList.add("vbox-loading"),x='<div class="vbox-inline">'+t.innerHTML+"</div>",a.classList.remove("vbox-loading"),re("animated"))}(q);break;case"ajax":!function(e){a.classList.add("vbox-loading");let t=new XMLHttpRequest;t.open("GET",e,!0),t.onload=function(){x='<div class="vbox-inline">'+t.response+"</div>",de()},t.onerror=function(){x='<div class="vbox-inline"></div>',a.classList.remove("vbox-loading"),re("animated")},t.send()}(q);break;case"video":ce(q,A,E);break;default:!function(e){Z.onload=function(){x='<div class="vbox-child"><img src="'+e+'" alt="'+(I||"Details")+'"></div>',a.classList.remove("vbox-loading"),re("animated")},Z.src=e}(q)}var e,t}function ge(e){if(!e||y||!document.body.classList.contains("vbox-open"))return!1;oe(e),fe(e);const t=.84*l.settings.navSpeed;a.style.transition="margin "+t+"ms ease-out, opacity "+t+"ms ease-out",e===H&&a.classList.add("swipe-right"),e===j&&a.classList.add("swipe-left"),u.classList.remove("vbox-hidden");const o=a.style.opacity;a.classList.add("vbox-animated","vbox-loading"),Y=a.cloneNode(!1),Y.classList.add("cloned"),Y.classList.remove("swipe-left","swipe-right"),Y.style.opacity=0,Y.style.marginLeft="0",Y.style.marginRight="0";const n=a;i.append(Y),a=Y,a.classList.remove("cloned"),pe(e),te({duration:l.settings.navSpeed,timing:ee,draw:function(e){n.style.opacity=o-e/o,1===e&&(n.remove(),a.classList.remove("vbox-animated"),re("loading"),y=!1,l.settings.onNavComplete&&"function"==typeof l.settings.onNavComplete&&l.settings.onNavComplete(l,p,j,H))}}),me()}function ye(r){return!(document.body.classList.contains("vbox-open")||!r)&&((!r.settings.onPreOpen||"function"!=typeof r.settings.onPreOpen||!1!==r.settings.onPreOpen(r))&&(oe(r),document.body.insertAdjacentHTML("beforeend",s),document.body.classList.add("vbox-open"),k=document.querySelector(".vbox-overlay"),e=k.querySelector(".vbox-backdrop"),i=k.querySelector(".vbox-container"),a=i.querySelector(".vbox-content"),t=k.querySelector(".vbox-num"),o=k.querySelector(".vbox-share"),n=k.querySelector(".vbox-title"),u=k.querySelector(".vbox-preloader"),b=u.querySelector(".vbox-preloader-inner"),k.style.opacity=0,fe(r),pe(r),a.classList.add("vbox-animated","vbox-loading"),te({duration:200,timing:ee,draw:function(e){if(k.style.opacity=e,1===e){a.classList.remove("vbox-animated"),y=!1,re("loading");const e=k.querySelector(".vbox-close");e&&(e.setAttribute("tabindex","0"),e.focus()),l.settings.onPostOpen&&"function"==typeof l.settings.onPostOpen&&l.settings.onPostOpen(l,p,j,H)}}}),me(),r.settings.navKeyboard&&(document.body.addEventListener("keydown",ae),document.body.addEventListener("keyup",()=>{V&&(clearTimeout(V),V=null)})),document.querySelector(".vbox-prev").addEventListener("click",function(){ge(H)}),document.querySelector(".vbox-next").addEventListener("click",function(){ge(j)}),void k.addEventListener("click",function(e){let t=document.querySelector(".vbox-close");t&&(t.contains(e.target)||t===e.target||l.settings.overlayClose&&(e.target.classList.contains("vbox-overlay")||e.target.classList.contains("vbox-content")||e.target.classList.contains("vbox-backdrop")||e.target.classList.contains("vbox-close")||e.target.classList.contains("vbox-preloader")||e.target.classList.contains("vbox-container")))&&ne()})))}const xe=function(e){const t={};let o=function(e,t){let o={};return $(e,function(t,n){o[n]=e[n]}),$(t,function(e,n){o[n]=t[n]}),o}(J,e||{});return t.close=ne,t.next=se,t.prev=ie,t.open=ye,t.settings=o,function(e,t){t.onInit&&"function"==typeof t.onInit&&t.onInit(e);let o=t.jQuerySelectors||document.querySelectorAll(t.selector);if(s='<div class="vbox-overlay"><div class="vbox-backdrop"></div><div class="vbox-preloader"><div class="vbox-preloader-inner"></div></div><div class="vbox-container"><div class="vbox-content"></div></div><div class="vbox-title"></div><div class="vbox-left-corner"><div class="vbox-num" aria-live="polite">0/0</div></div><button type="button" class="vbox-close" aria-label="Close"><svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" class="vbox-close-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M13.854 2.146a.5.5 0 0 1 0 .708l-11 11a.5.5 0 0 1-.708-.708l11-11a.5.5 0 0 1 .708 0Z"/><path fill-rule="evenodd" d="M2.146 2.146a.5.5 0 0 0 0 .708l11 11a.5.5 0 0 0 .708-.708l-11-11a.5.5 0 0 0-.708 0Z"/></svg></button><button type="button" class="vbox-next" aria-label="Next"><span>Next</span></button><button type="button" class="vbox-prev" aria-label="Prev"><span>Prev</span></button><div class="vbox-share"></div></div>',W=W||document.createElement("div"),Z=Z||new Image,$(o,function(e){if(e instanceof Element){if(e.classList.contains("vbox-item"))return!0;e.settings=t,e.classList.add("vbox-item"),e.addEventListener("click",function(t){return t.preventDefault(),e.blur(),ye(e),!1})}}),t.popup){let e=document.querySelector(t.popup);e.settings=t,ye(e)}}(t,o),t};return"function"==typeof jQuery&&jQuery.fn.extend({venobox:function(e){const t=e||{};t.jQuerySelectors=this,new xe(t)}}),xe});
|
|
7
|
+
//# sourceMappingURL=venobox.min.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<div class="modal-header">
|
|
2
|
+
{% block content_title %}
|
|
3
|
+
{% endblock content_title %}
|
|
4
|
+
</div>
|
|
5
|
+
<div class="modal-body {% block body_class %}{% endblock body_class %}">
|
|
6
|
+
{% block content %}
|
|
7
|
+
{% endblock content %}
|
|
8
|
+
</div>
|
|
9
|
+
{% block extra_body_base %}
|
|
10
|
+
{% block extra_javascript %}
|
|
11
|
+
{% endblock extra_javascript %}
|
|
12
|
+
{% block extra_body %}
|
|
13
|
+
{% endblock extra_body %}
|
|
14
|
+
{% endblock extra_body_base %}
|