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
.