commit b60addc

Alex Schroeder  ·  2022-12-06 11:25:08 +0000 UTC
parent 8fb3180
Add loading="lazy" to all images

Only load images when they're visible.

"The loading attribute on an <img> element … can be used to instruct
the browser to defer loading of images/iframes that are off-screen
until the user scrolls near them."
https://developer.mozilla.org/en-US/docs/Web/Performance/Lazy_loading#images_and_iframes
1 files changed,  +4, -4
M html.c
M html.c
+4, -4
 1@@ -66,7 +66,7 @@ d_char *html_actor_icon(snac *snac, d_char *os, char *actor, char *date, char *u
 2 
 3                 if (n && i) {
 4                     char *u = xs_dict_get(i, "url");
 5-                    xs *img = xs_fmt("<img src=\"%s\" style=\"height: 1em\"/>", u);
 6+                    xs *img = xs_fmt("<img src=\"%s\" style=\"height: 1em\" loading=\"lazy\"/>", u);
 7 
 8                     name = xs_replace_i(name, n, img);
 9                 }
10@@ -84,7 +84,7 @@ d_char *html_actor_icon(snac *snac, d_char *os, char *actor, char *date, char *u
11         avatar = xs_fmt("data:image/png;base64, %s", susie);
12 
13     {
14-        xs *s1 = xs_fmt("<p><img class=\"snac-avatar\" src=\"%s\" alt=\"\"/>\n", avatar);
15+        xs *s1 = xs_fmt("<p><img class=\"snac-avatar\" src=\"%s\" alt=\"\" loading=\"lazy\"/>\n", avatar);
16         s = xs_str_cat(s, s1);
17     }
18 
19@@ -668,7 +668,7 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, int local, int level, int
20 
21                     if (n && i) {
22                         char *u = xs_dict_get(i, "url");
23-                        xs *img = xs_fmt("<img src=\"%s\" style=\"height: 1em\"/>", u);
24+                        xs *img = xs_fmt("<img src=\"%s\" style=\"height: 1em\" loading=\"lazy\"/>", u);
25 
26                         c = xs_replace_i(c, n, img);
27                     }
28@@ -697,7 +697,7 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, int local, int level, int
29                 char *name = xs_dict_get(v, "name");
30 
31                 if (url != NULL) {
32-                    xs *s1 = xs_fmt("<p><img src=\"%s\" alt=\"%s\"/></p>\n",
33+                    xs *s1 = xs_fmt("<p><img src=\"%s\" alt=\"%s\" loading=\"lazy\"/></p>\n",
34                         url, xs_is_null(name) ? "" : name);
35 
36                     s = xs_str_cat(s, s1);