Use JPEG instead of PNG on thumbnails
This commit is contained in:
parent
3ddf47cd70
commit
185120b575
4 changed files with 13 additions and 9 deletions
|
@ -8,6 +8,7 @@ Changes
|
|||
- Swipe support
|
||||
- More space for images
|
||||
- Restructure repository
|
||||
- Use JPEG instead of PNG for thumbnails
|
||||
|
||||
1.0.3 (*2021-07-13*)
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
|
|
@ -49,7 +49,9 @@ same galleria name. In this case, node level options
|
|||
must be defined only once.
|
||||
|
||||
Thumbnail size is in "WIDTHxHEIGHT" format, resulting
|
||||
image keeps ratio.
|
||||
image keeps ratio. Be careful with tumbnail size, the
|
||||
browser loads all thumbnails of a gallery when loading
|
||||
the page. It can take some time with really big galleries.
|
||||
|
||||
The first image of a gallery is displayed if javascript
|
||||
is not available on the browser.
|
||||
|
|
|
@ -11,8 +11,8 @@ from sphinx.environment import BuildEnvironment
|
|||
from sphinx.util.osutil import ensuredir, copyfile
|
||||
from PIL import Image
|
||||
|
||||
from . import directive
|
||||
from . import collector
|
||||
from sphinx_galleria import directive
|
||||
from sphinx_galleria import collector
|
||||
|
||||
|
||||
with open(os.path.join(
|
||||
|
@ -43,7 +43,7 @@ def copy_images_files(app: Sphinx, env: BuildEnvironment) -> None:
|
|||
thumbsize = basename.split('-')[-1].split('x')
|
||||
thumbsize = [int(size) for size in thumbsize]
|
||||
original = '.'.join(basename.split('.')[:-1]) + ext
|
||||
dest = basename + '.png'
|
||||
dest = basename + '.jpg'
|
||||
ensuredir(os.path.dirname(dest))
|
||||
|
||||
with Image.open(original) as im:
|
||||
|
@ -68,7 +68,7 @@ def copy_images_files(app: Sphinx, env: BuildEnvironment) -> None:
|
|||
(im.size[1]+thumbsize[0]*im.size[1]/thumbsize[0])//2,
|
||||
))
|
||||
|
||||
out.save(dest, "PNG")
|
||||
out.save(dest, "JPEG", quality=90)
|
||||
|
||||
|
||||
def install_static_files(app: Sphinx, env: BuildEnvironment) -> None:
|
||||
|
|
|
@ -10,14 +10,15 @@ import glob
|
|||
import logging
|
||||
from copy import copy
|
||||
from typing import Set
|
||||
from sphinx.environment.collectors import EnvironmentCollector
|
||||
|
||||
from docutils import nodes
|
||||
from sphinx.environment.collectors import EnvironmentCollector
|
||||
from sphinx.application import Sphinx
|
||||
from sphinx.environment import BuildEnvironment
|
||||
from sphinx.util import FilenameUniqDict
|
||||
from sphinx.locale import __
|
||||
|
||||
from .directive import galleria
|
||||
from sphinx_galleria.directive import galleria
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -86,7 +87,7 @@ class GalleriaCollector(EnvironmentCollector):
|
|||
basename, ext = os.path.splitext(image_path)
|
||||
thumb_path = basename + ".thumb-" + thumbsize + ext
|
||||
thumb_path_cropped = basename + ".thumb-" + thumbsize
|
||||
thumb_path_cropped += '.png'
|
||||
thumb_path_cropped += '.jpg'
|
||||
if ext.lower() in ('.svg', '.svgz'):
|
||||
thumb_path_cropped = image_path
|
||||
thumb_path = image_path
|
||||
|
@ -109,7 +110,7 @@ class GalleriaCollector(EnvironmentCollector):
|
|||
app.srcdir,
|
||||
image_path), os.R_OK):
|
||||
logger.warning(
|
||||
__('image file not readable %s') %
|
||||
__('image file not readable %s'),
|
||||
image_path)
|
||||
|
||||
app.env.galleria.add_file(docname, image_path)
|
||||
|
|
Loading…
Reference in a new issue