Skip to content

Commit 461c724

Browse files
Add 2025 chapter config (#4244)
* Add 2025 chapter config * More updates * Optimised images with calibre/image-actions * Optimised images with calibre/image-actions * Add 2025 home page to set of pages to test * Optimised images with calibre/image-actions * Readd nowebmentions --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 546106b commit 461c724

56 files changed

Lines changed: 836 additions & 2 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/config/2025.json

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
{
2+
"settings": [
3+
{
4+
"is_live": true,
5+
"supported_languages": ["en","es","fr","hi","it","ja","nl","pt","ru","tr","uk","zh-CN","zh-TW"],
6+
"ebook_languages": []
7+
}
8+
],
9+
"outline": [
10+
{
11+
"part": "I. Page Content",
12+
"part_number": "1",
13+
"chapters": [
14+
{
15+
"part": "I",
16+
"chapter_number": "1",
17+
"title": "CSS",
18+
"slug": "css",
19+
"todo": true
20+
},
21+
{
22+
"part": "I",
23+
"chapter_number": "2",
24+
"title": "Structured Data",
25+
"slug": "structured-data",
26+
"hero_dir": "2021",
27+
"todo": true
28+
},
29+
{
30+
"part": "I",
31+
"chapter_number": "3",
32+
"title": "Fonts",
33+
"slug": "fonts",
34+
"todo": true
35+
},
36+
{
37+
"part": "I",
38+
"chapter_number": "4",
39+
"title": "WebAssembly",
40+
"slug": "webassembly",
41+
"hero_dir": "2021",
42+
"todo": true
43+
},
44+
{
45+
"part": "I",
46+
"chapter_number": "5",
47+
"title": "Third Parties",
48+
"slug": "third-parties",
49+
"todo": true
50+
},
51+
{
52+
"part": "I",
53+
"chapter_number": "6",
54+
"title": "Interoperability",
55+
"slug": "interoperability",
56+
"hero_dir": "2022",
57+
"todo": true
58+
},
59+
{
60+
"part": "I",
61+
"chapter_number": "7",
62+
"title": "Generative AI",
63+
"slug": "generartive-ai",
64+
"hero_dir": "2025",
65+
"todo": true
66+
}
67+
]
68+
},
69+
{
70+
"part": "II. User Experience",
71+
"part_number": "2",
72+
"chapters": [
73+
{
74+
"part": "II",
75+
"chapter_number": "8",
76+
"title": "SEO",
77+
"slug": "seo",
78+
"todo": true
79+
},
80+
{
81+
"part": "II",
82+
"chapter_number": "9",
83+
"title": "Accessibility",
84+
"slug": "accessibility",
85+
"todo": true
86+
},
87+
{
88+
"part": "II",
89+
"chapter_number": "10",
90+
"title": "Performance",
91+
"slug": "performance",
92+
"todo": true
93+
},
94+
{
95+
"part": "II",
96+
"chapter_number": "11",
97+
"title": "Privacy",
98+
"slug": "privacy",
99+
"hero_dir": "2020",
100+
"todo": true
101+
},
102+
{
103+
"part": "II",
104+
"chapter_number": "12",
105+
"title": "Security",
106+
"slug": "security",
107+
"todo": true
108+
},
109+
{
110+
"part": "II",
111+
"chapter_number": "13",
112+
"title": "Capabilities",
113+
"slug": "capabilities",
114+
"hero_dir": "2020",
115+
"todo": true
116+
},
117+
{
118+
"part": "II",
119+
"chapter_number": "14",
120+
"title": "PWA",
121+
"slug": "pwa",
122+
"todo": true
123+
}
124+
]
125+
},
126+
{
127+
"part": "III. Content Publishing",
128+
"part_number": "3",
129+
"chapters": [
130+
{
131+
"part": "III",
132+
"chapter_number": "15",
133+
"title": "CMS",
134+
"slug": "cms",
135+
"todo": true
136+
},
137+
{
138+
"part": "III",
139+
"chapter_number": "16",
140+
"title": "Ecommerce",
141+
"slug": "ecommerce",
142+
"todo": true
143+
},
144+
{
145+
"part": "III",
146+
"chapter_number": "17",
147+
"title": "Jamstack",
148+
"slug": "jamstack",
149+
"hero_dir": "2020",
150+
"todo": true
151+
},
152+
{
153+
"part": "III",
154+
"chapter_number": "18",
155+
"title": "Sustainability",
156+
"slug": "sustainability",
157+
"hero_dir": "2022",
158+
"todo": true
159+
}
160+
]
161+
},
162+
{
163+
"part": "IV. Content Distribution",
164+
"part_number": "4",
165+
"chapters": [
166+
{
167+
"part": "IV",
168+
"chapter_number": "19",
169+
"title": "Page Weight",
170+
"slug": "page-weight",
171+
"todo": true
172+
},
173+
{
174+
"part": "IV",
175+
"chapter_number": "20",
176+
"title": "Caching",
177+
"slug": "Caching",
178+
"hero_dir": "2024",
179+
"todo": true
180+
},
181+
{
182+
"part": "IV",
183+
"chapter_number": "21",
184+
"title": "CDN",
185+
"slug": "cdn",
186+
"todo": true
187+
},
188+
{
189+
"part": "IV",
190+
"chapter_number": "22",
191+
"title": "Cookies",
192+
"slug": "cookies",
193+
"hero_dir": "2024",
194+
"todo": true
195+
},
196+
{
197+
"part": "IV",
198+
"chapter_number": "23",
199+
"title": "DNS",
200+
"slug": "dns",
201+
"hero_dir": "2025",
202+
"todo": true
203+
}
204+
]
205+
}
206+
],
207+
"teams": {
208+
"analysts": {
209+
"name": "Analysts"
210+
},
211+
"authors": {
212+
"name": "Authors"
213+
},
214+
"designers": {
215+
"name": "Designers"
216+
},
217+
"developers": {
218+
"name": "Developers"
219+
},
220+
"editors": {
221+
"name": "Editors"
222+
},
223+
"leads": {
224+
"name": "Leads"
225+
},
226+
"committee": {
227+
"name": "Organizing Commmittee"
228+
},
229+
"reviewers": {
230+
"name": "Reviewers"
231+
},
232+
"translators": {
233+
"name": "Translators"
234+
}
235+
}
236+
}
29.7 KB
Loading

src/templates/base/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ <h2>{{ self.intro_sub_title() }}</h2>
7171
<svg viewBox="0 0 56 16">
7272
<text x="9" y="15">{{ year }}</text>
7373
</svg>
74-
{% elif year == "2024" %}
74+
{% elif year == "2024" or year == "2025" %}
7575
<svg viewBox="0 0 57 16">
7676
<text x="9" y="15">{{ year }}</text>
7777
</svg>

src/templates/en/2025/base.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{% extends "%s/base.html" % lang %}
2+
3+
{% block methodology_stat_1 %}16.2M{% endblock %}
4+
{% block methodology_stat_2 %}244 TB{% endblock %}
5+
{% block total_websites %}over 16 million{% endblock %}
6+
{% block dataset %}July 2025{% endblock %}
7+
8+
{% block foreword %}
9+
{#
10+
<div>
11+
<p>
12+
TODO
13+
</p>
14+
15+
<p>
16+
<em>
17+
<a href="{{ url_for('contributors', year=year, lang=lang, _anchor='nrllh') }}">Nurullah Demir</a>, 2025 Web Almanac General Chair<br>
18+
</em>
19+
</p>
20+
</div>
21+
#}
22+
{% endblock %}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{% extends "base/contributors.html" %}
2+
3+
{% block title %}{{ year }} Contributors | The Web Almanac by HTTP Archive{% endblock %}
4+
5+
{% block description %}The {{ config.contributors.items() | length }} people who contributed to the {{ year }} Web Almanac as Analysts, Authors, Designers, Developers, Editors, Leaders, Reviewers and Translators.{% endblock %}
6+
7+
{% block filter_by_team %}Filter by team: <span id="filtered-contributors">{{ self.contributors() }}</span><span id="contributors-total-text" class="hidden"> of <span id="contributors-total">{{ config.contributors.items() | length }}</span></span> contributors.{% endblock %}
8+
{% block filter_by %}Filter by{% endblock %}
9+
10+
{% block join_the_team_title%}Join the Web Almanac team{% endblock %}
11+
{% block join_the_team_text%}Join the team!{% endblock %}

src/templates/en/2025/index.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{% extends "base/index.html" %}
2+
3+
{% block title %}The {{ year }} Web Almanac{% endblock %}
4+
{% block description %}The Web Almanac is an annual state of the web report combining the expertise of the web community with the data and trends of the HTTP Archive.{% endblock %}
5+
6+
{% block twitter_image_alt %}The {{ year }} Web Almanac{% endblock %}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{% extends "base/table_of_contents.html" %}
2+
3+
{% block title %}Table of Contents | Web Almanac {{ year }}{% endblock %}
4+
5+
{% block description %}Table of Contents for the {{ year }} Web Almanac, listing each section: Page Contents, User Experience, Content Publishing, Content Distribution.{% endblock %}
6+
7+
{% block twitter_image_alt %}{{ year }} Web Almanac methodology{% endblock %}

src/templates/es/2025/base.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{% extends "%s/base.html" % lang %}
2+
3+
{% block methodology_stat_1 %}16,2M{% endblock %}
4+
{% block methodology_stat_2 %}244 TB{% endblock %}
5+
{% block total_websites %}más de 16 millones{% endblock %}
6+
{% block dataset %}Julio de 2025{% endblock %}
7+
8+
{% block foreword %}
9+
{#
10+
<div>
11+
<p>
12+
TODO
13+
</p>
14+
15+
<p>
16+
<em>
17+
<a href="{{ url_for('contributors', year=year, lang=lang, _anchor='nrllh') }}">Nurullah Demir</a>, 2025 Web Almanac General Chair<br>
18+
</em>
19+
</p>
20+
</div>
21+
#}
22+
{% endblock %}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{% extends "base/contributors.html" %}
2+
3+
{% block title %}{{ year }} Contribuidores | Web Almanac por HTTP Archive{% endblock %}
4+
5+
{% block description %}El {{ config.contributors.items() | length }} personas que contribuyeron al {{ year }} Web Almanac commo Analistas, Autores, Diseñadores, Desarrolladores, Editores, Revisores y Traductores.{% endblock %}
6+
7+
{% block filter_by_team %}Filtrar por equipo: <span id="filtered-contributors">{{ self.contributors() }}</span><span id="contributors-total-text" class="hidden"> de <span id="contributors-total">{{ config.contributors.items() | length }}</span></span> contributors.{% endblock %}
8+
{% block filter_by %}Filtrar por{% endblock %}
9+
10+
{% block join_the_team_title%}Únete al equipo de Web Almanac{% endblock %}
11+
{% block join_the_team_text%}¡Únete al equipo!{% endblock %}

src/templates/es/2025/index.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{% extends "base/index.html" %}
2+
3+
{% block title %}Web Almanac {{ year }}{% endblock %}
4+
{% block description %}Web Almanac es un informe anual sobre el estado de la web que combina las estadísticas y tendencias sin procesar del HTTP Archive con la experiencia de la comunidad web.{% endblock %}
5+
6+
{% block twitter_image_alt %}Web Almanac {{ year }}{% endblock %}

0 commit comments

Comments
 (0)