Repository navigation
Expand file tree
/
Copy pathscript.js
More file actions
99 lines (87 loc) · 3.46 KB
/
Copy pathscript.js
File metadata and controls
99 lines (87 loc) · 3.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
document.addEventListener('DOMContentLoaded', () => {
loadResume();
loadProjects();
});
async function loadResume() {
try {
const response = await fetch('resume.json');
const data = await response.json();
// Header
const contactDiv = document.getElementById('contact-info');
contactDiv.innerHTML = `
<span>${data.contact.location}</span>
<span><a href="tel:${data.contact.phone}">${data.contact.phone}</a></span>
<span><a href="mailto:${data.contact.email}">${data.contact.email}</a></span>
<span><a href="https://${data.contact.linkedin}">${data.contact.linkedin}</a></span>
`;
// Education
const eduList = document.getElementById('education-list');
data.education.forEach(edu => {
const div = document.createElement('div');
div.className = 'item';
div.innerHTML = `
<div class="item-header">
<span>${edu.institution}</span>
<span>${edu.year}</span>
</div>
<div class="item-sub">${edu.qualification}</div>
<div>${edu.details}</div>
`;
eduList.appendChild(div);
});
// Experience
const expList = document.getElementById('experience-list');
data.experience.forEach(exp => {
const div = document.createElement('div');
div.className = 'item';
div.innerHTML = `
<div class="item-header">
<span>${exp.company}</span>
<span>${exp.year}</span>
</div>
<div class="item-sub">${exp.role}, ${exp.location}</div>
<div>${exp.details}</div>
`;
expList.appendChild(div);
});
// Achievements
const achList = document.getElementById('achievement-list');
data.achievements.forEach(ach => {
const li = document.createElement('li');
li.innerText = ach;
achList.appendChild(li);
});
} catch (error) {
console.error('Error loading resume:', error);
}
}
async function loadProjects() {
try {
const response = await fetch('projectdata.json');
const projects = await response.json();
const projectList = document.getElementById('project-list');
projects.forEach(project => {
const div = document.createElement('div');
div.className = 'project-card';
let titleHtml = `<div class="project-title">${project.name}</div>`;
if (project.html_url) {
titleHtml = `<div class="project-title"><a href="${project.html_url}" target="_blank">${project.name}</a></div>`;
}
let bulletsHtml = '';
if (project.bulletPoints && project.bulletPoints.length > 0) {
bulletsHtml = '<ul class="project-bullets">';
project.bulletPoints.forEach(bp => bulletsHtml += `<li>${bp}</li>`);
bulletsHtml += '</ul>';
}
div.innerHTML = `
${titleHtml}
<div class="project-tech">${project.techStack || project.language}</div>
<div>${project.description}</div>
${bulletsHtml}
`;
projectList.appendChild(div);
});
} catch (error) {
console.error('Error loading projects:', error);
}
}