Add project highlights section and update project stats

- Introduced a new "Project Highlights" section in index.html with detailed stats for FEDL and OmniEmu 2.0.
- Implemented a grid layout for other projects with highlight cards.
- Enhanced project pages (decompilations, fedl, geode-mod, issue-tracker, moon-gaming, music-app, noto, nova, omniemu, rhythm-game) to display GitHub stats (stars, forks, issues, language).
- Updated styles in style.css for the new stats bar, including animations and responsive design adjustments.
- Changed the site logo from "miles.dev" to "milesallen.site" in the navigation.
This commit is contained in:
2026-07-25 16:32:15 -05:00
parent 345542936e
commit d73ac305eb
12 changed files with 667 additions and 12 deletions
+27
View File
@@ -48,6 +48,24 @@
<span class="meta-chip">Dart</span>
<span class="meta-chip">MIT License</span>
</div>
<div class="stats-bar">
<div class="stat-item">
<div class="stat-value accent" id="gh-stars">--</div>
<div class="stat-label">Stars</div>
</div>
<div class="stat-item">
<div class="stat-value green" id="gh-forks">--</div>
<div class="stat-label">Forks</div>
</div>
<div class="stat-item">
<div class="stat-value orange" id="gh-issues">--</div>
<div class="stat-label">Issues</div>
</div>
<div class="stat-item">
<div class="stat-value" id="gh-lang">--</div>
<div class="stat-label">Language</div>
</div>
</div>
</section>
<section class="reveal">
@@ -170,6 +188,15 @@
</footer>
</div>
<script>
fetch('https://api.github.com/repos/mileswolfallen2/Noto')
.then(r => r.json())
.then(d => {
if (d.stargazers_count != null) document.getElementById('gh-stars').textContent = d.stargazers_count;
if (d.forks_count != null) document.getElementById('gh-forks').textContent = d.forks_count;
if (d.open_issues_count != null) document.getElementById('gh-issues').textContent = d.open_issues_count;
if (d.language) document.getElementById('gh-lang').textContent = d.language;
})
.catch(() => {});
const observer = new IntersectionObserver((entries) => {
entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('visible'); });
}, { threshold: 0.1, rootMargin: '0px 0px -40px 0px' });