libraries.js
1 document.addEventListener('DOMContentLoaded', function() { 2 async function getLatestReleases() { 3 let response = await fetch('https://api.github.com/repos/adafruit/Adafruit_CircuitPython_Bundle/releases/latest'); 4 let data = await response.json(); 5 return data; 6 } 7 8 function buildReleaseLinks(data) { 9 let releaseList = document.querySelector('.release-list'); 10 11 data.assets.forEach(function(asset) { 12 let name = asset.name; 13 14 if (name.slice(-6) === 'ignore') { 15 // any .ignore files in the assets list 16 return; 17 } 18 19 let versionId = name.replace(/(-[\d]+.zip$)/, ''); 20 let versionElement = document.getElementById(versionId); 21 22 if (!versionElement) { 23 // likely an older version we don't want to link to, such as 2.x 24 return; 25 } 26 27 let iconElement = document.createElement('i'); 28 iconElement.className = "fas fa-download"; 29 30 let linkElement = document.createElement('a'); 31 linkElement.title = "Library Bundle Download"; 32 linkElement.href = asset.browser_download_url; 33 linkElement.className = "purple-button-link"; 34 let linkText = document.createTextNode(asset.name); 35 linkElement.appendChild(linkText); 36 linkElement.appendChild(iconElement); 37 versionElement.appendChild(linkElement); 38 }); 39 } 40 41 getLatestReleases().then(buildReleaseLinks); 42 });