Skip to content

Commit 5e7fea1

Browse files
committed
Structural changes
1 parent 7926ef3 commit 5e7fea1

9 files changed

Lines changed: 257 additions & 13 deletions

File tree

.DS_Store

0 Bytes
Binary file not shown.

about.html

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="UTF-8" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>About - Robin's Site</title>
8+
<link rel="stylesheet" href="css/home.css" />
9+
<meta http-equiv="Content-Security-Policy" content="
10+
default-src 'self';
11+
script-src 'self' https://cdn.jsdelivr.net;
12+
connect-src 'self' https://cdn.jsdelivr.net;
13+
style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net;
14+
font-src 'self' https://cdn.jsdelivr.net;
15+
img-src data:;" charset="UTF-8">
16+
</head>
17+
18+
<body>
19+
<header id="header-placeholder"></header>
20+
<main>
21+
<article>
22+
<h1>Hello, I'm Robin.</h1>
23+
<p>
24+
This website is a place where I share ideas, projects, thoughts on school, life, and other things that
25+
catch my interest.
26+
I don't like confining my writing to traditional labels like "blog," "journal," or "portfolio," since
27+
that feels restrictive to how and what I want to write.
28+
</p>
29+
30+
<h2>What You Might Find Here</h2>
31+
<p>
32+
- Posts about random topics I find interesting.<br>
33+
- Small projects, experiments, and creations.<br>
34+
- Thoughts on academic topics, especially from school work.<br>
35+
- Personal reflections or ideas that I simply want to document.
36+
</p>
37+
38+
<h2>Connect with Me</h2>
39+
<p>
40+
You can find me here:
41+
<ul>
42+
<li><a href="https://github.com/localhost433" target="_blank">GitHub</a></li>
43+
<li><a href="https://www.linkedin.com/in/robin-chen-a494542b7/" target="_blank">LinkedIn</a></li>
44+
</ul>
45+
</p>
46+
47+
<h2>Tech Stack</h2>
48+
<p>
49+
This site is built with vanilla HTML, CSS, and JavaScript.
50+
It uses minimal libraries to stay lightweight, with <code>marked.js</code> for Markdown parsing and
51+
<code>MathJax</code> for rendering math.
52+
</p>
53+
54+
<a href="index.html" class="back-link">Back to Home</a>
55+
</article>
56+
</main>
57+
58+
<footer id="footer-placeholder"></footer>
59+
60+
<script src="js/theme.js"></script>
61+
<script>
62+
// Load header and footer dynamically
63+
document.addEventListener("DOMContentLoaded", () => {
64+
fetch("components/header.html")
65+
.then(response => response.text())
66+
.then(data => document.getElementById("header-placeholder").innerHTML = data);
67+
fetch("components/footer.html")
68+
.then(response => response.text())
69+
.then(data => document.getElementById("footer-placeholder").innerHTML = data);
70+
});
71+
</script>
72+
</body>
73+
74+
</html>

assets/.DS_Store

6 KB
Binary file not shown.

blog.html

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="UTF-8" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>Blog - Robin's Site</title>
8+
<link rel="stylesheet" href="css/home.css" />
9+
<meta http-equiv="Content-Security-Policy" content="
10+
default-src 'self';
11+
script-src 'self' https://cdn.jsdelivr.net;
12+
connect-src 'self' https://cdn.jsdelivr.net;
13+
style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net;
14+
font-src 'self' https://cdn.jsdelivr.net;
15+
img-src data:;" charset="UTF-8">
16+
</head>
17+
18+
<body>
19+
<header id="header-placeholder"></header>
20+
<main>
21+
<article>
22+
<h1>Blog</h1>
23+
<p>Collection of posts I've written about various topics.</p>
24+
25+
<section id="posts-list">
26+
<!-- Blog posts dynamically loaded here -->
27+
</section>
28+
29+
<a href="index.html" class="back-link">Back to Home</a>
30+
</article>
31+
</main>
32+
33+
<footer id="footer-placeholder"></footer>
34+
35+
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
36+
<script src="js/main.js"></script>
37+
<script src="js/theme.js"></script>
38+
<script>
39+
// Load header and footer dynamically
40+
document.addEventListener("DOMContentLoaded", () => {
41+
fetch("components/header.html")
42+
.then(response => response.text())
43+
.then(data => document.getElementById("header-placeholder").innerHTML = data);
44+
fetch("components/footer.html")
45+
.then(response => response.text())
46+
.then(data => document.getElementById("footer-placeholder").innerHTML = data);
47+
});
48+
</script>
49+
</body>
50+
51+
</html>

components/footer.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<footer>
2+
<p style="text-align:center; font-size:0.9rem; color:#777;">&copy; 2025 Robin. All rights reserved.</p>
3+
</footer>

components/header.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<div class="header-title">Robin's Site</div>
2+
<nav>
3+
<a href="index.html">Home</a> |
4+
<a href="about.html">About</a> |
5+
<a href="blog.html">Blog</a> |
6+
<a href="projects.html">Projects</a>
7+
</nav>
8+
<div class="header-row">
9+
<p>Welcome! Sharing ideas, projects, school notes, and more.</p>
10+
<button id="theme-toggle">Dark Mode</button>
11+
</div>

index.html

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,35 @@
1212
connect-src 'self' https://cdn.jsdelivr.net;
1313
style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net;
1414
font-src 'self' https://cdn.jsdelivr.net;
15-
img-src data:;"
16-
charset="UTF-8">
15+
img-src data:;" charset="UTF-8">
16+
1717
<body>
18-
<header>
19-
<div class="header-title">~</div>
20-
<div class="header-row">
21-
<p>Welcome! This is where I share random ideas and stuff I created about school, life, etc. (Not any type of category that I want to fall into, journal, diary, because it would feel kind of restrictive on 'how'/'what' should I write about anything.)</p>
22-
<button id="theme-toggle">Dark Mode</button>
23-
</div>
18+
<header id="header-placeholder"></header>
19+
<div class="header-title">~</div>
20+
<div class="header-row">
21+
<p>Welcome! This is where I share random ideas and stuff I created about school, life, etc. (Not any type of
22+
category that I want to fall into, journal, diary, because it would feel kind of restrictive on 'how'/'what'
23+
should I write about anything.)</p>
24+
<button id="theme-toggle">Dark Mode</button>
25+
</div>
2426
</header>
25-
<main>
26-
<section id="posts-list">
27-
<!-- List -->
28-
</section>
29-
</main>
27+
28+
<footer id="footer-placeholder"></footer>
3029

3130
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
3231
<script src="js/main.js"></script>
3332
<script src="js/theme.js"></script>
33+
<script>
34+
// Load header and footer dynamically
35+
document.addEventListener("DOMContentLoaded", () => {
36+
fetch("components/header.html")
37+
.then(response => response.text())
38+
.then(data => document.getElementById("header-placeholder").innerHTML = data);
39+
fetch("components/footer.html")
40+
.then(response => response.text())
41+
.then(data => document.getElementById("footer-placeholder").innerHTML = data);
42+
});
43+
</script>
3444
</body>
3545

3646
</html>

projects.html

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="UTF-8" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>Projects - Robin's Site</title>
8+
<link rel="stylesheet" href="css/home.css" />
9+
<meta http-equiv="Content-Security-Policy" content="
10+
default-src 'self';
11+
script-src 'self' https://cdn.jsdelivr.net;
12+
connect-src 'self' https://cdn.jsdelivr.net;
13+
style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net;
14+
font-src 'self' https://cdn.jsdelivr.net;
15+
img-src data:;" charset="UTF-8">
16+
</head>
17+
18+
<body>
19+
<header id="header-placeholder"></header>
20+
<main>
21+
<article>
22+
<h1>Projects</h1>
23+
<p>Here are some projects I've worked on, including small experiments, coding exercises, and creations that
24+
I find meaningful or fun.</p>
25+
26+
<section id="projects-list">
27+
<!-- Dynamic project entries will be loaded here -->
28+
</section>
29+
30+
<a href="index.html" class="back-link">Back to Home</a>
31+
</article>
32+
</main>
33+
34+
<footer id="footer-placeholder"></footer>
35+
36+
<script src="js/theme.js"></script>
37+
<script>
38+
document.addEventListener("DOMContentLoaded", () => {
39+
fetch("components/header.html")
40+
.then(response => response.text())
41+
.then(data => document.getElementById("header-placeholder").innerHTML = data);
42+
fetch("components/footer.html")
43+
.then(response => response.text())
44+
.then(data => document.getElementById("footer-placeholder").innerHTML = data);
45+
46+
// Load projects dynamically
47+
fetch("projects/metadata.json")
48+
.then(res => res.json())
49+
.then(projects => {
50+
const container = document.getElementById("projects-list");
51+
projects.forEach(project => {
52+
const entry = document.createElement("div");
53+
entry.className = "post-entry";
54+
55+
const title = document.createElement("a");
56+
title.href = project.link;
57+
title.target = "_blank";
58+
title.textContent = project.title;
59+
title.className = "post-title";
60+
61+
const meta = document.createElement("div");
62+
meta.className = "post-meta-inline";
63+
meta.textContent = project.tech || "";
64+
65+
entry.appendChild(title);
66+
entry.appendChild(meta);
67+
68+
container.appendChild(entry);
69+
});
70+
})
71+
.catch(error => {
72+
console.error("Error loading projects:", error);
73+
});
74+
});
75+
</script>
76+
</body>
77+
78+
</html>

projects/metadata.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[
2+
{
3+
"title": "Personal Blog Site",
4+
"link": "https://github.com/localhost433/localhost433.github.io",
5+
"tech": "HTML, CSS, JavaScript"
6+
},
7+
{
8+
"title": "Semantic Search Engine",
9+
"link": "https://github.com/localhost433/FAISS",
10+
"tech": "Python, FAISS, Sentence Transformers"
11+
},
12+
{
13+
"title": "Prime Factorization Game",
14+
"link": "https://github.com/localhost433/prime-factorization-game",
15+
"tech": "HTML, CSS, JavaScript"
16+
}
17+
]

0 commit comments

Comments
 (0)