尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A modern, responsive portfolio website built with React 19, Vite, and Tailwind CSS v4. Showcases machine learning engineering work, educational technology projects, and design-driven development.
Live: Deployed on Vercel
clamp()@tailwindcss/vite pluginsrc/
├── App.tsx # Root component, scroll-snap engine, utilities
├── main.tsx # React entry point
├── index.css # Global styles, Tailwind import, animations
├── vite-env.d.ts # Vite environment types
│
├── components/ # Section and UI components
│ ├── Hero.tsx # Hero section with headline and CTA buttons
│ ├── Mission.tsx # About section with tabbed interface
│ ├── Projects.tsx # Portfolio grid with expandable cards
│ ├── Skills.tsx # Skill marquee with animated tracks
│ ├── Contact.tsx # Contact section with social links and actions
│ ├── Nav.tsx # Navigation with Three.js logo
│ ├── Eyebrow.tsx # Section subtitle component
│ └── SectionHeading.tsx # Reusable section heading
│
└── hooks/ # Custom React hooks
└── useBreakpoint.ts # Responsive breakpoint logic
Config files:
├── vite.config.ts # Vite configuration with React plugin
├── tsconfig.json # TypeScript configuration
├── package.json # Dependencies and scripts
└── .mise.toml # Toolchain versions (Node.js, pnpm)
The useBreakpoint hook provides mobile-first responsive flags:
window.innerWidth ≤ 480px (phone portrait)window.innerWidth ≤ 768px (phone landscape / small tablet)window.innerWidth ≤ 1024px (tablet)All sections use consistent, fluid padding:
72px 20px 100px (top/bottom/sides)90px 28px 100px100px 64px 64pxTypography scales with clamp() for fluid responsiveness:
fontSize: clamp(34px, 10vw, 52px) scales from 34px to 52px as viewport grows# Clone the repository
git clone https://github.com/Juiec/Juice.github.io.git
cd Juice.github.io
# Install dependencies
pnpm install
# Start development server (runs on 0.0.0.0:8443)
pnpm dev
# Build for production
pnpm build
# Preview production build
pnpm preview
# Format code
pnpm format
Create a .env.local file for social and contact links:
VITE_GITHUB_HANDLE=@username
VITE_GITHUB_URL=https://github.com/username
VITE_LINKEDIN_HANDLE=@username
VITE_LINKEDIN_URL=https://linkedin.com/in/username
[email protected]
VITE_WHATSAPP_NUMBER=+1234567890
VITE_WHATSAPP_URL=https://wa.me/1234567890
VITE_RESUME_PATH=/resume.pdf
The project uses Tailwind CSS v4 with the @tailwindcss/vite plugin:
src/index.css imports Tailwind: @import 'tailwindcss';tailwind.config.js or PostCSS config neededsrc/index.cssKey CSS classes defined in src/index.css:
.font-display, .font-body — Font family helpers.eyebrow — Small uppercase labels (13px).section-heading — Fluid section titles (28px–52px).btn-primary, .btn-outline — Button styles with hover effects.card — Card component with shadow and hover elevation.marquee-left, .marquee-right, etc. — Skill scroll animationsVite's HMR is enabled on 0.0.0.0:8443. Changes to source files are instantly reflected in the browser.
# Development build (faster, includes source maps)
pnpm dev
# Production build (optimized, minified)
pnpm build
# Output: dist/ folder ready for deployment
Bundle size: ~733 KB (minified), ~197 KB (gzip)
package.json)max-height animationtransform/opacity for GPU accelerationThis project is deployed on Vercel with automatic builds from main branch.
# Deploy (automatic on git push to main)
pnpm build
# Output in dist/ is deployed to production
Ensure .env.local variables are set in Vercel project settings → Environment Variables.
This portfolio is open source under the MIT License. Feel free to use this as a template for your own portfolio, but please credit the original design and remove personal content.
Found a bug or want to suggest a feature? Open an issue or PR!
Built with ❤️ as a showcase of AI + Education engineering work.