-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
317 lines (264 loc) · 13.4 KB
/
Copy pathindex.html
File metadata and controls
317 lines (264 loc) · 13.4 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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Goosepedia - The definitive archive associated with the waterfowl: The Goose.">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'nonce-8IBTHwOdqNKAWeKl7plt8g=='; style-src 'self' 'unsafe-inline';">
<title>Goose - Goosepedia</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- Simple Navbar -->
<nav class="navbar">
<a href="index.html" class="logo">👕🪿 Goosepedia</a>
<ul class="nav-menu">
<li><a href="index.html" class="nav-link">Home</a></li>
<li><a href="anatomy.html" class="nav-link">Anatomy</a></li>
<li><a href="diet.html" class="nav-link">Diet</a></li>
<li><button id="openHelpModal" class="nav-link">Help</button></li>
<li class="settings-dropdown">
<span class="nav-link" aria-haspopup="true" tabindex="0">Settings ▾</span>
<div class="dropdown-content">
<a href="#" class="theme-toggle">Switch Theme</a>
</div>
</li>
</ul>
</nav>
<main class="main-content" id="mainContent">
<!-- Welcome Section -->
<header class="welcome-box">
<h2>Welcome to Goosepedia</h2>
<p>The definitive archive dedicated to the world's most misunderstood waterfowl: The Goose. Learn about their anatomy, diet, and social lives.</p>
</header>
<h1>Goose</h1>
<div class="site-sub">From Goosepedia, the free encyclopedia</div>
<aside class="infobox">
<div class="placeholder">
<pre class="ascii-art">
_👕_
__( o)>
\___)
</pre>
</div>
<table>
<tr>
<th colspan="2" class="goose-header">Goose</th>
</tr>
<tr>
<th>Kingdom:</th>
<td>Animalia</td>
</tr>
<tr>
<th>Phylum:</th>
<td>Chordata</td>
</tr>
<tr>
<th>Class:</th>
<td>Aves</td>
</tr>
<tr>
<th>Order:</th>
<td>Anseriformes</td>
</tr>
<tr>
<th>Family:</th>
<td>Anatidae</td>
</tr>
</table>
</aside>
<section>
<p>A <b>goose</b> (plural <b>geese</b>) is a bird of any of several waterfowl species in the family Anatidae.
This group comprises the genera <i>Anser</i> (the grey geese and white geese) and <i>Branta</i> (the black
geese). Some other birds, mostly related to the shelducks, have "goose" as part of their names. Geese are renowned for their intelligence, social bonds, and impressive migration capabilities.</p>
<p>Geese occur in North America, Europe, and Asia. Some species are also found in South America, Australia, and Africa. They typically inhabit freshwater wetlands, lakes, and rivers.</p>
</section>
<section>
<h2>Description</h2>
<p>Geese are heavy-bodied waterfowl with long necks, intermediate in size between ducks and swans. They typically have humped bills which taper to a point. Their plumage often features grey, brown, black, and white coloration, and unlike many bird species, males and females are usually similar in appearance.</p>
<p>During the breeding season, geese undergo a process called molting, where they lose their flight feathers. During this vulnerable time, they usually stay near water to escape predators.</p>
</section>
<section>
<h2>Behavior</h2>
<h3>Social Structure</h3>
<p>Geese are monogamous, living in permanent pairs throughout the year. Family units often stay together during migration.</p>
<h3>Migration</h3>
<p>Most wild populations of geese are migratory. They are famous for flying in a distinctive V-formation during their long seasonal journeys. This formation conserves energy by reducing wind resistance for the followers and helps the flock maintain visual contact.</p>
<h3>Communication</h3>
<p>Geese are highly vocal birds. They use a broad range of calls, including the iconic "honk," to communicate, warn of danger, or maintain formation during flight. Hissing is a common defensive sound.</p>
<h3>Parenting</h3>
<p>Geese are known for their strong family values. Both parents invest heavily in raising their goslings. They are extremely protective and will aggressively drive away potential predators. Goslings learn to swim within 24 hours of hatching.</p>
</section>
<section>
<h2>Notable Species</h2>
<p>Global goose populations include several distinct species, broadly categorized into "grey geese" (Anser) and "black geese" (Branta).</p>
<ul>
<li><b>Canada Goose (<i>Branta canadensis</i>)</b>: Native to North America, highly recognizable by its black head and white chinstrap.</li>
<li><b>Greylag Goose (<i>Anser anser</i>)</b>: Large, grey, and the ancestor of most domesticated geese in Europe.</li>
<li><b>Snow Goose (<i>Anser caerulescens</i>)</b>: White morphs are brilliant white with black wingtips, often seen in massive flocks.</li>
<li><b>Nene (<i>Branta sandvicensis</i>)</b>: The Hawaiian goose, noted for being the world's rarest goose species.</li>
</ul>
</section>
<section>
<h2>Relationship with Humans</h2>
<h3>Domestication</h3>
<p>Geese were domesticated thousands of years ago, providing humans with meat, eggs, and down feathers. They are excellent guards due to their aggressive nature towards strangers and loud calls.</p>
<h3>Interactions</h3>
<p>Many people enjoy feeding bread to geese in parks, although this is not recommended as
it provides low nutritional value and can contribute to health problems like "angel wing" deformity.</p>
<h3>Symbolism</h3>
<p>In many cultures, geese symbolize fidelity and loyalty due to their monogamous nature. In ancient Rome, geese were credited with saving the city from a Gallic siege by honking an alarm in the dead of night.</p>
</section>
<section>
<h2>Etymology</h2>
<p>The word "geese" comes from the Proto-Indo-European *ghans-. In Germanic languages, the root word gave Old
English <i>gōs</i> with the plural <i>gēs</i>.</p>
</section>
<section>
<h2>See also</h2>
<ul>
<li><a href="anatomy.html">Anatomy of a Goose</a></li>
<li><a href="diet.html">Diet & Feeding</a></li>
</ul>
</section>
</main>
<footer>
Goosepedia © 2026. All rights reserved.
</footer>
<!-- Accessible Modal -->
<div id="helpModal" class="modal" role="dialog" aria-labelledby="modalTitle" aria-modal="true" aria-hidden="true">
<div class="modal-content">
<div class="modal-header">
<h2 id="modalTitle">Help & Accessibility</h2>
<button id="closeHelpModal" class="close-button" aria-label="Close help dialog">×</button>
</div>
<p>Welcome to Goosepedia! Use the navigation links to explore different sections.</p>
<p><strong>Keyboard Shortcuts:</strong></p>
<ul>
<li><strong>Tab:</strong> Navigate through links and interactive elements.</li>
<li><strong>Enter/Space:</strong> Activate buttons or links.</li>
<li><strong>Esc:</strong> Close this dialog.</li>
</ul>
<button id="closeHelpBtn" class="close-btn">Close Help</button>
</div>
</div>
<script nonce="8IBTHwOdqNKAWeKl7plt8g==">
document.addEventListener('DOMContentLoaded', () => {
const modal = document.getElementById('helpModal');
const openBtn = document.getElementById('openHelpModal');
const closeBtn = document.getElementById('closeHelpModal');
const closeBtnMain = document.getElementById('closeHelpBtn');
let lastFocusedElement;
function openModal() {
lastFocusedElement = document.activeElement;
modal.classList.add('open');
modal.removeAttribute('aria-hidden');
document.body.style.overflow = 'hidden';
closeBtn.focus();
}
function closeModal() {
modal.classList.remove('open');
modal.setAttribute('aria-hidden', 'true');
document.body.style.overflow = '';
if (lastFocusedElement) {
lastFocusedElement.focus();
}
}
if (openBtn) {
openBtn.addEventListener('click', openModal);
}
if (closeBtn) {
closeBtn.addEventListener('click', closeModal);
}
if (closeBtnMain) {
closeBtnMain.addEventListener('click', closeModal);
}
window.addEventListener('click', (event) => {
if (event.target === modal) {
closeModal();
}
});
modal.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
closeModal();
}
if (e.key === 'Tab') {
const focusableElements = modal.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
if (focusableElements.length === 0) return;
const firstElement = focusableElements[0];
const lastElement = focusableElements[focusableElements.length - 1];
if (e.shiftKey) { /* shift + tab */
if (document.activeElement === firstElement) {
lastElement.focus();
e.preventDefault();
}
} else { /* tab */
if (document.activeElement === lastElement) {
firstElement.focus();
e.preventDefault();
}
}
}
});
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && modal.classList.contains('open')) {
closeModal();
}
});
});
</script>
<script nonce="8IBTHwOdqNKAWeKl7plt8g==">
(function() {
let animationId = null;
function createGeese() {
if (animationId) {
cancelAnimationFrame(animationId);
animationId = null;
}
const existingContainer = document.getElementById('geese-container');
if (existingContainer) {
existingContainer.remove();
}
const container = document.createElement('div');
container.id = 'geese-container';
document.body.appendChild(container);
const geese = [];
const speedFactor = 0.1; // Much slower for calm
for(let i = 0; i < 15; i++) { // Fewer geese
const goose = document.createElement('div');
goose.textContent = '👕🪿';
goose.classList.add('goose');
const x = Math.random() * 100;
const y = Math.random() * 100;
goose.style.setProperty('--x', x + 'vw');
goose.style.setProperty('--y', y + 'vh');
container.appendChild(goose);
geese.push({
el: goose,
x: x,
y: y,
dx: (Math.random() - 0.5) * speedFactor,
dy: (Math.random() - 0.5) * speedFactor
});
}
function animate() {
geese.forEach(g => {
g.x += g.dx;
g.y += g.dy;
if (g.x < -10) g.x = 110;
if (g.x > 110) g.x = -10;
if (g.y < -10) g.y = 110;
if (g.y > 110) g.y = -10;
g.el.style.setProperty('--x', g.x + 'vw');
g.el.style.setProperty('--y', g.y + 'vh');
});
animationId = requestAnimationFrame(animate);
}
animate();
}
createGeese();
window.createGeese = createGeese;
})();
</script>
</body>
</html>