Personal portfolio and blog site. Dark theme, single-page layout, blog with comments (Giscus). Built with Eleventy and deployed to GitHub Pages.
npm install
npm run serveOpen http://localhost:8080 (or the port shown). Use npm run build to only build, no server.
Push to the main branch. GitHub Actions builds the site and deploys it to GitHub Pages.
In the repo Settings → Pages, set the source to GitHub Actions. The site will be at https://<username>.github.io/ for a user site (repo named <username>.github.io) or https://<username>.github.io/<repo-name>/ for a project site.
- Home: Hero, projects, skills, about, experience, certifications, contact (Resume + LinkedIn + GitHub only).
- Blog: Posts in
blog/posts/(Markdown). Comments via Giscus (GitHub Discussions). - Content: Edit
_data/site.jsonfor name, title, links;_data/projects.json,_data/experience.json, etc. for sections. Put profile photo atimages/hero-profile.png, favicons inimages/asfavicon.ico,favicon-32x32.png,apple-touch-icon.png. Optional: add a no-PII resume asresume.pdfin the repo root.
Details for Giscus setup are in docs/GISCUS_SETUP.md.
- Do not commit your phone number, personal email, or physical address. Use a resume PDF without PII if you host it in the repo.
- Do not commit
.envfiles, API keys, or secrets. The workflow uses no secrets; it only builds and deploys from the repo. - Only you (and collaborators you add) can change the repo and the deployed site. Restrict write access in Settings → Collaborators if needed.