Skip to content

Commit ffd6e22

Browse files
committed
Add promo includes to Learn articles
1 parent 690affe commit ffd6e22

10 files changed

Lines changed: 40 additions & 0 deletions

_posts/2019-08-08-time-to-first-byte-what-it-is-and-why-it-matters.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ an air of [closing the stable door after the horse has
4040
bolted](https://www.collinsdictionary.com/dictionary/english/to-close-the-stable-door-after-the-horse-has-bolted).
4141
You really want to squish those TTFB bugs as soon as you can.
4242

43+
{% include promo.html %}
44+
4345
## What is TTFB?
4446

4547
<figure>
@@ -138,6 +140,8 @@ taking place in our TTFB phase, it’s almost a miracle that websites load at al
138140

139141
So. Much. Stuff!
140142

143+
{% include promo.html %}
144+
141145
## Demystifying TTFB
142146

143147
Thankfully, it’s not all so unclear anymore! With a little bit of extra work

_posts/2021-02-26-measuring-network-performance-in-mobile-safari.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ a completely different ballgame to Chrome, and not something many people tend to
3131
focus on. So, I’m going to share with you a handful of tips to make it a little
3232
easier should you need to do the same—and you should do the same.
3333

34+
{% include promo.html %}
35+
3436
## Why iOS Gets Overlooked
3537

3638
Google has a pretty tight grip on the tech industry: it makes by far the most
@@ -119,6 +121,8 @@ upon and [written
119121
about](https://www.catchpoint.com/blog/m1-mac-mini-mobile-device-testing)
120122
only a month prior to this article you’re reading right now.
121123

124+
{% include promo.html %}
125+
122126
## Testing in Safari’s DevTools
123127

124128
What we really want to do, alongside capturing good benchmark- and more

_posts/2023-07-01-in-defence-of-domcontentloaded.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ it is…
2424
_**Want actionable timings and not just trivia?** [Explore my consultancy
2525
services](/consultancy/)._
2626

27+
{% include promo.html %}
28+
2729
For many, many years now, performance engineers have been making a concerted
2830
effort to move away from technical metrics such as `Load`, and toward more
2931
user-facing, UX metrics such as [Speed
@@ -331,6 +333,8 @@ This demo below contains:
331333

332334
Or take a look at [the live demo on Glitch](https://deep-bow-engine.glitch.me/).
333335

336+
{% include promo.html %}
337+
334338
## A Better Way?
335339

336340
This is all genuinely exciting and interesting to me, but we’re running into

_posts/2023-09-28-the-ultimate-lqip-lcp-technique.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ important to consider how we offer a reasonably pleasant experience while users
3030
are waiting for images to load. One solution to that problem is _Low-Quality
3131
Image Placeholders_.
3232

33+
{% include promo.html %}
34+
3335
## Low-Quality Image Placeholders
3436

3537
Low-Quality Image Placeholders are nothing new. [Guy
@@ -151,6 +153,8 @@ concerned, are <a
151153
href="https://www.businesswire.com/news/home/20230517005168/en/Cloudinary-Global-E-Commerce-Survey-Reveals-Visual-Content-Can-Help-Reduce-Returns-by-One-Third">especially
152154
harmful</a>.</p>
153155

156+
{% include promo.html %}
157+
154158
## Don’t Upscale Your LQIP
155159

156160
Each image in the tests so far has been a 200×200px `<img>` displayed at

_posts/2023-10-16-what-is-the-maximum-max-age.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ I wondered the same. Let’s find out together.
3535
</details>
3636
</div>
3737

38+
{% include promo.html %}
39+
3840
## `max-age`
3941

4042
`max-age` is a `Cache-Control` directive that instructs a cache that it may
@@ -145,6 +147,8 @@ binary form is `01111111111111111111111111111111`: a zero followed by 31 ones
145147
(the first zero is reserved for switching between positive and negative values,
146148
so `11111111111111111111111111111111` would be equal to −2,147,483,648).
147149

150+
{% include promo.html %}
151+
148152
## Does It Matter?
149153

150154
Honestly, no.

_posts/2023-10-17-the-three-c-concatenate-compress-cache.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ finished.
2727

2828
Let’s go!
2929

30+
{% include promo.html %}
31+
3032
When serving and storing files on the web, there are a number of different
3133
things we need to take into consideration in order to balance ergonomics,
3234
performance, and effectiveness. In this post, I’m going to break these processes
@@ -410,6 +412,8 @@ For example:
410412
bundling it into `app.js`: discrete changes to components shouldn’t require
411413
fetching all of `app.js` again.
412414

415+
{% include promo.html %}
416+
413417
## The Future Is Brighter
414418

415419
The reason we’re erring on the side of fewer, larger bundles is that

_posts/2024-09-13-optimising-for-high-latency-environments.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ to the Chrome User Experience Report (CrUX). This gives fascinating insights
2626
into the network topography of our visitors, and how much we might be impacted
2727
by high latency regions.
2828

29+
{% include promo.html %}
30+
2931
## What is RTT?
3032

3133
Round-trip-time (RTT) is basically a measure of latency—how long did it take to
@@ -117,6 +119,8 @@ remember](/2019/08/time-to-first-byte-what-it-is-and-why-it-matters/).
117119
overall TTFB metric.</figcaption>
118120
</figure>
119121

122+
{% include promo.html %}
123+
120124
## Improving Experiences for High Latency Environments
121125

122126
Before we dive in, I want to reiterate that this article is about general

_posts/2024-12-02-a-layered-approach-to-speculation-rules.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ out of other useful things.
3030
Recently, I’ve been playing similar games with the [Speculation Rules
3131
API](https://developer.chrome.com/docs/web-platform/prerender-pages).
3232

33+
{% include promo.html %}
34+
3335
## Speculation Rules
3436

3537
I don’t want to go super in-depth about the [Speculation Rules
@@ -138,6 +140,8 @@ traffic, so the risk of increased server load anywhere is minimal. For sites
138140
with lots of traffic and highly dynamic back-ends (database queries, API calls,
139141
insufficient caching), this approach might be a little too liberal.
140142

143+
{% include promo.html %}
144+
141145
## A Multi-Tiered Approach
142146

143147
On a recent client project, I wanted to take the idea further. They have a large

_posts/2026-04-02-what-is-css-containment-and-how-can-i-use-it.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ In this post, we’ll take a look at what CSS containment actually is, what each
4646
creating hard-to-debug side effects. We’ll also look at my most favourite
4747
real-world example of just how effective containment can be. Let’s go!
4848

49+
{% include promo.html %}
50+
4951
## Why Containment Exists
5052

5153
To understand containment, you don’t need to memorise the entire rendering
@@ -342,6 +344,8 @@ As a rule of thumb: do not reach for `strict` until you have a clear reason and
342344
a good understanding of what will happen.
343345

344346

347+
{% include promo.html %}
348+
345349
## Containment in the Real World
346350

347351
So far we have stayed fairly abstract. Let us start with a real example before

_posts/2026-05-07-better-browser-caching-with-no-vary-search.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ are the same page, just with different tracking baggage attached.
5151
And yet, to an HTTP cache, different query strings traditionally equate to
5252
completely different URLs, which means different cache entries. That is wasteful.
5353

54+
{% include promo.html %}
55+
5456
## The Problem We’re Solving
5557

5658
By default, caches are cautious. If the URL differs, the cache key differs, and,
@@ -314,6 +316,8 @@ bust cache until someone has explicitly decided they are safe to ignore.
314316

315317
Again, this is not wasteful—it’s just the same behaviour we’ve always had.
316318

319+
{% include promo.html %}
320+
317321
## Use It Carefully
318322

319323
This header is only as good as the assumptions behind it: if two URLs really do

0 commit comments

Comments
 (0)