mirror of https://github.com/saimn/sigal.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
3.9 KiB
130 lines
3.9 KiB
======== |
|
Themes |
|
======== |
|
|
|
Gallery pages are created from a `Jinja2`_ template ``index.html`` that must |
|
be located in ``THEME_DIR/templates``. |
|
|
|
.. _Jinja2: http://jinja.pocoo.org/docs/ |
|
|
|
Bundled themes |
|
~~~~~~~~~~~~~~ |
|
|
|
Sigal comes with three themes, located in the ``sigal/themes`` folder: |
|
|
|
**colorbox**: |
|
`source <http://www.jacklmoore.com/colorbox>`_, `demo |
|
<http://saimon.org/sigal-demo/colorbox/>`_. This theme uses a Swipe plugin |
|
to browse pictures on touch devices. |
|
|
|
**galleria**: |
|
`source <http://galleria.io/>`_, `demo |
|
<http://saimon.org/sigal-demo/galleria/>`_. This theme is based on the |
|
classic theme, pictures can be browsed with left/right keys, fullscreen |
|
support is available with the `f` key, and a map can be shown with the `m` |
|
key if the ``show_map`` setting is True. |
|
|
|
**photoswipe**: |
|
`source <http://photoswipe.com/>`_, `demo |
|
<http://saimon.org/sigal-demo/photoswipe/>`_. The photoswipe |
|
theme comes with some limitations : It does not support video (see |
|
https://github.com/dimsemenov/PhotoSwipe/issues/651 for details). Video |
|
support will be added when available. |
|
|
|
For developers, a Makefile is available to concatenate and minify the css |
|
files, using `cssmin <https://pypi.python.org/pypi/cssmin>`_ (``pip install |
|
cssmin``). |
|
|
|
Variables |
|
~~~~~~~~~ |
|
|
|
You can use the following variables in your template: |
|
|
|
``album`` |
|
The current album that is rendered in the HTML file, represented by an |
|
:class:`~sigal.gallery.Album` object. ``album.medias`` contains the list |
|
of all medias in the album (represented by the |
|
:class:`~sigal.gallery.Image` and :class:`~sigal.gallery.Video` objects, |
|
inherited from :class:`~sigal.gallery.Media`). |
|
|
|
``index_title`` |
|
Name of the index. This is either the directory name or the title specified |
|
in the ``index.md`` of the ``source`` directory. |
|
|
|
``settings`` |
|
The entire dictionary from ``sigal.conf.py``. |
|
|
|
``sigal_link`` |
|
URL to the Sigal homepage. |
|
|
|
``theme.name``, ``theme.url`` |
|
Name and url of the currently used theme. |
|
|
|
Documentation of sigal's main classes |
|
------------------------------------- |
|
|
|
.. autoclass:: sigal.gallery.Album |
|
:members: |
|
:undoc-members: |
|
:inherited-members: |
|
|
|
.. autoclass:: sigal.gallery.Media |
|
:members: |
|
:undoc-members: |
|
|
|
.. autoclass:: sigal.gallery.Image |
|
:members: |
|
:undoc-members: |
|
|
|
.. autoclass:: sigal.gallery.Video |
|
:members: |
|
:undoc-members: |
|
|
|
.. _simple-exif-data: |
|
|
|
Simpler EXIF data output |
|
~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
Because the tags in the ``media.raw_exif`` dictionary are a little bit |
|
cumbersome to use, some common tags are extracted and formatted for easy use in |
|
templates. If available, you can use: |
|
|
|
``media.exif.iso`` |
|
The ISO speed rating. |
|
|
|
``media.exif.focal`` |
|
The focal length, formatted as a decimal number. |
|
|
|
``media.exif.exposure`` |
|
The exposure time formatted as a fractional number, e.g. "1/500". |
|
|
|
``media.exif.fstop`` |
|
The aperture value given as an F-number and formatted as a decimal. |
|
|
|
``media.exif.datetime`` |
|
The time the image was *taken*. It is a datetime object, that can be |
|
formatted with ``strftime``: |
|
|
|
.. code-block:: jinja |
|
|
|
{% if media.exif.datetime %} |
|
{{ media.exif.datetime.strftime('%A, %d. %B %Y') }} |
|
{% endif %} |
|
|
|
This will output something like "Monday, 25. June 2013", depending on your |
|
locale. |
|
|
|
``media.exif.gps`` |
|
If not None, the dict contains two keys ``lat`` and ``lon`` denoting the |
|
GPS coordinates of the location where the image was taken. ``lat`` will |
|
always be referenced to the north pole whereas ``lon`` will be referenced to |
|
east to the prime meridan. To provide a link on an OpenStreetMap you could |
|
write a template like this: |
|
|
|
.. code-block:: jinja |
|
|
|
{% if media.exif.gps %} |
|
<a href="http://openstreetmap.org/index.html?lat={{ |
|
media.exif.gps.lat }}&lon={{ media.exif.long}}">Go to location</a> |
|
{% endif %} |
|
|
|
|