-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstyle.css
More file actions
122 lines (111 loc) · 6.02 KB
/
Copy pathstyle.css
File metadata and controls
122 lines (111 loc) · 6.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Wordle 7‑Day Calendar | Daily Answers & Statistics</title>
<meta name="description" content="Check latest 7‑day Wordle answers, hints, stats and history. Daily Wordle puzzle archive with calendar.">
<meta name="keywords" content="Wordle 7 day calendar, latest Wordle answers, Wordle stats, daily Wordle history">
<title>Wordle 7‑Day Calendar | Daily Answers & Statistics</title>
<!-- 👇 新增这行代码(关键)👇 -->
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
<!-- 👆 新增这行代码(关键)👆 -->
<!-- 原有 Favicon 保留(给浏览器用) -->
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
<!-- 新增谷歌抓取用的高分辨率图标 -->
<link rel="icon" type="image/png" sizes="192x192" href="icon-192x192.png">
<link rel="icon" type="image/png" sizes="512x512" href="icon-512x512.png">
<!-- 苹果/通用高分辨率图标(辅助谷歌抓取) -->
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://dailywordlehub.com">
<style>
*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}
body{background:#f6f7f9;padding:15px;max-width:900px;margin:0 auto;line-height:1.5}
header{text-align:center;margin-bottom:20px}
h1{color:#538d4e;margin-bottom:8px;font-size:1.5rem}
.desc{color:#666;margin-bottom:20px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.stat-card{background:white;padding:16px;border-radius:10px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,0.1)}
.stat-num{font-size:22px;font-weight:bold;color:#538d4e;margin-bottom:4px}
.stat-txt{font-size:0.85rem;color:#555}
.section{background:white;padding:18px;border-radius:10px;margin-bottom:20px}
h2{color:#538d4e;margin-bottom:14px;font-size:1.2rem;border-left:4px solid #538d4e;padding-left:10px}
.calendar-7d{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.day-box{padding:12px 6px;border-radius:8px;text-align:center;background:#f1f1f1}
.day-box a{text-decoration:none;color:#222;font-weight:500;font-size:0.9rem}
.day-box.today{background:#538d4e}
.day-box.today a{color:white}
.day-box.past{background:#e7f5e6}
.quick-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.quick-list a{background:#f1f1f1;padding:10px;border-radius:6px;text-decoration:none;color:#333;font-size:0.9rem}
footer{text-align:center;margin-top:30px;color:#777;font-size:0.85rem}
@media (max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}.calendar-7d{grid-template-columns:repeat(4,1fr)}}
</style>
</head>
<body>
<header>
<h1>Wordle 7‑Day Calendar</h1>
<p class="desc">Latest 7 Days Answers | Statistics | Puzzle History</p>
</header>
<div class="stats">
<div class="stat-card"><div class="stat-num" id="totalPuzzles">0</div><div class="stat-txt">Total Puzzles</div></div>
<div class="stat-card"><div class="stat-num" id="winRate">0%</div><div class="stat-txt">Win Rate</div></div>
<div class="stat-card"><div class="stat-num" id="streak">0</div><div class="stat-txt">Current Streak</div></div>
<div class="stat-card"><div class="stat-num" id="avgGuess">0.0</div><div class="stat-txt">Avg Guesses</div></div>
</div>
<div class="section">
<h2>Latest 7 Days Puzzle Calendar</h2>
<div class="calendar-7d" id="calendarWrap"></div>
</div>
<div class="section">
<h2>Quick Access (Latest 7 Days)</h2>
<div class="quick-list" id="quickWrap"></div>
</div>
<footer>Wordle Helper | 7‑Day Daily Answer Archive</footer>
<script>
// 基准:Wordle官方 美国东部时间 EDT(UTC‑4) 2026‑05‑14 = #1790
const BASE_DATE = new Date("2026-05-14T00:00:00-04:00");
const BASE_NUM = 1790;
// 获取美国东部时间(Wordle官方时区)
function getEasternToday() {
return new Date(new Date().toLocaleString('en-US', {timeZone: 'America/New_York'}));
}
// 计算编号
function getWordleNumber(targetDate) {
const oneDay = 1000 * 60 * 60 * 24;
const diffDays = Math.floor((targetDate - BASE_DATE) / oneDay);
return BASE_NUM + diffDays;
}
// 生成7天
const todayET = getEasternToday();
const sevenDaysData = [];
for (let i = 6; i >= 0; i--) {
const d = new Date(todayET);
d.setDate(todayET.getDate() - i);
const num = getWordleNumber(d);
const dateStr = d.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
sevenDaysData.push({ dateStr, num, isToday: i === 0 });
}
// 渲染
const calendarWrap = document.getElementById('calendarWrap');
const quickWrap = document.getElementById('quickWrap');
sevenDaysData.forEach(item => {
const cls = item.isToday ? 'day-box today' : 'day-box past';
calendarWrap.innerHTML += `<div class="${cls}"><a href="wordle-${item.num}.html">${item.dateStr}<br>#${item.num}</a></div>`;
const label = item.isToday ? `Today: ${item.dateStr} #${item.num}` : `${item.dateStr} #${item.num}`;
quickWrap.innerHTML += `<a href="wordle-${item.num}.html">${label}</a>`;
});
// 统计
const todayNum = getWordleNumber(todayET);
let userStats = JSON.parse(localStorage.getItem('wordleUserStats')) || {
total: todayNum, gamesPlayed: 0, wins: 0, currentStreak: 0, guessSum: 0
};
userStats.total = todayNum;
document.getElementById('totalPuzzles').textContent = userStats.total;
document.getElementById('winRate').textContent = userStats.gamesPlayed ? Math.round((userStats.wins / userStats.gamesPlayed) * 100) + '%' : '0%';
document.getElementById('streak').textContent = userStats.currentStreak;
document.getElementById('avgGuess').textContent = userStats.gamesPlayed ? (userStats.guessSum / userStats.gamesPlayed).toFixed(1) : '0.0';
</script>
</body>
</html>