Skip to content

Commit 99efdd6

Browse files
committed
prepare 2025
1 parent 6ecc9c4 commit 99efdd6

File tree

13 files changed

+5088
-4
lines changed

13 files changed

+5088
-4
lines changed

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
23
1+
25

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<meta http-equiv="refresh" content="0; URL=src/2024/events.html">
1+
<meta http-equiv="refresh" content="0; URL=src/2025/events.html">

package-lock.json

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/2025/events.html

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<!DOCTYPE html>
2+
<html lang="en-us">
3+
<head>
4+
<meta charset="utf-8" />
5+
<title>Events - Advent of Code 2025</title>
6+
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:300&subset=latin,latin-ext' rel='stylesheet'
7+
type='text/css'>
8+
<link rel="stylesheet" type="text/css" href="../../static/style.css" />
9+
<link rel="stylesheet alternate" type="text/css" href="../../static/highcontrast.css" title="High Contrast" />
10+
<link rel="shortcut icon" href="../../static/favicon.png" />
11+
</head>
12+
<body>
13+
<header>
14+
<div>
15+
<h1 class="title-global"><a href="index.html">Advent of Code</a></h1>
16+
<nav>
17+
<ul>
18+
<li><a href="events.html">[Events]</a></li>
19+
<li><a href="leaderboard.html">[Leaderboard]</a></li>
20+
<li><a href="solver.html">[Solver]</a></li>
21+
</ul>
22+
</nav>
23+
<div class="user">Shahar Talmi <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a> <a
24+
href="https://www.wix.engineering/" target="_blank" class="sponsor-badge"
25+
title="Member of sponsor: Wix Engineering">(Sponsor)</a> <span class="star-count">0*</span></div>
26+
</div>
27+
<div>
28+
<h1 class="title-event">&nbsp;&nbsp;&nbsp;<span class="title-event-wrap">$year=</span><a
29+
href="index.html">2025</a><span class="title-event-wrap">;</span></h1>
30+
</div>
31+
</header>
32+
<main>
33+
<article>
34+
<p>From here, you can access all of the events (and the corresponding puzzles, leaderboards, stats, etc) ever run on Advent of Code:</p>
35+
<div class="eventlist-event"><a href="../2025/solver.html">[2025]</a> </div>
36+
<div class="eventlist-event"><a href="../2024/solver.html">[2024]</a> <span class="star-count">50*</span> <span class="quiet">/ 50*</span> <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a></div>
37+
<div class="eventlist-event"><a href="../2023/solver.html">[2023]</a> <span class="star-count">50*</span> <span class="quiet">/ 50*</span> <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a></div>
38+
<div class="eventlist-event"><a href="../2022/solver.html">[2022]</a> <span class="star-count">50*</span> <span class="quiet">/ 50*</span> <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a></div>
39+
<div class="eventlist-event"><a href="../2021/solver.html">[2021]</a> <span class="star-count">50*</span> <span class="quiet">/ 50*</span> <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a></div>
40+
<div class="eventlist-event"><a href="../2020/solver.html">[2020]</a> <span class="star-count">50*</span> <span class="quiet">/ 50*</span> <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a></div>
41+
<div class="eventlist-event"><a href="../2019/solver.html">[2019]</a> <span class="star-count">50*</span> <span class="quiet">/ 50*</span> <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a></div>
42+
<div class="eventlist-event"><a href="../2018/solver.html">[2018]</a> <span class="star-count">50*</span> <span class="quiet">/ 50*</span> <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a></div>
43+
<div class="eventlist-event"><a href="../2017/solver.html">[2017]</a> <span class="star-count">50*</span> <span class="quiet">/ 50*</span> <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a></div>
44+
<div class="eventlist-event"><a href="../2016/solver.html">[2016]</a> <span class="star-count">50*</span> <span class="quiet">/ 50*</span> <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a></div>
45+
<div class="eventlist-event"><a href="../2015/solver.html">[2015]</a> <span class="star-count">50*</span> <span class="quiet">/ 50*</span> <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a></div>
46+
<p>Total stars: <span class="star-count">500*</span></article>
47+
</main>
48+
</body>
49+
</html>

src/2025/index.html

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<!DOCTYPE html>
2+
<html lang="en-us">
3+
<head>
4+
<meta charset="utf-8" />
5+
<title>Advent of Code 2025</title>
6+
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:300&subset=latin,latin-ext' rel='stylesheet'
7+
type='text/css'>
8+
<link rel="stylesheet" type="text/css" href="../../static/style.css" />
9+
<link rel="stylesheet alternate" type="text/css" href="../../static/highcontrast.css" title="High Contrast" />
10+
<link rel="shortcut icon" href="../../static/favicon.png" />
11+
</head>
12+
<body>
13+
<header>
14+
<div>
15+
<h1 class="title-global"><a href="index.html">Advent of Code</a></h1>
16+
<nav>
17+
<ul>
18+
<li><a href="events.html">[Events]</a></li>
19+
<li><a href="leaderboard.html">[Leaderboard]</a></li>
20+
<li><a href="solver.html">[Solver]</a></li>
21+
</ul>
22+
</nav>
23+
<div class="user">Shahar Talmi <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a> <a
24+
href="https://www.wix.engineering/" target="_blank" class="sponsor-badge"
25+
title="Member of sponsor: Wix Engineering">(Sponsor)</a> <span class="star-count">0*</span></div>
26+
</div>
27+
<div>
28+
<h1 class="title-event">&nbsp;&nbsp;&nbsp;<span class="title-event-wrap">$year=</span><a
29+
href="index.html">2025</a><span class="title-event-wrap">;</span></h1>
30+
</div>
31+
</header>
32+
<main>
33+
<p>The first puzzles will unlock on December 1st at midnight EST (UTC-5). See you then!</p>
34+
<p>Also, starting this year, there will be <a href="/2025/about#faq_num_days">12 days</a> of puzzles each December.</p><pre class="calendar"><span aria-hidden="true" class="calendar-day1"> ____ *
35+
________/O___\__________|________________________ <span class="calendar-day"> 1</span><span id="calendar-countdown"></span><script>
36+
(function(){
37+
var countdown = document.getElementById("calendar-countdown");
38+
if (!countdown) return;
39+
var server_eta = 183562;
40+
var key = "2025-1-"+server_eta;
41+
var now = Math.floor(new Date().getTime()/1000);
42+
var target = server_eta + now;
43+
if (sessionStorage) {
44+
// if you navigate away and hit the back button, this makes sure the countdown doesn't start from the wrong time
45+
var prev_target = sessionStorage.getItem("calendar-target");
46+
try { prev_target = JSON.parse(prev_target); } catch(e){}
47+
if (prev_target && typeof prev_target === 'object' && prev_target.key === key) {
48+
target = prev_target.target;
49+
} else {
50+
sessionStorage.setItem("calendar-target", JSON.stringify({key:key, target:target+1}));
51+
}
52+
}
53+
54+
var interval = null;
55+
function update_countdown() {
56+
var remaining = Math.ceil(target - new Date().getTime()/1000);
57+
if (remaining <= 0) {
58+
clearInterval(interval);
59+
interval = null;
60+
countdown.textContent = "";
61+
62+
var a = document.createElement("a");
63+
a[String.fromCharCode(104,114,101,102)] = "/2025" + String.fromCharCode(47,100,97,121,47) + "1";
64+
a.className = "calendar-day1 calendar-day-new";
65+
var span = countdown.parentNode;
66+
while (span.firstChild) {
67+
a.appendChild(span.firstChild);
68+
}
69+
a.appendChild(document.createTextNode(" "));
70+
span.parentNode.insertBefore(a, span);
71+
span.parentNode.removeChild(span);
72+
countdown.parentNode.removeChild(countdown);
73+
} else {
74+
var hours = Math.floor(remaining/60/60);
75+
remaining -= hours * 60 * 60;
76+
var minutes = Math.floor(remaining/60);
77+
remaining -= minutes * 60;
78+
var seconds = remaining;
79+
countdown.textContent = (hours < 10 ? "0" : "") + hours + ":" + (minutes < 10 ? "0" : "") + minutes + ":" + (seconds < 10 ? "0" : "") + seconds;
80+
}
81+
}
82+
interval = setInterval(update_countdown,1000);
83+
update_countdown();
84+
})();
85+
</script></span>
86+
<span aria-hidden="true" class="calendar-day2">
87+
<span class="calendar-day"> 2</span></span>
88+
<span aria-hidden="true" class="calendar-day3">
89+
<span class="calendar-day"> 3</span></span>
90+
<span aria-hidden="true" class="calendar-day4">
91+
<span class="calendar-day"> 4</span></span>
92+
<span aria-hidden="true" class="calendar-day5">
93+
<span class="calendar-day"> 5</span></span>
94+
<span aria-hidden="true" class="calendar-day6">
95+
<span class="calendar-day"> 6</span></span>
96+
<span aria-hidden="true" class="calendar-day7">
97+
<span class="calendar-day"> 7</span></span>
98+
<span aria-hidden="true" class="calendar-day8">
99+
<span class="calendar-day"> 8</span></span>
100+
<span aria-hidden="true" class="calendar-day9">
101+
<span class="calendar-day"> 9</span></span>
102+
<span aria-hidden="true" class="calendar-day10">
103+
<span class="calendar-day">10</span></span>
104+
<span aria-hidden="true" class="calendar-day11">
105+
<span class="calendar-day">11</span></span>
106+
<span aria-hidden="true" class="calendar-day12">
107+
<span class="calendar-day">12</span></span>
108+
</pre>
109+
</main>
110+
</body>
111+
</html>

src/2025/leaderboard.html

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<!DOCTYPE html>
2+
<html lang="en-us">
3+
<head>
4+
<meta charset="utf-8" />
5+
<title>Leaderboard - Advent of Code 2025</title>
6+
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:300&subset=latin,latin-ext' rel='stylesheet'
7+
type='text/css'>
8+
<link rel="stylesheet" type="text/css" href="../../static/style.css" />
9+
<link rel="stylesheet alternate" type="text/css" href="../../static/highcontrast.css" title="High Contrast" />
10+
<link rel="shortcut icon" href="../../static/favicon.png" />
11+
</head>
12+
<body>
13+
<header>
14+
<div>
15+
<h1 class="title-global"><a href="index.html">Advent of Code</a></h1>
16+
<nav>
17+
<ul>
18+
<li><a href="events.html">[Events]</a></li>
19+
<li><a href="leaderboard.html">[Leaderboard]</a></li>
20+
<li><a href="solver.html">[Solver]</a></li>
21+
</ul>
22+
</nav>
23+
<div class="user">Shahar Talmi <a class="supporter-badge" title="Advent of Code Supporter">(AoC++)</a> <a
24+
href="https://www.wix.engineering/" target="_blank" class="sponsor-badge"
25+
title="Member of sponsor: Wix Engineering">(Sponsor)</a> <span class="star-count">0*</span></div>
26+
</div>
27+
<div>
28+
<h1 class="title-event">&nbsp;&nbsp;&nbsp;<span class="title-event-wrap">$year=</span><a
29+
href="index.html">2025</a><span class="title-event-wrap">;</span></h1>
30+
</div>
31+
</header>
32+
<main>
33+
<button onclick="drawChart('all')">Show All</button>
34+
<button onclick="drawChart('ten')">Show Top Ten</button>
35+
<button onclick="drawChart('five')">Show Top Five</button>
36+
<canvas id="canvas"></canvas>
37+
<script type="module">
38+
import { Chart, registerables } from 'https://cdn.skypack.dev/chart.js@4.4.8?min';
39+
import config from "./leaderboard.json" with { type: "json" };
40+
Chart.register(...registerables);
41+
function currentConfig() {
42+
return (new URLSearchParams(location.search)).get('draw') || 'five';
43+
}
44+
window.drawChart = function (group) {
45+
history.pushState({ draw: group }, '', `?draw=${group}`);
46+
window.myLine.data = JSON.parse(JSON.stringify(config[group].data));
47+
window.myLine.update();
48+
};
49+
window.onload = function () {
50+
let ctx = document.getElementById('canvas').getContext('2d');
51+
window.myLine = new Chart(ctx, JSON.parse(JSON.stringify(config[currentConfig()])));
52+
};
53+
window.addEventListener('popstate', () => drawChart(currentConfig()));
54+
</script>
55+
</main>
56+
</body>
57+
</html>

0 commit comments

Comments
 (0)