Skip to main content

A tool to generate static HTML photo galleries from various data sources.

Project description

ggallery

npm

ggallery is a Python tool that generates a static HTML photo gallery website from a YAML specification and from given renderer plugin. It allows you to create beautiful and customizable photo galleries with ease, using various data sources and storage providers.

Features

  • Static HTML Generation using plugins: Create a static HTML photo gallery that can be hosted on any web server, using a custom renderer plugin.
  • Multiple Data Sources: Supports local file system and Azure Blob Storage as data sources.
  • Thumbnail Generation: Automatically generate thumbnails for your images.

Available Renderer Plugins

Usage

To use ggallery, you need to have Python installed.

pip install ggallery

You can run the tool using the following commands:

python -m ggallery -f /path/to/your/gallery.yaml

or

ggallery -f /path/to/your/gallery.yaml

Examples

Local Gallery Example

Create a gallery.yaml file with the following content:

title: Local Gallery
subtitle: Gallery with photos stored in the same directory as static website.

thumbnail:
    height: 400

template:
    url: https://github.com/creeston/ggallery-nanogallery2

data_source:
    type: local
    path: "${LOCAL_PHOTOS_PATH}"

data_storage:
    type: local

albums:
    - title: "Japan"
      subtitle: "Photos from my trip to Japan"
      source: "japan"
      cover: "view on the Fuji.jpg"

    - title: "Italy"
      source: "italy"
      cover: "colliseum.jpg"
      photos:
          - title: "View at the Colosseum at night"
            source: "colliseum.jpg"

output:
    path: docs

Set the LOCAL_PHOTOS_PATH environment variable to the path where your photos are stored.

Run the tool:

python -m ggallery gallery.yaml

Azure Blob Storage Example

Create a gallery.yaml file with the following content:

title: Azure Gallery
subtitle: Gallery of photos stored in Azure Blob Storage

favicon:
    type: fontawesome
    name: camera-retro

thumbnail:
    height: 400

template:
    name: "nano-gallery"

data_source:
    type: local
    path: "${LOCAL_PHOTOS_PATH}"

data_storage:
    type: azure-blob
    container: "${AZURE_CONTAINER}"
    connection_string: "${AZURE_CONNECTION_STRING}"

albums:
    - title: "Japan"
      subtitle: "Photos from my trip to Japan"
      source: "japan"
      cover: "view on the Fuji.jpg"

    - title: "Italy"
      source: "italy"
      cover: "colliseum.jpg"
      photos:
          - title: "View at the Colosseum at night"
            source: "colliseum.jpg"

output:
    path: docs

Set the LOCAL_PHOTOS_PATH, AZURE_CONTAINER, and AZURE_CONNECTION_STRING environment variables.

Run the tool:

python -m ggallery gallery.yaml

Contribution

Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request on the GitHub repository.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ggallery-1.0.8.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ggallery-1.0.8-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file ggallery-1.0.8.tar.gz.

File metadata

  • Download URL: ggallery-1.0.8.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for ggallery-1.0.8.tar.gz
Algorithm Hash digest
SHA256 f538d499d25f2397749708063b5733aa7bbc335e132f99e4ee65136d3c8e524d
MD5 438162ba0da4a014b7889fa74cbc2170
BLAKE2b-256 bf9ba0ddbd3195d106a77027bfa49bb9ca4f982aad77efa8567806a5c4e2cb70

See more details on using hashes here.

File details

Details for the file ggallery-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: ggallery-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for ggallery-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 807e09a1b3687fb3ce51c19b15a5ff5f8e4b80273313cd4aa9ef38cb9811b900
MD5 4d09bf53f9d18fa27c2c1c1d93ddf2f8
BLAKE2b-256 737413bcb99b59568e416763a0a0aca38a0893aafca8fcc02b9b9ff225e46e70

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page