portfolio
portfolio copied to clipboard
Portfolio page with Jiří Hofman's hobby projects. Can be used as a template for other GitHub users. Learning Tailwind CSS along the way. Using Next.js with App router.
🔗 portfolio-jirihofman.vercel.app
My personal portfolio website, built with Next.js, Tailwind CSS and deployed to Vercel. Based on chronark's site. Some ideas borrowed from leerob/leerob.io.
It is supposed to be used as a template for other GitHub users' portfolios. Data about user and projects are gathered via GitHub and Vercel API.
Tech stack
- Framework: Next.js
- Deployment: Vercel
- Styling: Tailwind CSS, Primer
Running Locally
git clone https://github.com/jirihofman/portfolio.git
cd portfolio
Create a .env file similar to .env.example.
mv .env.example .env.local
Add GitHub token into the new file.
GH_TOKEN=YOUR_GH_TOKEN
# If you have Vercel projects, create a token here https://vercel.com/account/tokens to get more info.
VC_TOKEN=YOUR_VERCEL_TOKEN
Then install dependencies and run the development server:
# Install dependencies.
npm install
# Replace jirihofman's personal info with octocat's.
npm run setup
# Start hacking.
npm dev
Edit data.json to put your personal information there.
Cloning / Forking
Please remove all of my personal information in data.json before deploying your own version of this site by running npm run setup. Once you are happy with your data.json, set
# .env or .env.local
IS_TEMPLATE=false
in your ENVs to prevent npm build from reverting data.json back to Octocat's data.
To check before deploying
- [ ]
data.json: githubUsername, description, heroNames. Handled bysetup.mjs. - [ ]
README.md: link at the top - [ ]
app/layout.jsx: metadata - title, description, favicon. Handled bysetup.mjs. - [ ]
public/favicon.ico. Handled bysetup.mjs.