<?xml version="1.0" encoding="utf-8"?>
  <rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:georss="http://www.georss.org/georss"
    xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
  >
    <channel>
      <title>Piccalilli - General topic archive</title>
      <link>https://piccalil.li/</link>
      <atom:link href="https://piccalil.li/category/general.xml" rel="self" type="application/rss+xml" />
      <description>We are Piccalilli. A publication dedicated to providing high quality educational content to level up your front-end skills.</description>
      <language>en-GB</language>
      <copyright>Piccalilli - General topic archive 2026</copyright>
      <docs>https://www.rssboard.org/rss-specification</docs>
      <pubDate>Tue, 07 Apr 2026 02:02:09 GMT</pubDate>
      <lastBuildDate>Tue, 07 Apr 2026 02:02:09 GMT</lastBuildDate>

      
      <item>
        <title>A CLS punishment for progressive enhancement?</title>
        <link>https://piccalil.li/blog/a-cls-punishment-for-progressive-enhancement/?ref=general-category-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Mon, 27 Jun 2022 00:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/a-cls-punishment-for-progressive-enhancement/?ref=general-category-rss-feed</guid>
        <description><![CDATA[<p>I’ve been doing the finishing touches on some client work recently and a part of that is making sure we get 100s across the board in Lighthouse. That’s so important to me that I make it a deliverable for <a href="https://set.studio/">Set Studio</a> projects.</p>
<p>With that testing, I uncovered a doozy. We were getting a massive hit on our performance score because of a large CLS score—Cumulative Layout Shift—a metric on Lighthouse. The source of that shift? A progressively enhanced burger menu.</p>
<p><img src="https://assets.codepen.io/174183/CleanShot+2022-06-27+at+16.33.38%402x.png?width=1857&amp;height=1145&amp;format=auto&amp;quality=70" alt="The burger menu demo page with a lighthouse report, showing a performance score of only 88 and the CLS issues disclosure open" /></p>
<p><a href="https://piccalil.li/tutorial/build-a-fully-responsive-progressively-enhanced-burger-menu/">There’s a whole tutorial on this site</a> about that progressively enhanced burger menu, but in short, a web component takes existing navigation and creates a burger menu if the parent container has less available space than declared as a property. If not, it does nothing. Good ol’ progressive enhancement.</p>
<p>The problem is that initial switch causes a layout shift on the whole page, because by default, for <em>when</em> JavaScript doesn’t work, the navigation renders as normal. Only when all the conditions are met, does it switch to being a burger menu.</p>
<p>Now, I can see where Lighthouse is coming from with CLS. Adverts can wreck a user experience as they load and make the page jump around, but in this instance, it’s a pattern designed to benefit the user and nothing else.</p>
<p>I’m really perplexed, so would love to hear from people that know what they are talking about. It’s very likely that I in fact do not know what I’m doing.</p>
<p>I see this pattern—rendering a <a href="https://piccalil.li/blog/a-minimum-viable-experience-makes-for-a-resilient-inclusive-website-or-app/">minimum viable experience</a>, then enhancing where the browser allows—as a crucial way of delivering high quality websites for users. If it will, however, become a problem for Lighthouse, I might have to remove that requirement of 100s across the board as a deliverable, which sucks, frankly.</p>
<p>For the project in question, I ended up reworking navigation so it didn’t need to be a burger menu, but that’s only one use case of this progressive enhancement pattern—using web components to take existing markup and enhance it. I would be really disappointed if I couldn’t do that any longer.</p>
<p>Anyway, if you’re curious, I tested the <a href="https://piccalilli-burger-menu-demo.netlify.app/">demo of the burger menu tutorial</a> on Lighthouse, so <a href="https://googlechrome.github.io/lighthouse/viewer/?gist=a7f6534d94ce3f35aeace04268b65151">go check the report out</a>. Consider it a simple use case to try to reproduce the issue if you’re up for helping. I really hope to get some answers to this!</p>
        
        ]]></description>
        
      </item>
    
      <item>
        <title>Learn Eleventy From Scratch is now open source</title>
        <link>https://piccalil.li/blog/learn-eleventy-from-scratch-is-now-open-source/?ref=general-category-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Mon, 11 Oct 2021 00:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/learn-eleventy-from-scratch-is-now-open-source/?ref=general-category-rss-feed</guid>
        <description><![CDATA[<p>Piccalilli is going through a lot of changes—mainly, a shift to becoming an agency. With this shift, the Eleventy course no longer fits into this site.</p>
<p>I’ve decided to make the course open source because I don’t really have to bandwidth to maintain it and update it—especially with Eleventy now getting ever closer to version 1 (which is great).</p>
<p>I’ve slung together a <a href="https://vuepress.vuejs.org/">VuePress</a> site—similar to the <a href="https://piccalil.li//cube.fyi">CUBE CSS</a> documentation—to make this process easier. <a href="https://github.com/andy-piccalilli/learneleventyfromscratch.com">The repository</a> is public and open for contributions too. You can see the course’s new location at <code>&lt;https://learneleventyfromscratch.com/&gt;</code>.</p>
<h2>Wrapping up</h2>
<p>To everyone who bought this course in the past and/or left comments to improve the content, thank you. Your support means a lot and you allowed this content to be published <em>for free</em>, which opened the door to <em>thousands</em> of people who previously had no way of accessing the content.</p>
<p>The hope of making the course open source is that it can continue to help people and get contributions from the <em>vast array</em> of Eleventy experts out there.</p>
<p>Until next time, take it easy 👋</p>
        
        ]]></description>
        
      </item>
    
      <item>
        <title>Quick and easy local server</title>
        <link>https://piccalil.li/blog/quick-and-easy-local-server/?ref=general-category-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Fri, 03 Jul 2020 00:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/quick-and-easy-local-server/?ref=general-category-rss-feed</guid>
        <description><![CDATA[<p>Want a quick and easy local server? All you have to do is the following:</p>
<p>First, <code>cd</code> into the directory you want to serve, then run:</p>
<pre><code>npx serve
</code></pre>
<p>Then, go to <code>&lt;http://localhost:5000&gt;</code>.</p>
        
        ]]></description>
        
      </item>
    
      <item>
        <title>Learn Eleventy From Scratch launch day</title>
        <link>https://piccalil.li/blog/learn-eleventy-from-scratch-launch-day/?ref=general-category-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Mon, 22 Jun 2020 00:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/learn-eleventy-from-scratch-launch-day/?ref=general-category-rss-feed</guid>
        <description><![CDATA[<p>Today is a very special day on this website, because the debut course, <a href="https://piccalil.li/course/learn-eleventy-from-scratch/">Learn Eleventy From Scratch</a>, <strong>is now live</strong>!</p>
<p>The response from the <em>mind-blowing</em> amount of people that have bought it has been overwhelmingly positive, so thank you so much for that. You’ve made me very happy!</p>
<p>Quality of content and most importantly, the accessibility and inclusivity of content, is of the upmost importance to me, so feedback about how this course has helped people to finally understand static site generators and Eleventy really does mean the world to me. It makes me feel like I did my job right. I’m especially happy that people have liked the conversational tone to the content, too.</p>
<h2>Fun facts about the production of this Eleventy course</h2>
<p>A lot of work has gone into this course—not just with the content, but also infrastructure, so let’s break it down:</p>
<ol>
<li>The course has a word count of just over <strong>35,000 words</strong>! I committed the first draft of the first lesson on the 19th of May. I committed the last bit of content yesterday (living fast and loose).</li>
<li>The production of the course properly started in March this year with some rough prototyping and lesson outlining.</li>
<li>In total, the main production of the course material resulted in <strong>248</strong> git commits! Combined with the API and content delivery system, it was well over <strong>500 commits</strong> by the time I published it all.</li>
<li>A complete, authenticated content delivery system that delivers premium content via an API and service workers has been produced, from scratch, to serve this course to you. There will be some material written about that in the future, for sure, because I’d love to empower others to self-publish.</li>
<li>I produced the song that is the backing track for the <a href="https://www.youtube.com/watch?v=EuBIAFkSINM">trailer video</a> <strong>13 years ago</strong> when I used to make music. You can <a href="https://soundcloud.com/4ndeh/throw-me-a-name?in=4ndeh/sets/andy-virus-2007">listen to the whole song here</a>.</li>
<li>I say “add the following” <strong>131 times</strong> throughout the course, because I am a predictable creature of habit.</li>
<li>Every lesson ends with a now traditional “Wrapping up” section because otherwise, I legitimately won’t sleep.</li>
<li>I’ve said “thanks, pal” to Amy, the editor of the course, about 20 million times.</li>
<li>Last, and most importantly, the <strong>entire course and site is built with Eleventy</strong></li>
</ol>
<h2>Wrapping up</h2>
<p>The production of this course has been so hard (especially during a pandemic) and so much work, but it has been <em>satisfying work</em>. I <em>love</em> teaching and producing courses will increasingly consume more of my time, rather than client work, which will be ace.</p>
<p>I’m so happy that <em>so many of you</em> have bought this course. It has blown my mind. From the bottom of my heart: <strong>thank you so much for your ongoing support</strong>! All of the exhaustion is really worth it when you all support the work I do.</p>
<p>For me now, I am having some <em>much needed</em> downtime. Then, I’ve got plenty of <strong>new content to produce</strong>. There’s all the <a href="https://piccalil.li/blog/cube-css/">CUBE CSS</a> stuff, which will include a workshop and further documentation, then of course, I will get started on <a href="https://piccalil.li/course/learn-css-from-scratch/">Learn CSS From Scratch</a>, later in the summer.</p>
<p>Until then, take it easy!</p>
<p><a href="https://piccalil.li/course/learn-eleventy-from-scratch/">Buy the course now</a></p>
        
        ]]></description>
        
      </item>
    
      <item>
        <title>New shoes</title>
        <link>https://piccalil.li/blog/new-shoes/?ref=general-category-rss-feed</link>
        <dc:creator><![CDATA[Andy Bell]]></dc:creator>
        <pubDate>Tue, 10 Mar 2020 00:00:00 GMT</pubDate>
        <guid isPermaLink="true">https://piccalil.li/blog/new-shoes/?ref=general-category-rss-feed</guid>
        <description><![CDATA[<p>I published issue 32 of the Piccalilli newsletter on the 3rd of January and then later in that month, <a href="https://hankchizljaw.com/wrote/piccalilli-is-changing/">declared that it was to have a break</a>. This is because I had a plan for it. The plan was to completely transform it into not just a newsletter, but also an education platform!</p>
<p>That holiday is now over because today, this site has gone live and <a href="https://piccalil.li/newsletter/33/">Issue #33</a> should be in your inboxes.</p>
<h2>What’s new</h2>
<p>I want to centralise all of my writing and education work, so the main part of the new Piccalilli is the <a href="https://piccalil.li/tutorials/0/">tutorials section</a> and the <a href="https://piccalil.li/courses/">courses section</a>. Those sections will expand into additional, premium, member-only content in the future, too.</p>
<p>I’ve published 4 tutorials for this launch and published the upcoming courses—the first of which will be <a href="https://piccalil.li/course/learn-eleventy-from-scratch/">Eleventy From Scratch</a>. I’m really looking forward to getting stuck into the production of these courses, now that I have a solid structure to work with.</p>
<p>I merged in external course sites that I had, such as <a href="https://cssfromscratch.com">cssfromscratch.com</a>, because I want to keep all of this stuff under one roof. I’m a big believer in content systems and the way I see it: courses and tutorials will seamlessly link between each other, so you, the reader, can learn as much as possible.</p>
<p>In the further long-term, I’m planning on bringing <a href="https://piccalil.li/category/front-end-challenges-club">Front-End Challenges Club</a> in-house, too, because I think that content will compliment content on here very well.</p>
<h2>Branding</h2>
<p>Piccalilli got a new logo! I put a <em>bucket load</em> of work into this. Branding and logo design isn’t my strength, but I was determined to give myself the full-service, like I would for a client and the end result really shows that. I’m so glad I forced myself to do it properly, because I’m really happy with the end result.</p>
<p>It’s in stark contrast with the first Piccalilli logo, which I did in 10 minutes in Illustrator, and pretty much hated it from day 1. The priority then, though, was prototyping the concept of the Piccalilli newsletter. A <em>lot</em> has changed since then!</p>
<p><a href="https://hankchizljaw.com/wrote/making-the-new-piccalilli-logo/">I wrote about the logo design process over on my blog</a>.</p>
<h2>Tech stuff</h2>
<p>We’ve got to dive into the tech stuff, because there’s some exciting Jamstack business going on.</p>
<p>The site is built with my favourite static site generator, <a href="https://piccalil.li//11t.dev">Eleventy</a>. I used my naked starter kit, <a href="https://hebra.dev/">Hebra</a> to build it as a HTML only site initially, then spent a lot of time designing the look and feel in static design tools. This then led to a progressive enhancement approach of vanilla CSS and finally, vanilla JS.</p>
<p>That approach has paid dividends because the footprint of this site is tiny and the site is getting some seriously good <a href="https://developers.google.com/web/tools/lighthouse">Lighthouse</a> and <a href="https://webpagetest.org/easy">Web Page Test</a> scores. It’s given me a really solid foundation to work from, so I’m really happy, because I talk about this stuff a lot on the web, so it would be daft if I didn’t practice what I preach.</p>
<p>“How the hell are you doing the newsletter with Eleventy?”, they scream. Well, that’s the magic right there. Because Eleventy is incredibly flexible, it enabled me to use a combination of RSS, Node JS and <a href="https://postmarkapp.com/">Postmark</a> to create a lush, web-first system. The original newsletter was very much email-first, which I was never comfortable with. The issues had URLs, but they looked crap. Now, the design priority is on the web versions, with a lighter version being sent to your inbox.</p>
<p>I’ll probably make a tutorial on the newsletter stuff in the future, because it really is a nice way to publish content and much cheaper than using <a href="http://curated.co/">Curated</a>, like I was before.</p>
<h2>Wrapping up</h2>
<p>This is just a short post to say howdy again and to give you a bit of knowledge about what’s being going on behind the scenes. I’ll also take this opportunity to thank you all again. This newsletter has always surprised me at how popular it is. <a href="https://piccalil.li/newsletter/33">Issue #33</a> has been sent to over 2,000 people!! Your support really drives me to make cool stuff.</p>
<p>I’m so happy that this project is in a completely new phase of its life. There’s so much good stuff to come, so stay tuned (and <a href="https://piccalil.li/subscribe">subscribe to the newsletter</a> and <a href="https://piccalil.li/rss">RSS</a>).</p>
<p>Until next time, take it easy 🙂</p>
        
        ]]></description>
        
      </item>
    
    </channel>
  </rss>
