'# Pavan M G Portfolio
Modern portfolio website for Pavan M G, based on original content.
- Responsive, mobile-first design
- Dark/light theme toggle persisted in
localStorage - Smooth scrolling with scrollspy active navigation
- Section reveal animations
- Hero / About / Experience / Projects / Education / Skills / Awards / Contact
- CV download and social links
- Node.js (for
npxand local server) or Python 3
cd c:\Users\pavan\Documents\GitHub\pavan-mg.github.io
npx browser-sync start --server --files "**/*" --no-openOpen http://localhost:3000 in your browser.
- Copy
.env.exampleto.env. - Set
GITHUB_TOKEN,GITHUB_OWNER,GITHUB_REPO, andENCRYPTION_SECRET. - Install dependencies:
cd c:\Users\pavan\Documents\GitHub\pavan-mg.github.io
npm install- Start the backend:
npm start- Open
http://localhost:3000.
This backend supports contact form submissions, encrypts them as an Excel file, and saves the encrypted file to the configured GitHub repository.
cd c:\Users\pavan\Documents\GitHub\pavan-mg.github.io
python -m http.server 8000Open http://localhost:8000.
- Update
index.htmlwith your text and project details. - Update
css/main.cssfor custom branding and colors. - Images in
assets/can be replaced with your own.
This is a static site. No build step is required.
This setup uses GitHub Pages for hosting and Netlify Functions for serverless form submissions.
- Push code to GitHub:
git add .
git commit -m "Initial commit"
git push origin main-
Connect to Netlify:
- Go to https://app.netlify.com
- Click "Add new site" → "Import an existing project"
- Select your GitHub repo (
pavan-mg.github.io) - Netlify auto-detects the configuration from
netlify.toml - Click "Deploy"
-
Set environment variables in Netlify:
- Go to Site Settings → Build & Deploy → Environment
- Add:
GITHUB_TOKEN: Your GitHub personal access token (withreposcope)GITHUB_OWNER: Your GitHub usernameGITHUB_REPO: Your repoGITHUB_BRANCH: Your BranchENCRYPTION_SECRET: A strong random string
-
Redeploy:
- Go to Deploys → Trigger Deploy
- Select "Deploy site"
Your portfolio is now live with form submissions synced to GitHub!
If you only want static hosting without form submissions:
- In repository settings, enable
gh-pagesfrommainbranch. - Your site will be available at
https://pavan-mg.github.io
Use this for local testing only:
- Copy
.env.exampleto.env. - Set
GITHUB_TOKEN,GITHUB_OWNER,GITHUB_REPO, andENCRYPTION_SECRET. - Install dependencies:
npm install- Start the backend:
npm start- Open
http://localhost:3000.
index.html- UI and page structurecss/main.css- visual styles and responsive layoutjs/loader.js- page loader controlsserver.js- Local Express backend (optional)netlify/functions/submit.js- Netlify serverless functionnetlify.toml- Netlify configuration
js/display_content.jsis legacy and no longer required.- Keep the
assetsfolder for the profile image and favicon.
Enjoy my refreshed portfolio! '