Merge pull request #1147 from tekktrik/dev/remove-stats

Remove stats page
This commit is contained in:
Melissa LeBlanc-Williams 2023-02-15 08:07:32 -08:00 committed by GitHub
commit d87e84b7d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 1 additions and 105 deletions

2
adabot

@ -1 +1 @@
Subproject commit a295390bb7c1a694cf64da74a5fe99d7dc51e334
Subproject commit 2415fa6b5c8e5bbb9a45d6ee4833d03a70bc25ae

View file

@ -18,7 +18,6 @@
@import 'pages/downloads';
@import 'pages/download';
@import 'pages/awesome';
@import 'pages/stats';
@import 'pages/libraries';
@import 'pages/contributing';
@import 'pages/espinstaller';

View file

@ -1,72 +0,0 @@
document.addEventListener('DOMContentLoaded', function() {
async function getBoardStats() {
let response = await fetch('https://api.github.com/repos/adafruit/circuitpython/releases');
let data = await response.json();
return data;
}
function buildBoardStats(data) {
let boards = [];
clearLoadingIndicator();
data.forEach(function(release) {
displayBoardHeader(release);
release.assets.forEach(function(asset) {
let board_name = asset.name.split('-')[2];
let index = boards.findIndex(board => board.name === board_name);
if (index === -1) {
boards.push({name: board_name, downloads: asset.download_count});
} else {
boards[index].downloads += asset.download_count;
}
});
boards.sort(function(a, b) {
return b.downloads - a.downloads;
});
displayBoardStats(boards);
});
}
function clearLoadingIndicator() {
let contentElement = document.querySelector('.stats-wrapper');
contentElement.innerHTML = "";
}
function displayBoardHeader(release) {
let contentElement = document.querySelector('.stats-wrapper');
let h2Element = document.createElement('h2');
let nameContent = document.createTextNode(`${release.tag_name} - ${release.name}`);
h2Element.appendChild(nameContent);
contentElement.appendChild(h2Element);
}
function displayBoardStats(boards) {
let contentElement = document.querySelector('.stats-wrapper');
let table = document.createElement('table');
//header row
let thead = table.createTHead();
let tr = thead.insertRow();
tr.insertCell().appendChild(document.createTextNode("Board"));
tr.insertCell().appendChild(document.createTextNode("Downloads"));
let tbody = table.createTBody();
boards.forEach(function(board) {
let tr = tbody.insertRow();
let name = document.createTextNode(board.name);
let downloads = document.createTextNode(board.downloads);
tr.insertCell().appendChild(name);
tr.insertCell().appendChild(downloads);
});
contentElement.appendChild(table);
}
getBoardStats().then(buildBoardStats);
});

View file

@ -1,15 +0,0 @@
#stats-page {
table {
border: 1px solid $gray-border;
border-collapse: collapse;
thead {
font-weight: bold;
}
td {
border: 1px solid $gray-border;
padding: 5px;
}
}
}

View file

@ -1,16 +0,0 @@
---
layout: home
title: Stats
permalink: /stats
---
<div id="stats-page" class="common-layout">
<div class="content">
<h1>CircuitPython Download Stats</h1>
<div class="stats-wrapper">
Loading Stats...
</div>
</div>
</div>
<script src="/assets/javascript/stats.js"></script>