Coding
PromptBeginner5 minmarkdown
Markdown Converter
Agent skill for markdown-converter
40
This is Keith Lim's personal portfolio website - a single-page application built with React + Vite, deployed to GitHub Pages at `keithfykai.github.io/keithfykai/`. The project showcases a Computer Science student's work, experience, and projects.
Sign in to like and favorite skills
This is Keith Lim's personal portfolio website - a single-page application built with React + Vite, deployed to GitHub Pages at
keithfykai.github.io/keithfykai/. The project showcases a Computer Science student's work, experience, and projects.
@import "tailwindcss" in CSS files)portfolio/ ├── src/ │ ├── Components/ # Page components (Hero, Navbar, Projects, etc.) │ ├── assets/ # Images and static assets │ ├── App.jsx # Main router setup │ ├── main.jsx # React entry point │ └── index.css # Tailwind import ├── vite.config.js # Base URL: '/keithfykai/' └── eslint.config.js # Flat config format
/keithfykai/ (set in vite.config.js)npm run deploy (builds and pushes to gh-pages branch)App.jsx must start with /keithfykai/ (e.g., <Route path="/keithfykai/" element={<Hero />} />)export function ComponentName())<Link to="/path"> instead of <a href>, imported from react-router-dommd:, lg:, sm:)className="mx-auto max-w-2xl text-center")@import "tailwindcss" in CSS files (not @tailwind directives)md:hidden), desktop nav (hidden md:flex)varsIgnorePattern: '^[A-Z_]'cd portfolio npm run dev # Start dev server npm run build # Build for production npm run preview # Preview production build npm run deploy # Build and deploy to GitHub Pages npm run lint # Run ESLint
src/Components/NewPage.jsx using named exportApp.jsx: <Route path="/newpage" element={<NewPage />} />Navbar.jsx with <Link to="/newpage">onClick={closeMenu}src/assets/import photo from '../assets/photo.jpg'<img src={photo} alt="description" />/keithfykai/ (not just /)/aboutme, /projects, /contactme (relative to base)<Route path="*"> catches undefined routesuseState hooksNavbar.jsx uses isMobileMenuOpen stateProjects.jsx component<a> tags; internal navigation uses <Link><a href> for internal navigation - breaks SPA routing, use <Link to>/keithfykai/ base@import "tailwindcss", not @tailwind base/components/utilitiesonClick={closeMenu} in mobile view@vitejs/plugin-react (Babel-based Fast Refresh)@tailwindcss/vite v4.x (newer integration)