varia.website/plugins/better_figures_and_images
2018-02-01 14:46:15 +01:00
..
test_data adding the 2 submodules again 2018-02-01 14:46:15 +01:00
__init__.py adding the 2 submodules again 2018-02-01 14:46:15 +01:00
better_figures_and_images.py adding the 2 submodules again 2018-02-01 14:46:15 +01:00
README.rst adding the 2 submodules again 2018-02-01 14:46:15 +01:00

Requirements
------------

* pip install pillow beautifulsoup4

Summary
=======

This plug-in:

- Adds a ``style="width: ???px; height: auto;"`` attribute to any ``<img>`` tags in the content, by checking the dimensions of the image file and adding the appropriate ``style="width: ???px; height: auto;"`` to the ``<img>`` tag.

- Also finds any ``div class="figures"`` tags in the content, that contain images and adds the same style to them too.

- If ``RESPONSIVE_IMAGES`` setting is true, it adds ``style="width: ???px; max-width: 100%; height: auto;"`` instead.

- Corrects Alt text: If an img ``alt`` attribute equals the image filename, it sets it to ""


Assuming that the image is 250px wide, it turns this::

  <div class="figure">
    <img alt="/static/images/image.jpg" src="/static/images/image.jpg" />
    <p class="caption">
      This is the caption of the figure.
    </p>
    <div class="legend">
      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 	        tempor incididunt ut labore et dolore magna aliqua.
    </div>
  </div>

into this::

  <div class="figure" style="width: 250px; height: auto;">
    <img style="width: 250px; height: auto;" alt="" src="/static/images/image.jpg" />
    <p class="caption">
      This is the caption of the figure.
    </p>
    <div class="legend">
      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    </div>
  </div>

or this, if ``RESPONSIVE_IMAGES = True``::

  <div class="figure" style="width: 250px; max-width: 100%; height: auto;">
    <img style="width: 250px; max-width: 100%; height: auto;" alt="" src="/static/images/image.jpg" />
    <p class="caption">
      This is the caption of the figure.
    </p>
    <div class="legend">
      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    </div>
  </div>