Skip to content

Commit 0fafb8a

Browse files
committed
Headers/footers
1 parent c715860 commit 0fafb8a

8 files changed

Lines changed: 86 additions & 60 deletions

File tree

about.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ <h2>Tech Stack</h2>
6060

6161
<footer id="footer-placeholder"></footer>
6262

63+
<script type="module" src="js/header-footer.js"></script>
6364
<script src="js/theme.js"></script>
64-
<script src="js/header-footer.js"></script>
6565
</body>
6666

6767
</html>

blog.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
<!-- necessary script order: -->
3434
<script src="js/theme.js"></script>
35-
<script src="js/header-footer.js"></script>
35+
<script type="module" src="js/header-footer.js"></script>
3636
<script src="js/blog.js"></script>
3737
</body>
3838

css/projects.css

Lines changed: 74 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -4,55 +4,77 @@
44

55
/* Grid container */
66
.projects-container {
7-
display: flex;
8-
flex-wrap: wrap;
9-
gap: 20px;
10-
margin-top: 2rem;
11-
}
12-
13-
/* Card styles */
14-
.project-card {
15-
flex: 1 1 calc(33.333% - 20px);
16-
background-color: #fff;
17-
border: 1px solid #ddd;
18-
border-radius: 0.8rem;
19-
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
20-
overflow: hidden;
21-
transition: transform 0.2s ease, box-shadow 0.2s ease;
22-
}
23-
.project-card:hover {
24-
transform: translateY(-5px);
25-
box-shadow: 0 4px 8px rgba(0,0,0,0.15);
26-
}
27-
28-
/* Image & Content */
29-
.project-card img {
30-
width: 100%;
31-
display: block;
32-
}
33-
.project-card-content {
34-
padding: 1rem;
35-
}
36-
37-
/* Title & Description */
38-
.project-card-title {
39-
font-size: 1.3rem;
40-
font-weight: bold;
41-
color: #0055aa;
42-
margin-bottom: 0.5rem;
43-
}
44-
.project-card-description {
45-
font-size: 1rem;
46-
color: #666;
47-
line-height: 1.5;
48-
}
49-
.project-card-link {
50-
display: inline-block;
51-
margin-top: 0.8rem;
52-
font-size: 0.9rem;
53-
color: #0055aa;
54-
}
55-
.project-card-link:hover {
56-
text-decoration: underline;
57-
}
58-
7+
display: flex;
8+
flex-wrap: wrap;
9+
gap: 20px;
10+
margin-top: 2rem;
11+
}
12+
13+
/* Card styles */
14+
.project-card {
15+
flex: 1 1 calc(33.333% - 20px);
16+
background-color: #fff;
17+
border: 1px solid #ddd;
18+
border-radius: 0.8rem;
19+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
20+
overflow: hidden;
21+
transition: transform 0.2s ease, box-shadow 0.2s ease;
22+
}
23+
24+
.project-card:hover {
25+
transform: translateY(-5px);
26+
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
27+
}
28+
29+
/* Image & Content */
30+
.project-card img {
31+
width: 100%;
32+
display: block;
33+
}
34+
35+
.project-card-content {
36+
padding: 1rem;
37+
}
38+
39+
/* Title & Description */
40+
.project-card-title {
41+
font-size: 1.3rem;
42+
font-weight: bold;
43+
color: #0055aa;
44+
margin-bottom: 0.5rem;
45+
}
46+
47+
.project-card-description {
48+
font-size: 1rem;
49+
color: #666;
50+
line-height: 1.5;
51+
}
52+
53+
.project-card-link {
54+
display: inline-block;
55+
margin-top: 0.8rem;
56+
font-size: 0.9rem;
57+
color: #0055aa;
58+
}
59+
60+
.project-card-link:hover {
61+
text-decoration: underline;
62+
}
63+
64+
/* projects.css */
65+
#projects-list .post-entry {
66+
display: flex;
67+
justify-content: space-between;
68+
align-items: center;
69+
}
70+
71+
#projects-list .post-title {
72+
flex: 1;
73+
margin-right: 1rem;
74+
}
75+
76+
#projects-list .post-meta-inline {
77+
white-space: nowrap;
78+
font-size: 0.9rem;
79+
color: #555;
80+
}

index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@
2727
<footer id="footer-placeholder"></footer>
2828

2929
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
30+
<script type="module" src="js/header-footer.js"></script>
3031
<script src="js/theme.js"></script>
31-
<script src="js/header-footer.js"></script>
32+
3233
</body>
3334

3435
</html>

js/header-footer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import { initializeThemeToggle } from './theme.js';
55

66
function loadHeaderFooter() {
77
return Promise.all([
8-
fetch("/components/header.html")
8+
fetch("components/header.html")
99
.then(r => r.text())
1010
.then(html => document.getElementById("header-placeholder").innerHTML = html),
11-
fetch("/components/footer.html")
11+
fetch("components/footer.html")
1212
.then(r => r.text())
1313
.then(html => document.getElementById("footer-placeholder").innerHTML = html)
1414
]);

js/theme.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Dark-mode toggle */
2-
export function initializeThemeToggle() {
2+
function initializeThemeToggle() {
33
const btn = document.getElementById("theme-toggle");
44
if (!btn) {
55
console.warn("theme-toggle not found.");
@@ -25,6 +25,8 @@ export function initializeThemeToggle() {
2525
});
2626
}
2727

28+
export { initializeThemeToggle };
29+
2830

2931
/* Wait for header/footer to be injected */
3032
document.addEventListener("DOMContentLoaded", initializeThemeToggle);

post.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ <h3>Add a Comment</h3>
4343
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" async></script>
4444

4545
<script src="js/theme.js"></script>
46-
<script src="js/header-footer.js"></script>
46+
<script type="module" src="js/header-footer.js"></script>
4747
<script src="js/post.js"></script>
4848
</body>
4949

projects.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<title>Projects - Robin's Site</title>
88
<link rel="stylesheet" href="css/shared.css" />
99
<link rel="stylesheet" href="css/home.css" />
10+
<link rel="stylesheet" href="css/projects.css" />
1011
<meta http-equiv="Content-Security-Policy" content="
1112
default-src 'self';
1213
script-src 'self' https://cdn.jsdelivr.net;
@@ -35,7 +36,7 @@ <h1>Projects</h1>
3536
<footer id="footer-placeholder"></footer>
3637

3738
<script src="js/theme.js"></script>
38-
<script src="js/header-footer.js"></script>
39+
<script type="module" src="js/header-footer.js"></script>
3940
<script src="js/projects.js"></script>
4041
</body>
4142

0 commit comments

Comments
 (0)