This guide walks you through cloning Y2K Webring, serving it locally, and making it your own. The repository ships as a pre-built static site — the compiled JS/CSS bundles and pre-rendered HTML files are already present, so you can open it in a browser immediately after cloning without running a build step.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/y2k-webring/llms.txt
Use this file to discover all available pages before exploring further.
The published repository contains compiled output only (no
package.json). If you want to modify component source files and rebuild, you will need to set up your own Vite + React project using the compiled files as a reference, then run the standard Vite build commands described at the end of this page.Prerequisites
Before you begin, make sure you have the following installed:- Git — to clone the repository.
- A static file server — any tool that can serve a folder of HTML/JS/CSS files locally (for example, the
servenpm package, Python’shttp.server, or VS Code’s Live Server extension).
Installation
Serve the static output
Open the pre-built site with any local static file server. For example, using the Or using Python’s built-in HTTP server:Then open http://localhost:5173 in your browser. Because the router uses hash-based URLs, all navigation works without any server configuration.
serve package:Personalize content
Edit
data/portfolioData.js to replace the sample data with your own projects, skills, writing, and contact links. This is the only file you need to change for a fully personalized portfolio. See Customize Data for the full schema.Deploy
Upload the repository contents (as-is, after editing
portfolioData.js) to any static file host. No build step is needed because the bundles are already compiled. See the Deploying section below for host-specific instructions.If You Are Building from Source
If you have a copy of the original Vite source project (withpackage.json present), the standard development workflow applies:
Start the development server
Launch the Vite dev server:Vite will print a local URL — open http://localhost:5173 in your browser to see the portfolio. The server supports hot module replacement (HMR), so changes to component and data files are reflected instantly without a full reload.
Build for production
When you are ready to publish, compile an optimized static bundle:Vite writes the output to the
dist/ directory. The build includes tree-shaken JS modules, the compiled main.css, and all pre-rendered HTML pages from pages/.Personalizing Your Portfolio
All portfolio content is centralized in a single file:data/portfolioData.js. You do not need to touch any component code to replace the placeholder content with your own — just edit this file.
The module exports six named objects:
| Export | Variable | Contents |
|---|---|---|
S | devInfo | Your name, tagline, bio, current status, stats, and social links |
P | projects | Array of project cards (name, stack, status, description, URLs) |
a | skills | Object of skill categories, each containing rated skill entries |
W | writingPosts | Array of blog/writing post entries with tags and full content |
C | caseStudies | Array of detailed case study objects |
G | guestbook | Array of guestbook entry objects |
Deploying
Y2K Webring uses hash-based routing (HashRouter). Every URL takes the form https://your-domain.com/#/projects, so the server always serves index.html regardless of the path — no server-side rewrite rules or _redirects files are needed. This makes it compatible with any static file host.
Because the repository ships as pre-compiled output, you can deploy the repository root directly — no build step is required. Upload the repo contents to your host of choice:
- GitHub Pages — push the repository to GitHub and configure Pages to serve from the repository root (or the
mainbranch). Theindex.htmlentry point and all pre-compiled assets will be served as-is. - Netlify — drag-and-drop the repository folder in the Netlify UI, or connect the repo and leave the build command blank with the publish directory set to
.(the root). - Vercel — import the repo and set the framework to “Other” (not Vite, since there is no
package.json). Set the output directory to.so Vercel serves the repo root directly.
For the full
portfolioData.js content schema — including all field types, optional properties, and the dataSource enum used on project cards — see Customize Data.