Copyright | (c) Laurent P René de Cotret 2019 - present |
---|---|
License | BSD3 |
Maintainer | laurent.decotret@outlook.com |
Stability | unstable |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
This module defines a Hakyll compiler, compressJpgCompiler
, which can be used to
re-encode Jpeg images at a lower quality during website compilation. Original images are
left unchanged, but compressed images can be up to 10x smaller.
The compressJpgCompiler
is expected to be used like this:
import Hakyll import Hakyll.Images ( loadImage , compressJpgCompiler ) hakyll $ do -- Compress all source Jpegs to a Jpeg quality of 50 match "images/**.jpg" $ do route idRoute compile $ loadImage >>= compressJpgCompiler 50 (... omitted ...)
Synopsis
- data JpgQuality
- compressJpgCompiler :: Integral a => a -> Item Image -> Compiler (Item Image)
- compressJpg :: Integral a => a -> Image -> Image
Documentation
data JpgQuality Source #
Jpeg encoding quality, from 0 (lower quality) to 100 (best quality). @since 1.2.0
Instances
compressJpgCompiler :: Integral a => a -> Item Image -> Compiler (Item Image) Source #
Compiler that compresses a JPG image to a certain quality setting. The quality should be between 0 (lowest quality) and 100 (best quality). Values outside of this range will be normalized to the interval [0, 100]. An error is raised if the image cannot be decoded.
match "*.jpg" $ do route idRoute compile $ loadImage >>= compressJpgCompiler 50
compressJpg :: Integral a => a -> Image -> Image Source #
Compress a JPG bytestring to a certain quality setting. The quality should be between 0 (lowest quality) and 100 (best quality). An error is raised if the image cannot be decoded.
In the rare case where the JPEG data contains transparency information, it will be dropped.