function titleCase(word) { return word.charAt(0).toUpperCase() + word.substr(1).toLowerCase(); } // SpaceAPI related calls and data $(document).ready(function () { $.getJSON("https://api.leighhack.org/space.json", function (data) { // Hackspace status if ($('span#hackspace-status').length) { if (data.state.open) { message = 'Open' if ('message' in data.state) { message = message + ': ' + data.state.message; } $('span#hackspace-status').html(message); $('div#hackspace-open').addClass('is-success'); } else { $('span#hackspace-status').html('Closed'); } } // 'printers' shortcode if ($('div#printer-status').length) { if (data.sensors.ext_3d_printers.length) { // sort the printers const printers = Array.from(data.sensors.ext_3d_printers).sort((a, b) => a['name'].localeCompare(b['name'])); printers.forEach(function (val, indx) { var obj = $($("template#printer-block").html()); obj.find('#printer-name').html(val['name']); obj.find('#printer-status').html(titleCase(val['state'])); $('div#printer-status').append(obj); }); } } // 'map' shortcode if ($('div#map').length) { center = ol.proj.fromLonLat([data.location.lon, data.location.lat]) // Create map const map = new ol.Map({ target: document.getElementById('map'), layers: [ new ol.layer.Tile({ source: new ol.source.OSM(), }), new ol.layer.Vector({ source: new ol.source.Vector({ features: [new ol.Feature({ geometry: new ol.geom.Point(center), })] }), style: new ol.style.Style({ image: new ol.style.Icon({ scale: .06, src: '../images/rose_logo.svg', }), }), }) ], view: new ol.View({ center: center, maxZoom: 18, zoom: 13, }), }); } }); console.log(atob('aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1IcDdBSVh5UkpwdyAtIERhYm8uLi4u')); });