-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.min.js
More file actions
1 lines (1 loc) · 1.16 KB
/
script.min.js
File metadata and controls
1 lines (1 loc) · 1.16 KB
1
function fetchAJAX(a,b){var c=new XMLHttpRequest;c.onreadystatechange=function(){4===c.readyState&&200===c.status&&b&&b(c.responseText)},c.open("GET",a),c.send()}function shuffle(a){for(var b=a.length;b>0;){var c=Math.floor(Math.random()*b);b--;var d=a[b];a[b]=a[c],a[c]=d}return a}function isObject(a){return"object"==typeof a}if(document.querySelector("body").classList.contains("portfolio")){console.log("Portfolio page, fetching index");var template=document.querySelector("#project-template").textContent,templatedProjects=[],offsiteLinks="";document.querySelectorAll(".content-section").forEach(function(a,b){b>0&&(console.log(a),offsiteLinks+=a.outerHTML)}),fetchAJAX("/projects.json",function(a){var b=JSON.parse(a).filter(isObject);b.forEach(function(a){var b="",c="";a.color&&(b="background-color: #"+a.color+";"),a.image;var d=template.replace("{{ title }}",a.title).replace("{{ category }}",a.category).replace("{{ color }}",b).replace("{{ image }}",c).replace("{{ path }}",a.path);templatedProjects.push(d)}),templatedProjects=shuffle(templatedProjects),templatedProjects.push(offsiteLinks),document.querySelector("#main-content").innerHTML=templatedProjects.join("\n")})}