Skip to content

Commit b4fb870

Browse files
committed
Fixes
1 parent 73d5718 commit b4fb870

File tree

10 files changed

+83
-76
lines changed

10 files changed

+83
-76
lines changed

src/content/en/2021/caching.md

Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -119,40 +119,43 @@ When using the `Cache-Control` header, you specify one or more _directives_—pr
119119

120120
Below is a table showing the most common `Cache-Control` directives:
121121

122-
<table>
123-
<tr>
124-
<th>Directive</th>
125-
<th>Description</th>
126-
</tr>
127-
<tr>
128-
<td><code class="no-wrap">max-age</code></td>
129-
<td>Indicates the number of seconds that a resource can be cached for relative to the current time. For example, <code>max-age=86400</code>.</td>
130-
</tr>
131-
<tr>
132-
<td><code class="no-wrap">public</code></td>
133-
<td>Indicates that any cache can store the response, including the browser and the CDN. This is assumed by default.</td>
134-
</tr>
135-
<tr>
136-
<td><code class="no-wrap">no-cache</code></td>
137-
<td>A cached resource must be revalidated before its use, via a conditional request, even if it is not marked as stale.</td>
138-
</tr>
139-
<tr>
140-
<td><code class="no-wrap">must-revalidate</code></td>
141-
<td>A stale cached entry must be revalidated before its use, via a conditional request.</td>
142-
</tr>
143-
<tr>
144-
<td><code class="no-wrap">no-store</code></td>
145-
<td>Indicates that the response must not be cached.</td>
146-
</tr>
147-
<tr>
148-
<td><code class="no-wrap">private</code></td>
149-
<td>The response is intended for a specific user and should not be stored by shared caches such as CDNs.</td>
150-
</tr>
151-
<tr>
152-
<td><code class="no-wrap">immutable</code></td>
153-
<td>Indicates that the cached entry will never change during its TTL, and that revalidation is not necessary.</td>
154-
</tr>
155-
</table>
122+
<figure>
123+
<table>
124+
<tr>
125+
<th>Directive</th>
126+
<th>Description</th>
127+
</tr>
128+
<tr>
129+
<td><code class="no-wrap">max-age</code></td>
130+
<td>Indicates the number of seconds that a resource can be cached for relative to the current time. For example, <code>max-age=86400</code>.</td>
131+
</tr>
132+
<tr>
133+
<td><code class="no-wrap">public</code></td>
134+
<td>Indicates that any cache can store the response, including the browser and the CDN. This is assumed by default.</td>
135+
</tr>
136+
<tr>
137+
<td><code class="no-wrap">no-cache</code></td>
138+
<td>A cached resource must be revalidated before its use, via a conditional request, even if it is not marked as stale.</td>
139+
</tr>
140+
<tr>
141+
<td><code class="no-wrap">must-revalidate</code></td>
142+
<td>A stale cached entry must be revalidated before its use, via a conditional request.</td>
143+
</tr>
144+
<tr>
145+
<td><code class="no-wrap">no-store</code></td>
146+
<td>Indicates that the response must not be cached.</td>
147+
</tr>
148+
<tr>
149+
<td><code class="no-wrap">private</code></td>
150+
<td>The response is intended for a specific user and should not be stored by shared caches such as CDNs.</td>
151+
</tr>
152+
<tr>
153+
<td><code class="no-wrap">immutable</code></td>
154+
<td>Indicates that the cached entry will never change during its TTL, and that revalidation is not necessary.</td>
155+
</tr>
156+
</table>
157+
<figcaption>{{ figure_link(caption="<code>Cache-Control</code> directives.") }}</figcaption>
158+
</figure>
156159

157160
{{ figure_markup(
158161
image="cache-control-directives.png",

src/content/en/2024/accessibility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ Tables present data and relationships using two dimensions. For accessibility, t
371371
<th scope="colgroup" colspan=2>All Sites</th>
372372
</tr>
373373
<tr>
374-
<th></th>
374+
<td></td>
375375
<th scope="col">desktop</th>
376376
<th scope="col">mobile</th>
377377
<th scope="col">desktop</th>

src/content/en/2024/security.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1425,7 +1425,7 @@ For CMS's that can be easily self-hosted such as Plone or Wagtail, it is more di
14251425
Large websites often have a high number of visitors and registered users, of which they might store highly sensitive data. This means they likely attract more attackers and are thus more prone to targeted attacks. Additionally, when an attack succeeds, these websites could be fined or sued, costing them money and/or reputational damage. Therefore, it can be expected that popular websites invest more in their security to secure their users.
14261426

14271427
{{ figure_markup(
1428-
image="security-headeers-by-rank.png",
1428+
image="security-headers-by-rank.png",
14291429
caption="Security header adoption by website rank according to the April 2024 CrUX.",
14301430
description="Bar chart showing in top 1,000 sites, 64% have XFO, 60% have HSTS and 56% have X-Content-Type-Options headers. In top 10,000, 54% have XFO, 46% have HSTS and 54% have X-Content-Type-Options headers. In top 100,000, 51% have XFO, 42% have HSTS and 50% have X-Content-Type-Options headers. In top 1,000,000, 45% have XFO, 36% have HSTS and 47% have X-Content-Type-Options headers. Among all sites, 29% have XFO, 31% have HSTS and 43% have X-Content-Type-Options.",
14311431
chart_url="https://docs.google.com/spreadsheets/d/e/2PACX-1vTxTTMlFFSMT3mZgw2awA0wl3F68gzU1OLuyMaZXscSFq-Pa5ev_qTXx8ZaGEOl_ox_aHsraAGMXZ9Y/pubchart?oid=256464807&format=interactive",

src/content/en/2025/pwa.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ Let's examine how individual members rate in the totality of manifest files scan
161161
<thead>
162162
<tr>
163163
<th>Manifest field</th>
164-
<th class="numeric">Sites</th>
164+
<th>Desktop</th>
165+
<th>Mobile</th>
165166
</tr>
166167
</thead>
167168
<tbody>

src/content/ja/2021/caching.md

Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -119,40 +119,43 @@ CDNとブラウザの両方において、HTTPヘッダーは開発者がリソ
119119

120120
以下は、もっとも一般的な `Cache-Control` ディレクティブを示した表です。
121121

122-
<table>
123-
<tr>
124-
<th>ディレクティブ</th>
125-
<th>説明</th>
126-
</tr>
127-
<tr>
128-
<td><code class="no-wrap">max-age</code></td>
129-
<td>現在時刻を基準として、リソースのキャッシュが可能な秒数を示す。たとえば、<code>max-age=86400</code>などです。</td>
130-
</tr>
131-
<tr>
132-
<td><code class="no-wrap">public</code></td>
133-
<td>ブラウザや CDN を含む、任意のキャッシュが応答を保存できることを示します。これはデフォルトで想定されています。</td>
134-
</tr>
135-
<tr>
136-
<td><code class="no-wrap">no-cache</code></td>
137-
<td>キャッシュされたリソースは、たとえそれが古いとマークされていなくても、使用前に条件付きリクエストによって再検証されなければならない。</td>
138-
</tr>
139-
<tr>
140-
<td><code class="no-wrap">must-revalidate</code></td>
141-
<td>キャッシュされた古いエントリは、使用前に条件付きリクエストによって再検証されなければならない。</td>
142-
</tr>
143-
<tr>
144-
<td><code class="no-wrap">no-store</code></td>
145-
<td>レスポンスがキャッシュされてはならないことを示す。</td>
146-
</tr>
147-
<tr>
148-
<td><code class="no-wrap">private</code></td>
149-
<td>このレスポンスは特定のユーザーを対象としたものであり、CDNなどの共有キャッシュに保存されるべきものではありません。</td>
150-
</tr>
151-
<tr>
152-
<td><code class="no-wrap">immutable</code></td>
153-
<td>キャッシュされたエントリがその TTL の間、決して変更されず、再バリデーションが必要ないことを示す。</td>
154-
</tr>
155-
</table>
122+
<figure>
123+
<table>
124+
<tr>
125+
<th>ディレクティブ</th>
126+
<th>説明</th>
127+
</tr>
128+
<tr>
129+
<td><code class="no-wrap">max-age</code></td>
130+
<td>現在時刻を基準として、リソースのキャッシュが可能な秒数を示す。たとえば、<code>max-age=86400</code>などです。</td>
131+
</tr>
132+
<tr>
133+
<td><code class="no-wrap">public</code></td>
134+
<td>ブラウザや CDN を含む、任意のキャッシュが応答を保存できることを示します。これはデフォルトで想定されています。</td>
135+
</tr>
136+
<tr>
137+
<td><code class="no-wrap">no-cache</code></td>
138+
<td>キャッシュされたリソースは、たとえそれが古いとマークされていなくても、使用前に条件付きリクエストによって再検証されなければならない。</td>
139+
</tr>
140+
<tr>
141+
<td><code class="no-wrap">must-revalidate</code></td>
142+
<td>キャッシュされた古いエントリは、使用前に条件付きリクエストによって再検証されなければならない。</td>
143+
</tr>
144+
<tr>
145+
<td><code class="no-wrap">no-store</code></td>
146+
<td>レスポンスがキャッシュされてはならないことを示す。</td>
147+
</tr>
148+
<tr>
149+
<td><code class="no-wrap">private</code></td>
150+
<td>このレスポンスは特定のユーザーを対象としたものであり、CDNなどの共有キャッシュに保存されるべきものではありません。</td>
151+
</tr>
152+
<tr>
153+
<td><code class="no-wrap">immutable</code></td>
154+
<td>キャッシュされたエントリがその TTL の間、決して変更されず、再バリデーションが必要ないことを示す。</td>
155+
</tr>
156+
</table>
157+
<figcaption>{{ figure_link(caption="<code>Cache-Control</code>ディレクティブ。") }}</figcaption>
158+
</figure>
156159

157160
{{ figure_markup(
158161
image="cache-control-directives.png",

src/content/ja/2024/accessibility.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ WCAGは、<a hreflang="en" href="https://www.w3.org/WAI/WCAG21/Understanding/mul
371371
<th scope="colgroup" colspan=2>すべてのサイト</th>
372372
</tr>
373373
<tr>
374-
<th></th>
374+
<td></td>
375375
<th scope="col">デスクトップ</th>
376376
<th scope="col">モバイル</th>
377377
<th scope="col">デスクトップ</th>

src/content/ja/2024/http.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ Web Almanacデータセットで実際のHTTP/3のサポートを正しく把握
201201
しかし、SVCBに関する完全な議論はここでは時間がかかりすぎるため、新しいHTTPSレコードを介してHTTP/3のサポートをアナウンスする方法にのみ焦点を当てます。<a hreflang="en" href="https://www.domaintools.com/resources/blog/the-use-cases-and-benefits-of-svcb-and-https-dns-record-types/">他の</a><a hreflang="en" href="https://blog.cloudflare.com/speeding-up-https-and-http-3-negotiation-with-dns/">ブログ投稿</a>や<a hreflang="en" href="https://www.isc.org/docs/2022-webinar-dns-scvb.pdf">ドキュメント</a>、<a hreflang="en" href="https://www.netmeister.org/blog/https-rrs.html">詳細</a>がより広いアプリケーションについて書かれているものがたくさんあるためです。実際のHTTPSレコードの例を見てみましょう。
202202

203203
{{ figure_markup(
204-
image="dns-httpshttps-example.jpg",
204+
image="dns-https-example.jpg",
205205
caption="DNS HTTPSリソースレコードの例。",
206206
description="`dig`コマンドラインツールからのスクリーンショット。DNS HTTPSレコードが`alpn` `h3``h2`をリストし、`blog.cloudflare.com`のipv4hintとipv6hintの両方を提供していることを示しています。",
207207
width=1415,

src/static/images/2024/security/security-headeers-by-rank.png renamed to src/static/images/2024/security/security-headers-by-rank.png

File renamed without changes.

src/tools/generate/generate_ebook_pdfs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ const generate_ebook_pdfs = async () => {
2727

2828
// Generate Ebook PDF
2929
console.log('Generating ebook for',year,language);
30-
const command = `prince "http://127.0.0.1:8080/${language}/${year}/ebook?print" -o static/pdfs/web_almanac_${year}_${language}.pdf --pdf-profile="PDF/UA-1"`;
30+
const command = `prince "http://127.0.0.1:8080/${language}/${year}/ebook?print" -o static/pdfs/web_almanac_${year}_${language}.pdf --pdf-profile="PDF/UA-1" --fail-safe`;
3131
exec (command, (err, stdout, stderr) => {
3232
if (err) {
3333
// some err occurred

src/tools/generate/generate_ebooks.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ const update_links = (chapter, chapter_config) => {
1515
// Remove figure_drodowns as not needed
1616
body = body.replace(/{{\s*figure_dropdown.*?}}/gsm,'');
1717
// For PDFs tables cannot be in figures
18-
body = body.replace(/<figure (id="[^"]*?")><div class="table-wrap"><div class="table-wrap-container"><table>/gs,'<table $1>');
19-
body = body.replace(/(<\/table><\/div><\/div>\n *)<figcaption>(.*?)<\/figcaption>(\n *)<\/figure>/gs,'</table><p class="table-caption">$2</p>');
18+
body = body.replace(/<figure (id="[^"]*?")><div class="table-wrap"><div class="table-wrap-container"><table([^>]*?)>/gs,'<table $1$2>');
19+
body = body.replace(/<\/table><\/div><\/div>\n *<figcaption>(.*?)<\/figcaption>(\n *)<\/figure>/gs,'</table><p class="table-caption">$1</p>');
2020
// Replace current chapter header ids to full id (e.g. <h2 id="introduction"> -> <h2 id="javascript-introduction">)
2121
body = body.replace(/<h([0-6]) id="/g,'<h$1 id="' + chapter.metadata.chapter + '-');
2222
// Replace other chapter references with hash to anchor link (e.g. ./javascript#fig-1 -> #javascript-fig-1)

0 commit comments

Comments
 (0)