Skip to main content

A thumbnail generator for Pelican that operates by looking at the filename of missing files to determine thumb format.

Project description

A thumbnail generator for Pelican that automatically scans all image tags looking for missing images and creates the thumbnails based on the filename.

Based on the existing thumbnailer plugin.

Install

To install the library, you can use pip

$ pip install pelican-advthumbnailer

Usage

  1. Update pelicanconf.py:

    1. Add advthumbnailer to PLUGINS.

      You should add it before any image optimization plugins.

      PLUGINS = [..., 'advthumbnailer']
  2. Creating a thumbnail:

    1. Ensure original image is copied to the output folder (add to STATIC_PATHS or use the autostatic plugin).

      E.g: output/images/example.png

    2. Add an <img> (or a <source> tag) containing as source (or scrset):

      images/thumbnails/<spec>/example.png

      Where <spec> is one of the following:

      • <number>: Perform a square resize of the image to <number>x<number> pixels.

      • <number1>x<number2>: Perform a scale and crop resize of the image to <number1>x<number2> pixels.

      • <number1>x_ or _x<number2>: Perform an aspect-preserving resize of the image enforcing the specified with or height, respectively, in pixels.

      <spec> can also be terminated with a ! in which case upscales (e.g: resize 100px to 200px) will also be allowed. By default this is not the case.

      Example:

      <img src="images/thumbnails/100x_/example.png" />
    3. Upon output generation, all files are scanned for image sources and those matching the .*thumbnails/<spec>/.+ regex are thumbnailed according to the <spec>.

Options

  • ADVTHUMB_SEARCH_IMAGES_IN_ANCHORS (default: False): Boolean option that determines if advthumbnailer should consider the href attribute of <a> elements as thumbnail paths.

Integrations

pelican-autostatic

Integration with pelican-autostatic is achieved by adding an option to the {static ...} replacement.

{static images/example.png thumb="100x_"}

Jinja2

Integration with Jinja2 is achieved via the thumbnail function.

<img src="{{ SITEURL + "images/example.png" | thumbnail("100x_") }}" />

Example usage

For a working example check my site and my site’s source code.

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

pelican-advthumbnailer-0.6.0.zip (14.4 kB view hashes)

Uploaded Source

Supported by

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