Skip to content

Repository files navigation

'# Pavan M G Portfolio

Modern portfolio website for Pavan M G, based on original content.

Features

  • 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

Local development

Required tools

  • Node.js (for npx and local server) or Python 3

Run with BrowserSync (recommended)

cd c:\Users\pavan\Documents\GitHub\pavan-mg.github.io
npx browser-sync start --server --files "**/*" --no-open

Open http://localhost:3000 in your browser.

Run with the local backend

  1. Copy .env.example to .env.
  2. Set GITHUB_TOKEN, GITHUB_OWNER, GITHUB_REPO, and ENCRYPTION_SECRET.
  3. Install dependencies:
cd c:\Users\pavan\Documents\GitHub\pavan-mg.github.io
npm install
  1. Start the backend:
npm start
  1. 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.

Run with Python

cd c:\Users\pavan\Documents\GitHub\pavan-mg.github.io
python -m http.server 8000

Open http://localhost:8000.

Use

  • Update index.html with your text and project details.
  • Update css/main.css for custom branding and colors.
  • Images in assets/ can be replaced with your own.

Build

This is a static site. No build step is required.

Deploy

Option 1: GitHub Pages + Netlify Functions (Recommended)

This setup uses GitHub Pages for hosting and Netlify Functions for serverless form submissions.

  1. Push code to GitHub:
git add .
git commit -m "Initial commit"
git push origin main
  1. 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"
  2. Set environment variables in Netlify:

    • Go to Site Settings → Build & Deploy → Environment
    • Add:
      • GITHUB_TOKEN: Your GitHub personal access token (with repo scope)
      • GITHUB_OWNER: Your GitHub username
      • GITHUB_REPO: Your repo
      • GITHUB_BRANCH: Your Branch
      • ENCRYPTION_SECRET: A strong random string
  3. Redeploy:

    • Go to Deploys → Trigger Deploy
    • Select "Deploy site"

Your portfolio is now live with form submissions synced to GitHub!

Option 2: Traditional GitHub Pages (Static only)

If you only want static hosting without form submissions:

  1. In repository settings, enable gh-pages from main branch.
  2. Your site will be available at https://pavan-mg.github.io

Option 3: Local Backend (Development)

Use this for local testing only:

  1. Copy .env.example to .env.
  2. Set GITHUB_TOKEN, GITHUB_OWNER, GITHUB_REPO, and ENCRYPTION_SECRET.
  3. Install dependencies:
npm install
  1. Start the backend:
npm start
  1. Open http://localhost:3000.

Files

  • index.html - UI and page structure
  • css/main.css - visual styles and responsive layout
  • js/loader.js - page loader controls
  • server.js - Local Express backend (optional)
  • netlify/functions/submit.js - Netlify serverless function
  • netlify.toml - Netlify configuration

Notes

  • js/display_content.js is legacy and no longer required.
  • Keep the assets folder for the profile image and favicon.

Enjoy my refreshed portfolio! '

About

My Profile

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages