<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sascha Eggenberger</title>
    <description>The latest articles on DEV Community by Sascha Eggenberger (@saschaeggi).</description>
    <link>https://dev.to/saschaeggi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F538299%2F77b7d117-fc64-4f69-9f11-a522150bc285.png</url>
      <title>DEV Community: Sascha Eggenberger</title>
      <link>https://dev.to/saschaeggi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saschaeggi"/>
    <language>en</language>
    <item>
      <title>Setup Mautic with lando &amp; composer</title>
      <dc:creator>Sascha Eggenberger</dc:creator>
      <pubDate>Fri, 08 Jan 2021 13:03:07 +0000</pubDate>
      <link>https://dev.to/saschaeggi/setup-mautic-with-lando-19l9</link>
      <guid>https://dev.to/saschaeggi/setup-mautic-with-lando-19l9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; You can also easily checkout this repo and just &lt;code&gt;lando start&lt;/code&gt; to spin it up: &lt;a href="https://github.com/saschaeggi/mautic-lando-starterkit"&gt;https://github.com/saschaeggi/mautic-lando-starterkit&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;lando&lt;/li&gt;
&lt;li&gt;composer&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Install Mautic via composer
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer create-project mautic/core YOURPROJECTNAME ^3 --no-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace YOURPROJECTNAME with the name of the projects folder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lando
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Config
&lt;/h3&gt;

&lt;p&gt;Create &lt;code&gt;.lando.yml&lt;/code&gt; with the following content:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: mautic
recipe: lamp
config:
  webroot: .
  php: '7.3'
  database: mysql:5.7

tooling:
  mt:
    service: appserver
    description: Run Mautic commands
    cmd: bin/console

proxy:
  mailhog:
    - mail.mautic.lndo.site

services:
  appserver:
    type: php
    build_as_root:
      - docker-php-ext-install sockets
    xdebug: true
    config:
      php: .lando/php/php.ini
  database:
    type: mysql:5.7
    portforward: true
    creds:
      user: mautic
      password: mautic
      database: mautic
  mailhog:
    type: mailhog
    portforward: true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Build containers
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;lando start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will create the needed docker containers (can take a while).&lt;/p&gt;

&lt;p&gt;Once the containers are up and running we can access &lt;br&gt;
&lt;code&gt;https://mautic.lndo.site/&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's setup Mautic
&lt;/h2&gt;

&lt;p&gt;Let's open &lt;code&gt;https://mautic.lndo.site/&lt;/code&gt;&lt;br&gt;
You should see now the following screen:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FUSyXB-H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dh1ihe6vuqf4ky2xbyfc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FUSyXB-H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dh1ihe6vuqf4ky2xbyfc.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1
&lt;/h3&gt;

&lt;p&gt;Set Database settings to use the following:&lt;/p&gt;

&lt;p&gt;Database: mautic, &lt;br&gt;
Password: mautic,&lt;br&gt;
Username: mautic&lt;br&gt;
Host: database,&lt;br&gt;
Port: 3306&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gmBsEY7a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pyof7ehq66akxz7wkp67.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gmBsEY7a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/pyof7ehq66akxz7wkp67.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2
&lt;/h3&gt;

&lt;p&gt;Setup your admin user:&lt;/p&gt;

&lt;p&gt;Username: admin&lt;br&gt;
Password: SETYOURPASSWORD&lt;br&gt;
Name: Your name&lt;br&gt;
Last name: Your last name&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hK8dPKzK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cudeh0wq063txtuqk5gl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hK8dPKzK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cudeh0wq063txtuqk5gl.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3
&lt;/h3&gt;

&lt;p&gt;We set to use the mailserver to be the mailhog docker container:&lt;/p&gt;

&lt;p&gt;Server: mailhog,&lt;br&gt;
Port: 1025&lt;/p&gt;

&lt;p&gt;And we can access Mailhog via&lt;br&gt;
&lt;code&gt;http://mail.mautic.lndo.site/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qjqq0vFF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7bhdouo0hizoxgl5njkk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qjqq0vFF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7bhdouo0hizoxgl5njkk.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Login
&lt;/h3&gt;

&lt;p&gt;You can now login to your freshly installed Mautic setup with the credentials from the previous step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--INjTC5nc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/sfj296ngmd2cetwi86mb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--INjTC5nc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/sfj296ngmd2cetwi86mb.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Fix Brew (Homebrew) on M1 Macs</title>
      <dc:creator>Sascha Eggenberger</dc:creator>
      <pubDate>Fri, 18 Dec 2020 08:19:03 +0000</pubDate>
      <link>https://dev.to/saschaeggi/fix-brew-homebrew-on-m1-macs-c9g</link>
      <guid>https://dev.to/saschaeggi/fix-brew-homebrew-on-m1-macs-c9g</guid>
      <description>&lt;p&gt;You upgraded to a shiny new M1 Mac (MacBook, MacBook Pro or Mac Mini) but now brew is broken on your new ARM machine. You can easily fix this:&lt;/p&gt;

&lt;p&gt;Depending if you use zsh or bash you need to put the following in either &lt;code&gt;~/.zshrc&lt;/code&gt; or &lt;code&gt;~/.bashrc&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alias brew='arch -x86_64 brew'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;If you haven't installed Rosetta 2 on your machine yet, you will automatically get an installation prompt the first time you run brew.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This will emulate brew (for now) using Rosetta 2 until brew &lt;a href="https://github.com/Homebrew/brew/issues/7857"&gt;officially supports ARM on Mac&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>brew</category>
      <category>homebrew</category>
      <category>m1</category>
      <category>mac</category>
    </item>
    <item>
      <title>Downgrade composer from 2.x to 1.x via brew
</title>
      <dc:creator>Sascha Eggenberger</dc:creator>
      <pubDate>Fri, 11 Dec 2020 08:56:57 +0000</pubDate>
      <link>https://dev.to/saschaeggi/downgrade-composer-from-2-x-to-1-x-via-brew-3fd5</link>
      <guid>https://dev.to/saschaeggi/downgrade-composer-from-2-x-to-1-x-via-brew-3fd5</guid>
      <description>&lt;p&gt;You just upgraded your brew packages and composer updated itself to version 2.x but you still need version 1.x? This is how you can downgrade (&amp;amp; upgrade again):&lt;/p&gt;

&lt;h4&gt;
  
  
  Show available versions of composer:
&lt;/h4&gt;



&lt;p&gt;&lt;code&gt;brew log composer&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;For me the latest 1.x version to date is: &lt;em&gt;composer 1.10.15&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Let's downgrade
&lt;/h4&gt;



&lt;p&gt;&lt;code&gt;composer self-update 1.10.15&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h4&gt;
  
  
  To switch back to the 2.x version use
&lt;/h4&gt;



&lt;p&gt;&lt;code&gt;composer self-update --rollback&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

</description>
      <category>composer</category>
      <category>brew</category>
      <category>downgrade</category>
    </item>
    <item>
      <title>Fix Homebrew (Brew) on macOS 11 Big Sur</title>
      <dc:creator>Sascha Eggenberger</dc:creator>
      <pubDate>Fri, 11 Dec 2020 08:55:13 +0000</pubDate>
      <link>https://dev.to/saschaeggi/fix-homebrew-brew-on-macos-11-big-sur-5e9e</link>
      <guid>https://dev.to/saschaeggi/fix-homebrew-brew-on-macos-11-big-sur-5e9e</guid>
      <description>&lt;p&gt;If you encounter issues with &lt;a href="https://brew.sh/"&gt;brew&lt;/a&gt; on macOS 11 Big Sur, than it has a high chance of being a similar issue that I ran into.&lt;/p&gt;

&lt;p&gt;One of the many error messages regarding brew on macOS 11:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Traceback (most recent call last):
 11: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `&amp;lt;main&amp;gt;'
 10: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `require_relative'
  9: from /usr/local/Homebrew/Library/Homebrew/global.rb:37:in `&amp;lt;top (required)&amp;gt;'
  8: from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
  7: from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
  6: from /usr/local/Homebrew/Library/Homebrew/os.rb:3:in `&amp;lt;top (required)&amp;gt;'
  5: from /usr/local/Homebrew/Library/Homebrew/os.rb:21:in `&amp;lt;module:OS&amp;gt;'
  4: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:58:in `prerelease?'
  3: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:24:in `version'
  2: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:24:in `new'
  1: from /usr/local/Homebrew/Library/Homebrew/os/mac/version.rb:26:in `initialize'
/usr/local/Homebrew/Library/Homebrew/version.rb:368:in `initialize': Version value must be a string; got a NilClass () (TypeError)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How to fix this?
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Remove old xcode command line tools
&lt;/h4&gt;



&lt;p&gt;&lt;code&gt;sudo rm -rf /Library/Developer/CommandLineTools&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h4&gt;
  
  
  Install new xcode command line tools
&lt;/h4&gt;



&lt;p&gt;&lt;code&gt;sudo xcode-select --install&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h4&gt;
  
  
  Update brew
&lt;/h4&gt;



&lt;p&gt;&lt;code&gt;brew upgrade&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: I had to run it twice&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  If you still get an error message try to reinstall brew via:
&lt;/h4&gt;



&lt;p&gt;&lt;code&gt;/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h4&gt;
  
  
  Test if brew works
&lt;/h4&gt;



&lt;p&gt;&lt;code&gt;brew doctor&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Now brew should work just fine under macOS Big Sur!&lt;/p&gt;

</description>
      <category>brew</category>
      <category>macos</category>
      <category>bigsur</category>
    </item>
    <item>
      <title>Fix issue with scroll position after loading data in Chrome 56+</title>
      <dc:creator>Sascha Eggenberger</dc:creator>
      <pubDate>Fri, 11 Dec 2020 08:51:01 +0000</pubDate>
      <link>https://dev.to/saschaeggi/fix-issue-with-scroll-position-after-loading-data-in-chrome-56-41c7</link>
      <guid>https://dev.to/saschaeggi/fix-issue-with-scroll-position-after-loading-data-in-chrome-56-41c7</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nEPYPWPN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/io6ck4ngq0bxcejbkvcf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nEPYPWPN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/io6ck4ngq0bxcejbkvcf.png" alt="Load More"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Chrome 56 executes some computations to make the scroll position stay in the same position. This currently looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5g9vC1ub--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/excc20xsc0y7mas2nvdx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5g9vC1ub--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/excc20xsc0y7mas2nvdx.png" alt="Current behavior in Chrome 56+"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What you would expect instead
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xjCD8O1C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/rwg4wl5pcy0ezn7m10zr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xjCD8O1C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/rwg4wl5pcy0ezn7m10zr.png" alt="Expected behavior"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How to change this behavior?
&lt;/h3&gt;

&lt;p&gt;overflow-anchor to the rescue! &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-anchor"&gt;https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-anchor&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;overflow-anchor: none;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;It’s as easy as this.&lt;/p&gt;

</description>
      <category>chrome</category>
      <category>scrolling</category>
    </item>
    <item>
      <title>How to serve WebP images with a Drupal 8/Drupal 9 site</title>
      <dc:creator>Sascha Eggenberger</dc:creator>
      <pubDate>Fri, 11 Dec 2020 08:46:13 +0000</pubDate>
      <link>https://dev.to/saschaeggi/how-to-serve-webp-images-with-a-drupal-8-drupal-9-site-10eg</link>
      <guid>https://dev.to/saschaeggi/how-to-serve-webp-images-with-a-drupal-8-drupal-9-site-10eg</guid>
      <description>&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  PHP
&lt;/h3&gt;

&lt;p&gt;Your web server needs to support WebP through PHP. &lt;br&gt;
PHP 5 &amp;gt;= 5.4.0&lt;br&gt;
GD Library&lt;/p&gt;
&lt;h4&gt;
  
  
  Check your PHP setup
&lt;/h4&gt;

&lt;p&gt;How to check if everything is working as expected:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;php -i | grep 'WebP'&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;If everything is working fine you should see&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;WebP Support =&amp;gt; enabled&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;We should be ready to go on, yay 🎉&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you get another output, you might need to enable/install libgd and enable it in your PHP.ini.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Drupal
&lt;/h3&gt;

&lt;p&gt;This tutorial only works with Drupal 8/9. As a start you'll need to enable/install some modules:&lt;/p&gt;

&lt;h4&gt;
  
  
  ImageAPI Optimize
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.drupal.org/project/imageapi_optimize" rel="noopener noreferrer"&gt;https://www.drupal.org/project/imageapi_optimize&lt;/a&gt;&lt;br&gt;
The module has built in support for core Image styles and a service allowing use in third party modules.&lt;/p&gt;

&lt;h4&gt;
  
  
  ImageAPI Optimize WebP
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.drupal.org/project/imageapi_optimize_webp" rel="noopener noreferrer"&gt;https://www.drupal.org/project/imageapi_optimize_webp&lt;/a&gt;&lt;br&gt;
⚠️ Make sure to enable the "ImageAPI Optimize WebP Responsive" submodule if you're using the Responsive Image module in Drupal Core.&lt;/p&gt;

&lt;h4&gt;
  
  
  ImageAPI Optimize Binaries
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.drupal.org/project/imageapi_optimize_binaries" rel="noopener noreferrer"&gt;https://www.drupal.org/project/imageapi_optimize_binaries&lt;/a&gt;&lt;br&gt;
This module is optional but it provides support for popular binary image processors like JpegOptim, PngQuant, AdvPNG etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Drupal Configuration
&lt;/h2&gt;

&lt;p&gt;Head over to &lt;code&gt;/admin/config/media/imageapi-optimize-pipelines&lt;/code&gt; for the Image API configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ck4yaadh2ptuwjq9v67.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F1ck4yaadh2ptuwjq9v67.png" alt="The Image Optimize configuration page should look similar to this one. Note that you might only see the "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's create a new pipeline
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Add a new optimization pipeline&lt;br&gt;
By clicking on &lt;code&gt;+ Add optimization pipeline&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Name your pipeline&lt;br&gt;
I will call the pipeline &lt;code&gt;optimize images&lt;/code&gt; but you can name it whatever you would like.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose your processor&lt;br&gt;
We choose &lt;code&gt;WebP Deriver&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Set image quality&lt;br&gt;
You can set the image quality here, 80–90% should serve with good overall quality. 100% will be lossless.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Save&lt;br&gt;
Click on "Save configuration" and you're done.&lt;br&gt;
⚠️ Don't forget to clear the Drupal cache after this.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;You should place the WebP processor before any other compression processors to avoid multiple compression of an image. This can have an inverse affect and provide a lower quality image at a larger file size.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Enjoy WebP images with your Drupal site!&lt;/p&gt;

</description>
      <category>drupal</category>
      <category>webp</category>
      <category>imageapi</category>
    </item>
  </channel>
</rss>
