Personal website for Liam (GhostYT7582) to showcase projects, share links, and document changes. Hosted on Vercel via automatic deploys from the main branch on GitHub.
- Pure HTML + CSS — no frameworks, no build tools, no package manager
style.cssis the single shared stylesheet for all pages- No JavaScript (keep it that way unless there's a specific reason to add it)
index.html — Home / landing page (avatar + taglines)
about.html — About me
projects.html — Projects showcase
socials.html — Contact / socials links
changes.html — Changelog
style.css — Global styles (shared by all pages)
- Every page must include
<meta charset="UTF-8" />and<meta name="viewport" content="width=device-width, initial-scale=1.0" />in<head> - Every page must include
<meta name="description">,og:title,og:description,og:image,og:url, andog:typemeta tags for SEO and link previews - Every page must include the ghost emoji favicon:
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>👻</text></svg>" /> - Every page must include the same
<nav class="navbar">block with links to all five pages; the current page's link getsclass="active" - Every page links to
style.cssvia<link rel="stylesheet" href="style.css" /> - Every
<html>tag must havelang="en" - Use
<main class="hero">as the page content wrapper - Page titles follow the pattern
Page Name | Ghost's World(or justGhost's Worldfor the home page) - The shared
og:imageishttps://cdn.hackclub.com/019e3238-f004-7153-a1fb-14d8ffd1ec8d/me1-1.png(the avatar)
- Dark theme: background
#0f0f0f, primary text#f5f5f5 - Navbar background:
#111 - Accent/hover color:
#4da3ff(nav links on hover) - Link color:
#f43535 - Font: Arial, sans-serif
- Keep the aesthetic minimal and dark
The site is mobile-first responsive. Key rules in style.css:
.herohasmax-width: 720px,margin: auto, andpadding: 0 20pxto center content and prevent edge bleed on all screen sizesh1usesclamp(26px, 6vw, 48px)— scales fluidly between mobile and desktoppusesclamp(15px, 2.5vw, 20px)and has amax-width: 600pxfor readability.navbarusesflex-wrap: wrapso links wrap gracefully on narrow screens.hero .avatarusesclamp(120px, 30vw, 200px)so it scales down on mobile- A
@media (max-width: 480px)breakpoint tightens navbar padding and reduces top margin
When adding new styles, follow the existing responsive patterns — use clamp() for font/size values and avoid fixed pixel sizes that would break on small screens.
Push to main on GitHub — Vercel auto-deploys. No build step required since this is static HTML/CSS.
Add an <a> tag wrapping a <p> for the project name, followed by a description <p>:
<a href="PROJECT_URL" target="_blank" rel="noopener noreferrer">
<p>Project Name</p>
</a>
<p>Short description of the project.</p>Add a new entry at the top of the <main class="hero"> section with the current date and bullet points for what changed.