/ assets / javascript / libraries.js
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  });