-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
45 lines (42 loc) · 1.78 KB
/
script.js
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
document.addEventListener('DOMContentLoaded', () => {
fetch('portfolio.json')
.then(response => response.json())
.then(data => {
const container = document.getElementById('portfolio-container');
data.projects.forEach((project, index) => {
const projectElement = document.createElement('div');
projectElement.classList.add('projectItem');
projectElement.setAttribute('data-aos', 'fade-up');
projectElement.innerHTML = `
<div>
<h2>${project.title}</h2>
<p class="darkerText">${new Date(project.date).toDateString()}</p>
<p id="project-description-${index}"></p>
</div>
<div>
<a href="${project.link}" target="_blank">
<img src="${project.image}" alt="${project.title}">
</a>
</div>
`;
container.appendChild(projectElement);
// Initialize Typed.js for each project description
new Typed(`#project-description-${index}`, {
strings: [project.description],
typeSpeed: 17,
showCursor: false
});
});
})
.catch(error => {
console.error('Error loading portfolio items:', error);
});
fetch('https://api.github.com/users/ZombiesmasherJT')
.then(response => response.json())
.then(data => {
document.getElementById('githubFollowers').textContent = data.followers;
document.getElementById('githubRepos').textContent = data.public_repos;
})
.catch(error => console.log('Error fetching GitHub data:', error));
AOS.init();
});