Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 1 addition & 34 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
<li><a href="#home">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#skills">Skills</a></li>
<li><a href="#projects">Projects</a></li>
<li><a href="blog.html">Blog</a></li>
<li><a href="#experience">Experience</a></li>
<li><a href="links.html">Personal</a></li>
Expand Down Expand Up @@ -89,7 +88,7 @@ <h1 class="hero-title">
4+ years in security — from internship to enterprise. I build systems that detect, respond, and automate, write the scripts, tune the alerts, and ship the tools.
</p>
<div class="hero-cta">
<a href="#projects" class="btn btn-primary">↓ View My Work</a>
<a href="#experience" class="btn btn-primary">↓ View My Work</a>
<a href="#contact" class="btn btn-outline">Get In Touch</a>
</div>
<div class="hero-stats">
Expand Down Expand Up @@ -283,38 +282,6 @@ <h2 id="skills-heading" class="section-title reveal">What I Work With</h2>
</div>
</section>

<!-- ========== PROJECTS ========== -->
<section id="projects" aria-labelledby="projects-heading">
<div class="container">
<p class="section-label reveal">Things I've Built</p>
<h2 id="projects-heading" class="section-title reveal">Projects</h2>
<p class="section-subtitle reveal">Side projects that solve real problems.</p>
<div class="projects-grid">

<div class="project-card reveal">
<div class="project-header">
<div class="project-icon">📬</div>
<a href="https://github.com/pranayesse/xyz" target="_blank" rel="noopener" class="project-link">View on GitHub →</a>
</div>
<h3 class="project-title">DATA EXPUNGED</h3>
<p class="project-desc">Png,DATA EXPUNGED </p>
<div class="project-tags">
<span class="tag">Python</span><span class="tag">Gmail API</span><span class="tag">Airtable</span><span class="tag">Automation</span><span class="tag">macOS launchd</span>
</div>
</div>

</div>

<div class="gh-live" id="gh-live" hidden>
<div class="gh-live-header">
<span class="gh-live-title"><span class="gh-live-dot"></span> Live from GitHub</span>
<a href="https://github.com/pranayesse" target="_blank" rel="noopener" class="project-link">@pranayesse →</a>
</div>
<div class="gh-repos" id="gh-repos"></div>
</div>
</div>
</section>

<!-- ========== CTF & LEARNING ========== -->
<section id="ctf" aria-labelledby="ctf-heading">
<div class="container">
Expand Down
50 changes: 0 additions & 50 deletions js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -500,56 +500,6 @@ window.addEventListener('DOMContentLoaded', () => {
return Math.floor(days / 365) + 'y ago';
}

/* ---------- Live GitHub Activity ---------- */
const ghLive = document.getElementById('gh-live');
const ghRepos = document.getElementById('gh-repos');
if (ghLive && ghRepos) {
cachedJSON('pm-gh-repos', 'https://api.github.com/users/pranayesse/repos?sort=pushed&per_page=12')
.then(repos => {
const top = repos.filter(r => !r.fork).slice(0, 4);
if (!top.length) return;
top.forEach(r => {
const a = document.createElement('a');
a.className = 'gh-repo';
a.href = r.html_url;
a.target = '_blank';
a.rel = 'noopener';

const name = document.createElement('div');
name.className = 'gh-repo-name';
name.textContent = r.name;

const desc = document.createElement('div');
desc.className = 'gh-repo-desc';
desc.textContent = r.description || 'No description — code speaks for itself.';

const meta = document.createElement('div');
meta.className = 'gh-repo-meta';
if (r.language) {
const lang = document.createElement('span');
const dot = document.createElement('span');
dot.className = 'lang-dot';
lang.appendChild(dot);
lang.appendChild(document.createTextNode(r.language));
meta.appendChild(lang);
}
if (r.stargazers_count > 0) {
const stars = document.createElement('span');
stars.textContent = '★ ' + r.stargazers_count;
meta.appendChild(stars);
}
const pushed = document.createElement('span');
pushed.textContent = 'pushed ' + relTime(r.pushed_at);
meta.appendChild(pushed);

a.append(name, desc, meta);
ghRepos.appendChild(a);
});
ghLive.hidden = false;
})
.catch(() => { /* API unreachable or rate-limited — keep section hidden */ });
}

/* ---------- Last Updated Badge ---------- */
const lastUpdated = document.getElementById('last-updated');
if (lastUpdated) {
Expand Down