-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathalhambra.html
More file actions
123 lines (109 loc) · 4.48 KB
/
alhambra.html
File metadata and controls
123 lines (109 loc) · 4.48 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
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-72294820-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-72294820-1');
</script>
<title>alhambra - zesameri</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, minimum-scale=1, maximum-scale=1">
<meta name="author" content="kvitka">
<meta name="theme-color" content="#111">
<!-- Styles -->
<link href="./css/main.css" rel="stylesheet">
<link href="./css/crumple.css" rel="stylesheet">
<link href="./css/font.css" rel="stylesheet">
<link href="./css/mobile.css" rel="stylesheet">
<link href="./css/alhambra.css" rel="stylesheet">
<!-- Webpage Icon -->
<link rel="shortcut icon" href="./assets/images/icon.png" type="image/png">
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Roboto+Slab" rel="stylesheet">
</head>
<body>
<canvas id="triangleCanvas"></canvas>
<canvas id="gridCanvas"></canvas>
<div class="content-wrapper">
<section class="hero">
<div class="top-bar">
<h1 class="header">
<a class="simple-link" href="./index.html"> zesameri </a>
<a class="simple-link" href="./secrets.html"> <img class="header-img" src="assets/images/flower.svg" alt="Flower"></a>
</h1>
</div>
<div class="bio">
<p>
I visited the Nasrid Palaces of the Alhambra this past summer.
After staying up late to secure an early ticket,
I woke before dawn to climb to the estate's entrance.
Like reaching to Allah, it felt sacred.
As a child, I wanted to become a mosaicist,
shaping glass squares into flowing forms.
I rekindled that wonder through reconstructing these patterns.
Centuries of geometry unravelling, I can feel their devotion.
</p>
</div>
</section>
<footer class="footer" id="footer">
<a href=".">home</a>
<a data-pattern="triangle">starry night</a>
<a data-pattern="grid">diamonds</a>
</footer>
</div>
<script>
// Pattern controller for alhambra page
const footerLinks = document.querySelectorAll('.footer a[data-pattern]');
const triangleCanvas = document.getElementById('triangleCanvas');
const gridCanvas = document.getElementById('gridCanvas');
// Load triangle pattern
const triangleScript = document.createElement('script');
triangleScript.src = './js/triangle.js';
// Load grid pattern
const gridScript = document.createElement('script');
gridScript.src = './js/grid.js';
document.body.appendChild(triangleScript);
document.body.appendChild(gridScript);
// Handle pattern switching
footerLinks.forEach(link => {
link.addEventListener('mouseenter', (e) => {
const pattern = e.target.dataset.pattern;
if (pattern === 'triangle') {
triangleCanvas.classList.add('visible');
} else if (pattern === 'grid') {
gridCanvas.classList.add('visible');
}
document.querySelector('.bio').style.display = 'none';
});
link.addEventListener('mouseleave', () => {
triangleCanvas.classList.remove('visible');
gridCanvas.classList.remove('visible');
document.querySelector('.bio').style.display = 'block';
});
// Add mobile click functionality
link.addEventListener('click', (e) => {
e.preventDefault();
const pattern = link.getAttribute('data-pattern');
if (pattern === 'triangles') {
triangleCanvas.classList.add('visible');
gridCanvas.classList.remove('visible');
} else if (pattern === 'grid') {
gridCanvas.classList.add('visible');
triangleCanvas.classList.remove('visible');
}
document.querySelector('.bio').style.display = 'none';
// Auto-hide after 3 seconds on mobile
setTimeout(() => {
triangleCanvas.classList.remove('visible');
gridCanvas.classList.remove('visible');
document.querySelector('.bio').style.display = 'block';
}, 3000);
});
});
</script>
</body>
</html>