Skip to content

Latest commit

 

History

323 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sourav's Portfolio

Source for souravas.com. Vanilla HTML / CSS / JS built with Vite — no framework. GitHub Actions builds and deploys to GitHub Pages on every push to main.

Getting Started

npm install
npm run dev       # dev server on http://localhost:5173
npm run build     # production build → dist/
npm run preview   # preview the production build

Deployment

Pushes to main are built and deployed automatically via .github/workflows/deploy.yml using actions/deploy-pages. Pull requests run the build only. To trigger a deploy manually, use Run workflow on the Actions tab. .github/workflows/rebuild.yml redeploys on the 1st of each month, so the values filled in at build time (years of experience, the security.txt expiry) stay current without a push.

URLs

  • Local dev: http://localhost:5173
  • Production: https://souravas.com
  • Page versions: / serves v1 by default; /v1, /v2, /v3, and /v4 open each design explicitly, and each names / as its canonical
  • Start page: /start — personal bookmarks dashboard (noindex); serves start v2 by default, /start/v1 and /start/v2 open each design
  • Resume redirects: /cv, /resume → /assets/resume.pdf
  • Sitemap: /sitemap.xml, generated at build time
  • Security contact: /.well-known/security.txt, generated at build time

Project Structure

souravas.github.io/
├── v1/                     # "Editorial" design, the default (also served at /)
│   ├── index.html
│   ├── main.js
│   └── style.css
├── v2/                     # "Systems Ledger" design, served at /v2
│   ├── index.html
│   ├── main.js
│   ├── style.css
│   └── fonts/
├── v3/                     # "Control Room" design, served at /v3
│   ├── index.html
│   ├── main.js
│   ├── style.css
│   └── fonts/
├── v4/                     # "Plain" design, served at /v4
│   ├── index.html
│   ├── main.js
│   ├── style.css           # includes a print stylesheet that prints the page as a CV
│   └── fonts/
├── start/                  # personal start page
│   ├── v1/                 # Homepage rebuild, served at /start/v1
│   │   ├── index.html      # bookmarks + inline SVG icon sprite
│   │   ├── main.js         # type-anywhere quick launch
│   │   ├── style.css
│   │   ├── serenity.webp   # pre-blurred backdrop
│   │   └── fonts/
│   └── v2/                 # pure-black design (default, also served at /start)
│       ├── index.html
│       ├── main.js
│       └── style.css
├── public/                 # copied verbatim into the build
│   ├── CNAME               # custom domain
│   ├── 404.html            # static 404 served by GitHub Pages
│   ├── favicon.svg         # shared icon; favicon.ico and favicon-*.png are renders of it
│   ├── icon-maskable.svg   # full-bleed icon; apple-touch-icon.png is rendered from it
│   ├── icon-192x192.png, icon-512x512.png  # manifest icons
│   ├── manifest.webmanifest
│   ├── robots.txt
│   ├── cv.html, resume.html  # meta-refresh → /assets/resume.pdf
│   ├── start-sw.js         # /start service worker (offline, instant open)
│   ├── fonts/              # shared by v1, start v2, and 404.html
│   └── assets/             # images, social cards (og-cover, og-cover-v4), resume.pdf
├── vite.config.js          # multi-page build, default-page copies, CSS inlining,
│                           # CSP hashing, HTML minify, build-time values
│                           # (years, sitemap, security.txt), dev routes
└── .github/
    ├── dependabot.yml      # weekly npm and Actions updates
    └── workflows/
        ├── deploy.yml      # build, and deploy on push to main
        └── rebuild.yml     # monthly redeploy for the build-time values

The icons are shared by every page and linked with a ?v= query. When they change, bump it on every page, 404.html included, or browsers keep showing the cached ones.

Links

About

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages