sigal 2.4__tar.gz → 2.6__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.
- sigal-2.6/.github/dependabot.yml +15 -0
- {sigal-2.4 → sigal-2.6}/.github/workflows/publish.yml +7 -7
- {sigal-2.4 → sigal-2.6}/.github/workflows/python-tests.yml +9 -6
- {sigal-2.4 → sigal-2.6}/.pre-commit-config.yaml +5 -9
- sigal-2.6/.readthedocs.yml +20 -0
- {sigal-2.4 → sigal-2.6}/AUTHORS +9 -2
- {sigal-2.4 → sigal-2.6}/LICENSE +1 -1
- {sigal-2.4 → sigal-2.6}/PKG-INFO +14 -18
- {sigal-2.4 → sigal-2.6}/README.rst +4 -5
- {sigal-2.4 → sigal-2.6}/docs/album_information.rst +2 -2
- {sigal-2.4 → sigal-2.6}/docs/changelog.rst +41 -0
- sigal-2.6/docs/conf.py +100 -0
- {sigal-2.4 → sigal-2.6}/docs/faq.rst +0 -2
- {sigal-2.4 → sigal-2.6}/docs/installation.rst +3 -1
- {sigal-2.4 → sigal-2.6}/docs/license.rst +3 -0
- {sigal-2.4 → sigal-2.6}/docs/plugins.rst +3 -10
- {sigal-2.4 → sigal-2.6}/docs/themes.rst +1 -1
- {sigal-2.4 → sigal-2.6}/pyproject.toml +15 -19
- {sigal-2.4 → sigal-2.6}/src/sigal/__init__.py +1 -1
- {sigal-2.4 → sigal-2.6}/src/sigal/__main__.py +18 -10
- {sigal-2.4 → sigal-2.6}/src/sigal/gallery.py +90 -88
- {sigal-2.4 → sigal-2.6}/src/sigal/image.py +26 -7
- {sigal-2.4 → sigal-2.6}/src/sigal/log.py +1 -1
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/compress_assets.py +4 -3
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/encrypt/encrypt.py +1 -1
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/encrypt/endec.py +2 -2
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/extended_caching.py +5 -1
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/feeds.py +1 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/media_page.py +1 -1
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/nomedia.py +1 -1
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/nonmedia_files.py +26 -15
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/titleregexp.py +2 -2
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/zip_gallery.py +1 -1
- {sigal-2.4 → sigal-2.6}/src/sigal/settings.py +35 -3
- {sigal-2.4 → sigal-2.6}/src/sigal/templates/sigal.conf.py +9 -11
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/templates/album.html +30 -28
- sigal-2.6/src/sigal/themes/default/templates/description.html +29 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/templates/footer.html +3 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/templates/album_items.html +3 -24
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe-dynamic-caption-plugin.esm.js +414 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe-dynamic-caption-plugin.esm.min.js +5 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe-fullscreen.esm.js +129 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe-fullscreen.esm.min.js +8 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe-lightbox.esm.js +1960 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe-lightbox.esm.js.map +1 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe-lightbox.esm.min.js +5 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe-video-plugin.esm.js +257 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe-video-plugin.esm.min.js +1 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe.css +420 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe.esm.js +7081 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe.esm.js.map +1 -0
- sigal-2.6/src/sigal/themes/photoswipe/static/photoswipe.esm.min.js +5 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/photoswipe/static/styles.css +57 -5
- sigal-2.6/src/sigal/themes/photoswipe/templates/album.html +9 -0
- sigal-2.6/src/sigal/themes/photoswipe/templates/album_items.html +31 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/photoswipe/templates/album_list.html +5 -0
- sigal-2.6/src/sigal/themes/photoswipe/templates/base.html +92 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/utils.py +5 -2
- sigal-2.6/src/sigal/version.py +34 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/video.py +3 -3
- {sigal-2.4 → sigal-2.6}/src/sigal/writer.py +11 -3
- {sigal-2.4 → sigal-2.6}/src/sigal.egg-info/PKG-INFO +14 -18
- {sigal-2.4 → sigal-2.6}/src/sigal.egg-info/SOURCES.txt +19 -15
- {sigal-2.4 → sigal-2.6}/src/sigal.egg-info/requires.txt +4 -3
- sigal-2.6/tests/sample/pictures/dir1/test1/11.md +10 -0
- sigal-2.6/tests/sample/pictures/dir1/test1/outdoor.heic +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test2/21.md +1 -1
- sigal-2.6/tests/sample/pictures/dir1/test2/index.md +2 -0
- sigal-2.6/tests/sample/pictures/exifTest/22.jpg +0 -0
- sigal-2.6/tests/sample/pictures/nomedia/ignored/.nomedia +0 -0
- sigal-2.6/tests/sample/pictures/nonmedia_files/dummy.txt +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/sigal.conf.py +4 -3
- {sigal-2.4 → sigal-2.6}/tests/test_compress_assets_plugin.py +3 -1
- {sigal-2.4 → sigal-2.6}/tests/test_gallery.py +48 -9
- {sigal-2.4 → sigal-2.6}/tests/test_image.py +12 -0
- {sigal-2.4 → sigal-2.6}/tests/test_plugins.py +3 -1
- {sigal-2.4 → sigal-2.6}/tests/test_settings.py +3 -2
- {sigal-2.4 → sigal-2.6}/tests/test_utils.py +3 -1
- {sigal-2.4 → sigal-2.6}/tests/test_zip.py +2 -7
- {sigal-2.4 → sigal-2.6}/tox.ini +10 -10
- sigal-2.4/.readthedocs.yml +0 -12
- sigal-2.4/docs/conf.py +0 -165
- sigal-2.4/src/sigal/plugins/upload_s3.py +0 -106
- sigal-2.4/src/sigal/themes/photoswipe/static/app.js +0 -214
- sigal-2.4/src/sigal/themes/photoswipe/static/default-skin/default-skin.css +0 -485
- sigal-2.4/src/sigal/themes/photoswipe/static/default-skin/default-skin.css.map +0 -10
- sigal-2.4/src/sigal/themes/photoswipe/static/default-skin/default-skin.png +0 -0
- sigal-2.4/src/sigal/themes/photoswipe/static/default-skin/default-skin.svg +0 -36
- sigal-2.4/src/sigal/themes/photoswipe/static/default-skin/preloader.gif +0 -0
- sigal-2.4/src/sigal/themes/photoswipe/static/echo/blank.gif +0 -0
- sigal-2.4/src/sigal/themes/photoswipe/static/echo/echo.js +0 -135
- sigal-2.4/src/sigal/themes/photoswipe/static/echo/echo.min.js +0 -2
- sigal-2.4/src/sigal/themes/photoswipe/static/photoswipe-ui-default.js +0 -871
- sigal-2.4/src/sigal/themes/photoswipe/static/photoswipe-ui-default.min.js +0 -1
- sigal-2.4/src/sigal/themes/photoswipe/static/photoswipe.css +0 -175
- sigal-2.4/src/sigal/themes/photoswipe/static/photoswipe.css.map +0 -10
- sigal-2.4/src/sigal/themes/photoswipe/static/photoswipe.js +0 -3592
- sigal-2.4/src/sigal/themes/photoswipe/static/photoswipe.min.js +0 -1
- sigal-2.4/src/sigal/themes/photoswipe/templates/album.html +0 -98
- sigal-2.4/src/sigal/themes/photoswipe/templates/base.html +0 -43
- sigal-2.4/src/sigal/version.py +0 -8
- sigal-2.4/tests/sample/pictures/dir1/test1/11.md +0 -4
- sigal-2.4/tests/sample/pictures/dir1/test2/index.md +0 -1
- {sigal-2.4 → sigal-2.6}/.git-blame-ignore-revs +0 -0
- {sigal-2.4 → sigal-2.6}/.gitignore +0 -0
- {sigal-2.4 → sigal-2.6}/CONTRIBUTING.rst +0 -0
- {sigal-2.4 → sigal-2.6}/docs/Makefile +0 -0
- {sigal-2.4 → sigal-2.6}/docs/changelog.py +0 -0
- {sigal-2.4 → sigal-2.6}/docs/configuration.rst +0 -0
- {sigal-2.4 → sigal-2.6}/docs/contribute.rst +0 -0
- {sigal-2.4 → sigal-2.6}/docs/getting_started.rst +0 -0
- {sigal-2.4 → sigal-2.6}/docs/image_information.rst +0 -0
- {sigal-2.4 → sigal-2.6}/docs/index.rst +0 -0
- {sigal-2.4 → sigal-2.6}/docs/make.bat +0 -0
- {sigal-2.4 → sigal-2.6}/setup.cfg +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/__init__.py +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/adjust.py +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/copyright.py +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/encrypt/__init__.py +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/encrypt/static/decrypt.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/encrypt/static/keycheck.txt +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/encrypt/static/sw.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/plugins/watermark.py +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/signals.py +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/css/colorbox.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/css/skeleton.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/css/style.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/images/controls.png +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/images/loading.gif +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/js/app-with-media-page.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/js/app.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/js/jquery-2.2.1.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/js/jquery-2.2.1.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/js/jquery.colorbox-min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/js/jquery.colorbox.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/js/jquery.touchSwipe.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/static/js/jquery.touchSwipe.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/templates/album_list.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/templates/base.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/colorbox/templates/media.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/Control.FullScreen.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/Control.FullScreen.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/Leaflet.Photo.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/Leaflet.Photo.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/MarkerCluster.Default.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/MarkerCluster.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/README +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/icon-fullscreen-2x.png +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/icon-fullscreen.png +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/images/layers-2x.png +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/images/layers.png +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/images/marker-icon-2x.png +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/images/marker-icon.png +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/images/marker-shadow.png +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/leaflet-providers.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/leaflet-src.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/leaflet.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/leaflet.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/leaflet.markercluster-src.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/static/leaflet/leaflet.markercluster.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/templates/analytics.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/templates/breadcrumb.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/templates/decrypt.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/templates/default_head.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/templates/download_zip.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/templates/gtm.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/templates/links.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/templates/map.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/default/templates/piwik.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/README +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/css/normalize.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/css/style.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/galleria.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/galleria.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/img/empty.png +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/img/fullscreen.png +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/jquery-3.3.1.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/jquery-3.3.1.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/plugins/history/galleria.history.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/plugins/history/galleria.history.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/azur/galleria.azur.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/azur/galleria.azur.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/azur/galleria.azur.min.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/azur/galleria.azur.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/classic/galleria.classic.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/classic/galleria.classic.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/classic/galleria.classic.min.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/classic/galleria.classic.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/folio/galleria.folio.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/folio/galleria.folio.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/folio/galleria.folio.min.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/folio/galleria.folio.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/fullscreen/galleria.fullscreen.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/fullscreen/galleria.fullscreen.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/fullscreen/galleria.fullscreen.min.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/fullscreen/galleria.fullscreen.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/fullscreen/index.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/miniml/galleria.miniml.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/miniml/galleria.miniml.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/miniml/galleria.miniml.min.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/miniml/galleria.miniml.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/twelve/galleria.twelve.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/twelve/galleria.twelve.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/twelve/galleria.twelve.min.css +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/static/themes/twelve/galleria.twelve.min.js +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/templates/album.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/templates/album_list.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal/themes/galleria/templates/base.html +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal.egg-info/dependency_links.txt +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal.egg-info/entry_points.txt +0 -0
- {sigal-2.4 → sigal-2.6}/src/sigal.egg-info/top_level.txt +0 -0
- {sigal-2.4 → sigal-2.6}/tests/conftest.py +0 -0
- /sigal-2.4/tests/sample/pictures/dir1/empty/fake.txt → /sigal-2.6/tests/sample/pictures/.venv/lib64/fake.png +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/accentu/303/251/11.jpg" +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/accentu/303/251/h/303/251lico/303/257de.jpg" +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/accentu/303/251/test?<special> chars#.jpg" +0 -0
- {sigal-2.4/tests/sample/pictures/dir1/test2 → sigal-2.6/tests/sample/pictures/dir1}/22.jpg +0 -0
- {sigal-2.4/tests/sample/pictures → sigal-2.6/tests/sample/pictures/dir1}/empty/fake.txt +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/index.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test1/11.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test1/CMB_Timeline300_no_WMAP.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test1/example.gif +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test1/flickr_jerquiaga_2394751088_cc-by-nc.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test1/flickr_jerquiaga_2394751088_cc-by-nc.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test1/index.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test2/21.tiff +0 -0
- {sigal-2.4/tests/sample/pictures/encryptTest → sigal-2.6/tests/sample/pictures/dir1/test2}/22.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test2/22.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test2/CMB_Timeline300_no_WMAP.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test2/CMB_Timeline300_no_WMAP.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test3/3.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir1/test3/index.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir2/.nozip_gallery +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir2/Hubble Interacting Galaxy NGC 5257.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir2/Hubble ultra deep field.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir2/KeckObservatory20071020.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir2/index.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/dir2/m57_the_ring_nebula-587px.jpg +0 -0
- /sigal-2.4/tests/sample/pictures/nomedia/ignored/.nomedia → /sigal-2.6/tests/sample/pictures/empty/fake.txt +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/encryptTest/21.jpg +0 -0
- {sigal-2.4/tests/sample/pictures/exifTest → sigal-2.6/tests/sample/pictures/encryptTest}/22.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/exifTest/21.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/exifTest/noexif.png +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/index.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/iptcTest/1.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/iptcTest/2.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/iptcTest/2.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/iptcTest/3.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/iptcTest/index.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/nomedia/created/.nomedia +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/nomedia/created/ignored/should_be_ignored2.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/nomedia/created/should_be_created.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/nomedia/created/should_be_ignored3.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/nomedia/ignored/recursively_ignored/should_be_ignored.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/nomedia/ignored/should_be_ignored_1.jpg +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/nonmedia_files/dummy.pdf +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/video/example video.md +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/video/example video.ogv +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/webp/_MG_7805_lossy80.webp +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/pictures/webp/_MG_7808_lossy80.webp +0 -0
- {sigal-2.4 → sigal-2.6}/tests/sample/watermark.png +0 -0
- {sigal-2.4 → sigal-2.6}/tests/test_cli.py +0 -0
- {sigal-2.4 → sigal-2.6}/tests/test_encrypt.py +0 -0
- {sigal-2.4 → sigal-2.6}/tests/test_extended_caching.py +0 -0
- {sigal-2.4 → sigal-2.6}/tests/test_video.py +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
|
3
|
+
# Please see the documentation for all configuration options:
|
|
4
|
+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
updates:
|
|
8
|
+
- package-ecosystem: "github-actions" # See documentation for possible values
|
|
9
|
+
directory: ".github/workflows" # Location of package manifests
|
|
10
|
+
schedule:
|
|
11
|
+
interval: "monthly"
|
|
12
|
+
groups:
|
|
13
|
+
actions:
|
|
14
|
+
patterns:
|
|
15
|
+
- "*"
|
|
@@ -10,15 +10,18 @@ jobs:
|
|
|
10
10
|
build-n-publish:
|
|
11
11
|
name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
|
|
12
12
|
runs-on: ubuntu-latest
|
|
13
|
+
environment: pypi
|
|
14
|
+
permissions:
|
|
15
|
+
id-token: write
|
|
13
16
|
if: ((github.event_name == 'push' && startsWith(github.ref, 'refs/tags')) || contains(github.event.pull_request.labels.*.name, 'Build wheels'))
|
|
14
17
|
|
|
15
18
|
steps:
|
|
16
|
-
- uses: actions/checkout@
|
|
19
|
+
- uses: actions/checkout@v6
|
|
17
20
|
with:
|
|
18
21
|
fetch-depth: 0
|
|
19
|
-
- uses: actions/setup-python@
|
|
22
|
+
- uses: actions/setup-python@v6
|
|
20
23
|
with:
|
|
21
|
-
python-version: 3.
|
|
24
|
+
python-version: "3.13"
|
|
22
25
|
|
|
23
26
|
- name: Install python-build and twine
|
|
24
27
|
run: python -m pip install build twine
|
|
@@ -34,7 +37,4 @@ jobs:
|
|
|
34
37
|
|
|
35
38
|
- name: Publish distribution 📦 to PyPI
|
|
36
39
|
if: startsWith(github.ref, 'refs/tags')
|
|
37
|
-
uses: pypa/gh-action-pypi-publish@
|
|
38
|
-
with:
|
|
39
|
-
user: __token__
|
|
40
|
-
password: ${{ secrets.pypi_password }}
|
|
40
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -16,20 +16,22 @@ jobs:
|
|
|
16
16
|
runs-on: ubuntu-latest
|
|
17
17
|
strategy:
|
|
18
18
|
matrix:
|
|
19
|
-
python-version: [3.
|
|
19
|
+
python-version: ["3.11", "3.12", "3.13", "3.14"]
|
|
20
20
|
|
|
21
21
|
steps:
|
|
22
|
-
- uses: actions/checkout@
|
|
22
|
+
- uses: actions/checkout@v6
|
|
23
23
|
with:
|
|
24
24
|
fetch-depth: 0
|
|
25
25
|
- name: Set up Python ${{ matrix.python-version }}
|
|
26
|
-
uses: actions/setup-python@
|
|
26
|
+
uses: actions/setup-python@v6
|
|
27
27
|
with:
|
|
28
28
|
python-version: ${{ matrix.python-version }}
|
|
29
|
-
|
|
29
|
+
cache: 'pip'
|
|
30
|
+
cache-dependency-path: pyproject.toml
|
|
31
|
+
- name: Install FFmpeg & Poppler
|
|
30
32
|
run: |
|
|
31
33
|
sudo apt update
|
|
32
|
-
sudo apt install ffmpeg
|
|
34
|
+
sudo apt install ffmpeg poppler-utils
|
|
33
35
|
ffmpeg -version
|
|
34
36
|
- name: Install Tox
|
|
35
37
|
run: python -m pip install tox tox-gh-actions coverage
|
|
@@ -38,6 +40,7 @@ jobs:
|
|
|
38
40
|
- name: Convert coverage
|
|
39
41
|
run: python -m coverage xml
|
|
40
42
|
- name: Upload coverage to Codecov
|
|
41
|
-
uses: codecov/codecov-action@
|
|
43
|
+
uses: codecov/codecov-action@v5
|
|
42
44
|
with:
|
|
43
45
|
fail_ci_if_error: true
|
|
46
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
repos:
|
|
2
2
|
|
|
3
3
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
4
|
-
rev:
|
|
4
|
+
rev: v6.0.0
|
|
5
5
|
hooks:
|
|
6
6
|
- id: check-added-large-files
|
|
7
7
|
- id: check-merge-conflict
|
|
@@ -11,13 +11,9 @@ repos:
|
|
|
11
11
|
- id: trailing-whitespace
|
|
12
12
|
exclude: ".*(galleria|photoswipe|jquery|leaflet).*$"
|
|
13
13
|
|
|
14
|
-
- repo: https://github.com/
|
|
15
|
-
rev:
|
|
14
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
15
|
+
rev: v0.15.0
|
|
16
16
|
hooks:
|
|
17
|
-
- id:
|
|
18
|
-
|
|
19
|
-
- repo: https://github.com/charliermarsh/ruff-pre-commit
|
|
20
|
-
rev: v0.0.291
|
|
21
|
-
hooks:
|
|
22
|
-
- id: ruff
|
|
17
|
+
- id: ruff-check
|
|
23
18
|
args: [ --fix, --show-fixes, --exit-non-zero-on-fix ]
|
|
19
|
+
- id: ruff-format
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
|
|
3
|
+
build:
|
|
4
|
+
os: ubuntu-24.04
|
|
5
|
+
tools:
|
|
6
|
+
python: "3.13"
|
|
7
|
+
|
|
8
|
+
sphinx:
|
|
9
|
+
configuration: docs/conf.py
|
|
10
|
+
fail_on_warning: true
|
|
11
|
+
|
|
12
|
+
python:
|
|
13
|
+
install:
|
|
14
|
+
- method: pip
|
|
15
|
+
path: .
|
|
16
|
+
extra_requirements:
|
|
17
|
+
- docs
|
|
18
|
+
|
|
19
|
+
# Don't build any extra formats
|
|
20
|
+
formats: []
|
{sigal-2.4 → sigal-2.6}/AUTHORS
RENAMED
|
@@ -5,6 +5,7 @@ alphabetical order):
|
|
|
5
5
|
- Abdul Qabiz
|
|
6
6
|
- Alexandre Chataignon (@xouillet)
|
|
7
7
|
- Alexey Bazhin
|
|
8
|
+
- amesgen
|
|
8
9
|
- Andreas Sieferlinger
|
|
9
10
|
- Andriy Dzedolik (@IrvinDitz)
|
|
10
11
|
- Antoine Beaupré
|
|
@@ -15,7 +16,8 @@ alphabetical order):
|
|
|
15
16
|
- Cédric Bosdonnat
|
|
16
17
|
- Christophe-Marie Duquesne
|
|
17
18
|
- Craig Gallek
|
|
18
|
-
-
|
|
19
|
+
- datro
|
|
20
|
+
- David Runge
|
|
19
21
|
- David Schultz
|
|
20
22
|
- David Siroky
|
|
21
23
|
- Edward Betts
|
|
@@ -36,12 +38,16 @@ alphabetical order):
|
|
|
36
38
|
- Keith Feldman
|
|
37
39
|
- Keith Johnson
|
|
38
40
|
- Kevin Murray
|
|
41
|
+
- ksfeldman
|
|
42
|
+
- Lixeiden
|
|
39
43
|
- Lucas Cimon
|
|
40
44
|
- Lukas Vacek
|
|
41
|
-
- Luke Cyca
|
|
45
|
+
- Luke Cyca
|
|
46
|
+
- Markus Blöchl
|
|
42
47
|
- Mate Lakat
|
|
43
48
|
- Mathieu Leplatre (@leplatrem)
|
|
44
49
|
- Matthias Vogelgesang
|
|
50
|
+
- max (maauer)
|
|
45
51
|
- Miroslav Pavleski
|
|
46
52
|
- Nicolas Arnaud-Cormos
|
|
47
53
|
- Nikolai Prokoschenko
|
|
@@ -58,6 +64,7 @@ alphabetical order):
|
|
|
58
64
|
- @t-animal
|
|
59
65
|
- @thomasdn
|
|
60
66
|
- Thomas Misilo
|
|
67
|
+
- Tilman Adler
|
|
61
68
|
- Tim AtLee
|
|
62
69
|
- Tim Davies
|
|
63
70
|
- @tired-engineer
|
{sigal-2.4 → sigal-2.6}/LICENSE
RENAMED
{sigal-2.4 → sigal-2.6}/PKG-INFO
RENAMED
|
@@ -1,47 +1,44 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: sigal
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6
|
|
4
4
|
Summary: Simple static gallery generator
|
|
5
5
|
Author-email: Simon Conseil <contact@saimon.org>
|
|
6
|
-
License: MIT
|
|
6
|
+
License-Expression: MIT
|
|
7
7
|
Project-URL: repository, https://github.com/saimn/sigal
|
|
8
|
-
Project-URL: documentation,
|
|
8
|
+
Project-URL: documentation, https://sigal.readthedocs.io/en/latest/
|
|
9
9
|
Keywords: gallery,static,generator,image,video,galleria
|
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
11
|
Classifier: Environment :: Console
|
|
12
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
13
12
|
Classifier: Operating System :: OS Independent
|
|
14
13
|
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
19
14
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
20
15
|
Classifier: Topic :: Multimedia :: Graphics :: Viewers
|
|
21
16
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.11
|
|
23
18
|
Description-Content-Type: text/x-rst
|
|
24
19
|
License-File: LICENSE
|
|
25
20
|
Requires-Dist: blinker
|
|
26
21
|
Requires-Dist: click
|
|
27
22
|
Requires-Dist: Jinja2>=2.7
|
|
28
23
|
Requires-Dist: Markdown
|
|
29
|
-
Requires-Dist: Pillow>=
|
|
24
|
+
Requires-Dist: Pillow>=10.0.0
|
|
30
25
|
Requires-Dist: pilkit
|
|
31
26
|
Requires-Dist: natsort
|
|
32
27
|
Provides-Extra: all
|
|
33
|
-
Requires-Dist: boto; extra == "all"
|
|
34
28
|
Requires-Dist: brotli; extra == "all"
|
|
35
29
|
Requires-Dist: feedgenerator; extra == "all"
|
|
36
30
|
Requires-Dist: zopfli; extra == "all"
|
|
37
31
|
Requires-Dist: cryptography; extra == "all"
|
|
32
|
+
Requires-Dist: pillow-heif; extra == "all"
|
|
33
|
+
Requires-Dist: pdf2image; extra == "all"
|
|
38
34
|
Provides-Extra: tests
|
|
39
35
|
Requires-Dist: pytest; extra == "tests"
|
|
40
36
|
Requires-Dist: pytest-cov; extra == "tests"
|
|
41
37
|
Provides-Extra: docs
|
|
42
38
|
Requires-Dist: Sphinx>=4.1.0; extra == "docs"
|
|
43
|
-
Requires-Dist:
|
|
39
|
+
Requires-Dist: furo; extra == "docs"
|
|
44
40
|
Requires-Dist: cryptography; extra == "docs"
|
|
41
|
+
Dynamic: license-file
|
|
45
42
|
|
|
46
43
|
Sigal - Simple Static Gallery Generator
|
|
47
44
|
=======================================
|
|
@@ -68,14 +65,14 @@ The idea behind Sigal is to ease the use of the javascript libraries like
|
|
|
68
65
|
galleria_. These libraries do a great job to display the images, Sigal does
|
|
69
66
|
what is missing: resize images, create thumbnails, generate HTML pages.
|
|
70
67
|
|
|
71
|
-
Sigal requires Python 3.
|
|
68
|
+
Sigal requires Python 3.11+.
|
|
72
69
|
|
|
73
|
-
Links
|
|
70
|
+
Links
|
|
71
|
+
-----
|
|
74
72
|
|
|
75
73
|
* Latest documentation on the website_
|
|
76
74
|
* Source, issues and pull requests on GitHub_
|
|
77
75
|
* Releases on PyPI_
|
|
78
|
-
* ``#sigal`` on Freenode, or with the webchat_ interface.
|
|
79
76
|
|
|
80
77
|
Themes & Demo
|
|
81
78
|
-------------
|
|
@@ -87,7 +84,7 @@ Javascript libraries:
|
|
|
87
84
|
- `galleria demo`_
|
|
88
85
|
- `photoswipe demo`_
|
|
89
86
|
|
|
90
|
-
.. _website:
|
|
87
|
+
.. _website: https://sigal.readthedocs.io/en/latest/
|
|
91
88
|
.. _GitHub: https://github.com/saimn/sigal/
|
|
92
89
|
.. _PyPI: https://pypi.org/project/sigal/
|
|
93
90
|
.. _galleria: https://github.com/GalleriaJS/galleria
|
|
@@ -96,5 +93,4 @@ Javascript libraries:
|
|
|
96
93
|
.. _galleria demo: http://saimon.org/sigal-demo/galleria/
|
|
97
94
|
.. _colorbox demo: http://saimon.org/sigal-demo/colorbox/
|
|
98
95
|
.. _photoswipe demo: http://saimon.org/sigal-demo/photoswipe/
|
|
99
|
-
.. _webchat: http://webchat.freenode.net/?channels=sigal
|
|
100
96
|
.. _Jinja2: https://palletsprojects.com/p/jinja/
|
|
@@ -23,14 +23,14 @@ The idea behind Sigal is to ease the use of the javascript libraries like
|
|
|
23
23
|
galleria_. These libraries do a great job to display the images, Sigal does
|
|
24
24
|
what is missing: resize images, create thumbnails, generate HTML pages.
|
|
25
25
|
|
|
26
|
-
Sigal requires Python 3.
|
|
26
|
+
Sigal requires Python 3.11+.
|
|
27
27
|
|
|
28
|
-
Links
|
|
28
|
+
Links
|
|
29
|
+
-----
|
|
29
30
|
|
|
30
31
|
* Latest documentation on the website_
|
|
31
32
|
* Source, issues and pull requests on GitHub_
|
|
32
33
|
* Releases on PyPI_
|
|
33
|
-
* ``#sigal`` on Freenode, or with the webchat_ interface.
|
|
34
34
|
|
|
35
35
|
Themes & Demo
|
|
36
36
|
-------------
|
|
@@ -42,7 +42,7 @@ Javascript libraries:
|
|
|
42
42
|
- `galleria demo`_
|
|
43
43
|
- `photoswipe demo`_
|
|
44
44
|
|
|
45
|
-
.. _website:
|
|
45
|
+
.. _website: https://sigal.readthedocs.io/en/latest/
|
|
46
46
|
.. _GitHub: https://github.com/saimn/sigal/
|
|
47
47
|
.. _PyPI: https://pypi.org/project/sigal/
|
|
48
48
|
.. _galleria: https://github.com/GalleriaJS/galleria
|
|
@@ -51,5 +51,4 @@ Javascript libraries:
|
|
|
51
51
|
.. _galleria demo: http://saimon.org/sigal-demo/galleria/
|
|
52
52
|
.. _colorbox demo: http://saimon.org/sigal-demo/colorbox/
|
|
53
53
|
.. _photoswipe demo: http://saimon.org/sigal-demo/photoswipe/
|
|
54
|
-
.. _webchat: http://webchat.freenode.net/?channels=sigal
|
|
55
54
|
.. _Jinja2: https://palletsprojects.com/p/jinja/
|
|
@@ -22,8 +22,8 @@ gallery:
|
|
|
22
22
|
represent the gallery.
|
|
23
23
|
- *Author*: the author of the gallery, if present it is used instead of the
|
|
24
24
|
author setting.
|
|
25
|
-
- *Sort*: the sort order for this album. If prefixed with
|
|
26
|
-
reversed order.
|
|
25
|
+
- *Sort*: the sort order for the sub-albums of this album. If prefixed with
|
|
26
|
+
a '-' it will be in reversed order. Not supported to sort medias.
|
|
27
27
|
|
|
28
28
|
Any additional meta-data is available in the templates. For instance::
|
|
29
29
|
|
|
@@ -2,6 +2,47 @@
|
|
|
2
2
|
Changelog
|
|
3
3
|
===========
|
|
4
4
|
|
|
5
|
+
Version 2.6
|
|
6
|
+
~~~~~~~~~~~~~~
|
|
7
|
+
|
|
8
|
+
Released on 2026-02-06.
|
|
9
|
+
|
|
10
|
+
Sigal now requires Python 3.11+.
|
|
11
|
+
|
|
12
|
+
- With the photoswipe theme, albums can contain both images and sub-albums
|
|
13
|
+
[:issue:`535`].
|
|
14
|
+
- Fix issue with latest version of feedgenerator.
|
|
15
|
+
- Fix compat with click 8.2.0.
|
|
16
|
+
- Fix theme URL for photoswipe.
|
|
17
|
+
- Thumbnail can now be set in ``index.md`` either with the original filename or
|
|
18
|
+
with the thumbnail name after format conversion [:issue:`476`].
|
|
19
|
+
- Allow portrait orientation for thumbnails [:issue:`531`].
|
|
20
|
+
- nonmedia_files plugin: adding support for PDF thumbnails [:issue:`536`].
|
|
21
|
+
|
|
22
|
+
Version 2.5
|
|
23
|
+
~~~~~~~~~~~
|
|
24
|
+
|
|
25
|
+
Released on 2025-02-25.
|
|
26
|
+
|
|
27
|
+
Sigal now requires Python 3.9+.
|
|
28
|
+
|
|
29
|
+
- Remove s3 plugin since it relied on boto which is no longer maintained. Help
|
|
30
|
+
is welcome to update the plugin with the new boto3 library. [:issue:`513`]
|
|
31
|
+
- Cache input size to make updating faster [:issue:`506`].
|
|
32
|
+
- Allow sorting albums with negative numbers [:issue:`507`].
|
|
33
|
+
- Write the static files only once [:issue:`510`].
|
|
34
|
+
- Remove subdirectories for the ones skipped with ``ignore_dirs``
|
|
35
|
+
[:issue:`515`].
|
|
36
|
+
- New cli flag ``sigal serve --browser`` to open in default browser
|
|
37
|
+
[:issue:`516`].
|
|
38
|
+
- Add support for ``.heic`` files (requires the optional pillow-heif package)
|
|
39
|
+
[:issue:`519`].
|
|
40
|
+
- Add autoplay setting for galleria [:issue:`520`].
|
|
41
|
+
- Show HTML in media description (with galleria) [:issue:`521`].
|
|
42
|
+
- New ``display_timestamp`` setting to show the generation timestamp
|
|
43
|
+
[:issue:`524`].
|
|
44
|
+
- Update photoswipe to v5.4.4 [:issue:`528`].
|
|
45
|
+
|
|
5
46
|
Version 2.4
|
|
6
47
|
~~~~~~~~~~~
|
|
7
48
|
|
sigal-2.6/docs/conf.py
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
from sigal import __version__
|
|
4
|
+
|
|
5
|
+
# -- General configuration ----------------------------------------------------
|
|
6
|
+
|
|
7
|
+
# If your documentation needs a minimal Sphinx version, state it here.
|
|
8
|
+
# needs_sphinx = '1.0'
|
|
9
|
+
|
|
10
|
+
# Add any Sphinx extension module names here, as strings. They can be
|
|
11
|
+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
|
12
|
+
extensions = ["sphinx.ext.autodoc", "sphinx.ext.extlinks"]
|
|
13
|
+
|
|
14
|
+
extlinks = {"issue": ("https://github.com/saimn/sigal/issues/%s", "#%s")}
|
|
15
|
+
|
|
16
|
+
# Add any paths that contain templates here, relative to this directory.
|
|
17
|
+
templates_path = ["_templates"]
|
|
18
|
+
|
|
19
|
+
# The suffix of source filenames.
|
|
20
|
+
source_suffix = ".rst"
|
|
21
|
+
|
|
22
|
+
# The encoding of source files.
|
|
23
|
+
# source_encoding = 'utf-8-sig'
|
|
24
|
+
|
|
25
|
+
# The master toctree document.
|
|
26
|
+
master_doc = "index"
|
|
27
|
+
|
|
28
|
+
# General information about the project.
|
|
29
|
+
project = "Sigal"
|
|
30
|
+
copyright = "2012-2026, Simon Conseil"
|
|
31
|
+
|
|
32
|
+
# The version info for the project you're documenting, acts as replacement for
|
|
33
|
+
# |version| and |release|, also used in various other places throughout the
|
|
34
|
+
# built documents.
|
|
35
|
+
release = __version__
|
|
36
|
+
version = __version__
|
|
37
|
+
|
|
38
|
+
# The language for content autogenerated by Sphinx. Refer to documentation
|
|
39
|
+
# for a list of supported languages.
|
|
40
|
+
# language = None
|
|
41
|
+
|
|
42
|
+
# There are two options for replacing |today|: either, you set today to some
|
|
43
|
+
# non-false value, then it is used:
|
|
44
|
+
# today = ''
|
|
45
|
+
# Else, today_fmt is used as the format for a strftime call.
|
|
46
|
+
# today_fmt = '%B %d, %Y'
|
|
47
|
+
|
|
48
|
+
# List of patterns, relative to source directory, that match files and
|
|
49
|
+
# directories to ignore when looking for source files.
|
|
50
|
+
exclude_patterns = ["_build"]
|
|
51
|
+
|
|
52
|
+
# If true, '()' will be appended to :func: etc. cross-reference text.
|
|
53
|
+
# add_function_parentheses = True
|
|
54
|
+
|
|
55
|
+
# If true, the current module name will be prepended to all description
|
|
56
|
+
# unit titles (such as .. function::).
|
|
57
|
+
# add_module_names = True
|
|
58
|
+
|
|
59
|
+
# If true, sectionauthor and moduleauthor directives will be shown in the
|
|
60
|
+
# output. They are ignored by default.
|
|
61
|
+
# show_authors = False
|
|
62
|
+
|
|
63
|
+
# The name of the Pygments (syntax highlighting) style to use.
|
|
64
|
+
pygments_style = "sphinx"
|
|
65
|
+
pygments_dark_style = "monokai"
|
|
66
|
+
|
|
67
|
+
# A list of ignored prefixes for module index sorting.
|
|
68
|
+
# modindex_common_prefix = []
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
# -- Options for HTML output --------------------------------------------------
|
|
72
|
+
|
|
73
|
+
# Define the canonical URL if you are using a custom domain on Read the Docs
|
|
74
|
+
html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "")
|
|
75
|
+
|
|
76
|
+
# Tell Jinja2 templates the build is running on Read the Docs
|
|
77
|
+
html_context = {"READTHEDOCS": os.environ.get("READTHEDOCS", "") == "True"}
|
|
78
|
+
|
|
79
|
+
html_theme = "furo"
|
|
80
|
+
|
|
81
|
+
html_theme_options = {
|
|
82
|
+
"source_repository": "https://github.com/saimn/sigal/",
|
|
83
|
+
"source_branch": "main",
|
|
84
|
+
"source_directory": "docs/",
|
|
85
|
+
"footer_icons": [
|
|
86
|
+
{
|
|
87
|
+
"name": "GitHub",
|
|
88
|
+
"url": "https://github.com/saimn/sigal",
|
|
89
|
+
"html": """
|
|
90
|
+
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16">
|
|
91
|
+
<path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path>
|
|
92
|
+
</svg>
|
|
93
|
+
""", # noqa: E501
|
|
94
|
+
"class": "",
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
# Output file base name for HTML help builder.
|
|
100
|
+
htmlhelp_basename = "Sigaldoc"
|
|
@@ -25,6 +25,7 @@ The mandatory dependencies are:
|
|
|
25
25
|
- Blinker
|
|
26
26
|
- Click
|
|
27
27
|
- Jinja2
|
|
28
|
+
- natsort
|
|
28
29
|
- Pilkit
|
|
29
30
|
- Pillow
|
|
30
31
|
- Python Markdown
|
|
@@ -33,8 +34,9 @@ There are also a number of optional dependencies for the :doc:`plugins`,
|
|
|
33
34
|
installable with the ``[all]`` marker:
|
|
34
35
|
|
|
35
36
|
- Brotli, zopfli (compress assets plugin)
|
|
36
|
-
- Boto (upload to S3 plugin)
|
|
37
37
|
- feedgenerator (feeds plugin)
|
|
38
|
+
- cryptography (encrypt plugin)
|
|
39
|
+
- pillow-heif (HEIF/HEIC support)
|
|
38
40
|
|
|
39
41
|
Packages
|
|
40
42
|
~~~~~~~~
|
|
@@ -52,3 +52,6 @@ tests:
|
|
|
52
52
|
(https://github.com/saimn/sigal/pull/233#issuecomment-275430083)
|
|
53
53
|
- ``example video.ogv`` : https://commons.wikimedia.org/wiki/File:Examplevideo.ogv
|
|
54
54
|
(Public domain)
|
|
55
|
+
- ``outdoor.heic``: From @ususdei,
|
|
56
|
+
https://github.com/saimn/sigal/pull/519#issuecomment-2543310727
|
|
57
|
+
(Public domain)
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
Plugins
|
|
3
3
|
=========
|
|
4
4
|
|
|
5
|
-
.. contents::
|
|
6
|
-
|
|
7
5
|
How to use plugins
|
|
8
6
|
------------------
|
|
9
7
|
|
|
@@ -131,10 +129,10 @@ Non-media Files plugin
|
|
|
131
129
|
|
|
132
130
|
.. automodule:: sigal.plugins.nonmedia_files
|
|
133
131
|
|
|
134
|
-
|
|
135
|
-
|
|
132
|
+
Titleregexp plugin
|
|
133
|
+
==================
|
|
136
134
|
|
|
137
|
-
.. automodule:: sigal.plugins.
|
|
135
|
+
.. automodule:: sigal.plugins.titleregexp
|
|
138
136
|
|
|
139
137
|
Watermark plugin
|
|
140
138
|
================
|
|
@@ -145,8 +143,3 @@ ZIP Gallery plugin
|
|
|
145
143
|
==================
|
|
146
144
|
|
|
147
145
|
.. automodule:: sigal.plugins.zip_gallery
|
|
148
|
-
|
|
149
|
-
Titleregexp plugin
|
|
150
|
-
==================
|
|
151
|
-
|
|
152
|
-
.. automodule:: sigal.plugins.titleregexp
|
|
@@ -85,7 +85,7 @@ This script will then be imported and all defined functions will be available as
|
|
|
85
85
|
with the same names in your templates.
|
|
86
86
|
|
|
87
87
|
Documentation of sigal's main classes
|
|
88
|
-
|
|
88
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
89
89
|
|
|
90
90
|
.. autoclass:: sigal.gallery.Album
|
|
91
91
|
:members:
|
|
@@ -8,62 +8,58 @@ description = "Simple static gallery generator"
|
|
|
8
8
|
readme = "README.rst"
|
|
9
9
|
authors = [{name = "Simon Conseil", email = "contact@saimon.org"}]
|
|
10
10
|
keywords = ["gallery", "static", "generator", "image", "video", "galleria"]
|
|
11
|
-
license =
|
|
11
|
+
license = "MIT"
|
|
12
|
+
license-files = ["LICENSE"]
|
|
12
13
|
classifiers = [
|
|
13
14
|
"Development Status :: 5 - Production/Stable",
|
|
14
15
|
"Environment :: Console",
|
|
15
|
-
"License :: OSI Approved :: MIT License",
|
|
16
16
|
"Operating System :: OS Independent",
|
|
17
17
|
"Programming Language :: Python :: 3",
|
|
18
|
-
"Programming Language :: Python :: 3.8",
|
|
19
|
-
"Programming Language :: Python :: 3.9",
|
|
20
|
-
"Programming Language :: Python :: 3.10",
|
|
21
|
-
"Programming Language :: Python :: 3.11",
|
|
22
18
|
"Topic :: Internet :: WWW/HTTP",
|
|
23
19
|
"Topic :: Multimedia :: Graphics :: Viewers",
|
|
24
20
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
25
21
|
]
|
|
26
|
-
requires-python = ">=3.
|
|
22
|
+
requires-python = ">=3.11"
|
|
27
23
|
dependencies = [
|
|
28
24
|
"blinker",
|
|
29
25
|
"click",
|
|
30
26
|
"Jinja2>=2.7",
|
|
31
27
|
"Markdown",
|
|
32
|
-
"Pillow>=
|
|
28
|
+
"Pillow>=10.0.0",
|
|
33
29
|
"pilkit",
|
|
34
30
|
"natsort",
|
|
35
31
|
]
|
|
36
32
|
dynamic = ["version"]
|
|
37
33
|
|
|
38
34
|
[project.optional-dependencies]
|
|
39
|
-
all = ["
|
|
35
|
+
all = ["brotli", "feedgenerator", "zopfli", "cryptography", "pillow-heif", "pdf2image"]
|
|
40
36
|
tests = ["pytest", "pytest-cov"]
|
|
41
|
-
docs = ["Sphinx>=4.1.0", "
|
|
37
|
+
docs = ["Sphinx>=4.1.0", "furo", "cryptography"]
|
|
42
38
|
|
|
43
39
|
[project.scripts]
|
|
44
40
|
sigal = "sigal.__main__:main"
|
|
45
41
|
|
|
46
42
|
[project.urls]
|
|
47
43
|
repository = "https://github.com/saimn/sigal"
|
|
48
|
-
documentation = "
|
|
44
|
+
documentation = "https://sigal.readthedocs.io/en/latest/"
|
|
49
45
|
|
|
50
46
|
[tool.setuptools]
|
|
51
47
|
include-package-data = true
|
|
52
|
-
license-files = ["LICENSE"]
|
|
53
48
|
|
|
54
49
|
[tool.setuptools.packages.find]
|
|
55
50
|
where = ["src"]
|
|
56
51
|
namespaces = true
|
|
57
52
|
|
|
53
|
+
[tool.setuptools.package-data]
|
|
54
|
+
sigal = [
|
|
55
|
+
"plugins/encrypt/static/*",
|
|
56
|
+
"themes/**",
|
|
57
|
+
]
|
|
58
|
+
|
|
58
59
|
[tool.setuptools_scm]
|
|
59
60
|
write_to = "src/sigal/version.py"
|
|
60
61
|
|
|
61
|
-
[tool.
|
|
62
|
-
line-length = 88
|
|
63
|
-
target-version = ['py38']
|
|
64
|
-
|
|
65
|
-
[tool.ruff]
|
|
66
|
-
target-version = "py38"
|
|
62
|
+
[tool.ruff.lint]
|
|
67
63
|
select = [
|
|
68
64
|
"E", "F", "W", # flake8
|
|
69
65
|
"I", # isort
|
|
@@ -74,7 +70,7 @@ unfixable = [
|
|
|
74
70
|
"F841", # Removes unused variables
|
|
75
71
|
]
|
|
76
72
|
|
|
77
|
-
[tool.ruff.isort]
|
|
73
|
+
[tool.ruff.lint.isort]
|
|
78
74
|
known-first-party = ["sigal"]
|
|
79
75
|
|
|
80
76
|
[tool.coverage.run]
|