-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
39 lines (34 loc) · 1.37 KB
/
script.js
File metadata and controls
39 lines (34 loc) · 1.37 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
document.addEventListener('DOMContentLoaded', () => {
// 1. Render Projects
const container = document.getElementById('projects-container');
if (typeof projects !== 'undefined' && Array.isArray(projects)) {
projects.filter(p => p.visible).forEach(project => {
const card = document.createElement('a');
card.href = project.link;
card.className = 'card';
// Open external links in new tab, internal in same
if (project.link.startsWith('http')) {
card.target = '_blank';
card.rel = 'noopener noreferrer';
}
const tagsHtml = project.tags.map(tag => `<span class="tag">${tag}</span>`).join('');
card.innerHTML = `
<div class="card-content">
<h2>${project.title}</h2>
<p>${project.description}</p>
</div>
<div class="tags">
${tagsHtml}
</div>
`;
container.appendChild(card);
});
} else {
container.innerHTML = '<p style="color: grey; text-align: center; grid-column: 1/-1;">No projects found. Check projects.js</p>';
}
// 2. Set Year
const yearSpan = document.getElementById('year');
if (yearSpan) {
yearSpan.textContent = new Date().getFullYear();
}
});