diff --git a/content/404.md b/content/404.md new file mode 100644 index 0000000..a5ce168 --- /dev/null +++ b/content/404.md @@ -0,0 +1,10 @@ +--- +title: Whoops! Page not found +noindex: true +layout: page +--- + +# Whoops! +The requested page could not be found. + +Please head back to [our homepage](/). diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b76cec2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +version: '3' + +services: + nginx: + image: docker.io/nginx + volumes: + - ./public:/usr/share/nginx/html:ro + ports: + - 8080:80 + environment: + - NGINX_PORT=80 diff --git a/layouts/shortcodes/team.html b/layouts/shortcodes/team.html index 4109cf7..349b230 100644 --- a/layouts/shortcodes/team.html +++ b/layouts/shortcodes/team.html @@ -1,25 +1,3 @@ -
- {{ range .Site.Data.team.ranks }} -

{{.name | humanize }}

-
- {{ range .members }} -
-
- {{.name}} -
-
-

Name: {{.name}}

-

Location:

-

- Languages: - {{ range .lang }} - - {{ end }} -

-
-
- {{ end }} -
- {{ end }} -
+
+ diff --git a/static/js/team.js b/static/js/team.js new file mode 100644 index 0000000..b821169 --- /dev/null +++ b/static/js/team.js @@ -0,0 +1,63 @@ +teamContainer = document.getElementById("teamContainer"); + +function ucFirst(string) { + return string.charAt(0).toUpperCase() + string.slice(1); +} + +fetch('/json/team.json') + .then((response) => response.json()) + .then((json) => { + json.ranks.forEach((rank) => { + const rankTitle = document.createElement("h2"); + rankTitle.innerHTML = ucFirst(rank.name); + teamContainer.appendChild(rankTitle); + + const membersContainer = document.createElement("div"); + membersContainer.classList.add("flex", "flex-row", "ranks", "-"+rank.name+""); + rank.members.forEach((member) => { + const memberContainer = document.createElement("div"); + memberContainer.id = member.uid + memberContainer.classList.add("flex", "flex-row", "playerbox", "ml-4", "pr-5", "pt-4"); + + const memberImageContainer = document.createElement("div"); + memberImageContainer.classList.add("mx-6"); + + const memberImage = document.createElement("img"); + memberImage.src = "https://crafatar.com/renders/body/"+member.uid+"?overlay&scale=5"; + memberImage.alt = member.name; + memberImage.classList.add("playerimage", "w-16"); + + memberImageContainer.appendChild(memberImage); + + const descriptionContainer = document.createElement("div"); + descriptionContainer.id = "description"; + descriptionContainer.classList.add("flex", "flex-col", "text-center"); + + const memberName = document.createElement("p"); + memberName.innerHTML = ""+member.name+"" + + const memberLocation = document.createElement("p"); + memberLocation.innerHTML = "Location: " + + const memberLanguages = document.createElement("p") + memberLanguages.innerHTML = "Languages: " + + member.lang.forEach((spokenLang) => { + const memberLang = document.createElement("img"); + memberLang.src = "https://flagsapi.com/"+spokenLang+"/flat/32.png"; + memberLang.alt = ""; + memberLanguages.appendChild(memberLang); + }); + + descriptionContainer.appendChild(memberName); + descriptionContainer.appendChild(memberLocation); + descriptionContainer.appendChild(memberLanguages); + + memberContainer.appendChild(memberImageContainer); + memberContainer.appendChild(descriptionContainer); + + membersContainer.appendChild(memberContainer); + }); + teamContainer.appendChild(membersContainer); + }); + }); diff --git a/data/team.json b/static/json/team.json similarity index 100% rename from data/team.json rename to static/json/team.json