An open-source portfolio template built using Nuxt 3, Pinia and Contentful.
One-click deploy:
Demo: https://rajkshrestha1.com.np
Features
- 🥰 Minimal and light
- 🌗 Light/dark/system color modes
- 📱 Responsive
- 📈 Google Analytics
- ⚡ Auto-generated sitemap (visit /sitemap.xml)
- 🚀 one click deployment to Vercel
-
Create a Contentful account.
-
Once your account is created, Contentful should have a space pre-installed/created. If not, create a space from the sidebar.
-
Click on "Create model" at the top bar and create a new content type titled "Projects".
-
Add fields to the content model with the following fields and types and save the model.
-
Now, go to the Content tab and start adding content to the content model you just created.
-
Once everything's set up, create an access token to let your app communicate with Contentful. You can then copy your space id and access token and paste them in your .env
- Get your Google Analytics ID (optional)
- Now, you can click the deploy button to deploy the site to Vercel. Since Nuxt 3 has updated the deployment a little bit, you might want to set the output directory as follows (see #9) and rebuild.
- If you want to manually deploy the site to Vercel, just make sure to include your environmental variables and modify the build and development commands as follows.
create a .env
file with the following variables
BASE_URL=(YOUR_SITE_URL w/o trailing slash)
CTF_SPACE_ID=(contentful space id)
DOMAIN=(YOUR_SITE_URL w/o trailing slash)
CTF_ACCESS_TOKEN=(contentful delivery access token)
GOOGLE_ANALYTICS_ID=
Make sure to install the dependencies:
# yarn
yarn install
# npm
npm install
# pnpm
pnpm install --shamefully-hoist