Initial Commit

This commit is contained in:
LinuxSquare 2023-12-20 14:10:40 +01:00
commit bdf95f35ed
49 changed files with 937 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
tailwindcss
.hugo_build.lock
resources/

5
archetypes/default.md Normal file
View file

@ -0,0 +1,5 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
---

44
assets/scss/default.scss Normal file
View file

@ -0,0 +1,44 @@
@import "fonts.scss";
@import "style.scss";
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: "Gravity-Regular";
}
body {
position: relative;
min-height: 100vh;
background-color: #f2f7fc;
}
code {
background-color: lightgray;
padding: 2px;
font-family: 'Courier New', Courier, monospace;
}
main {
padding-bottom: 10vh;
div#banner {
background: no-repeat center center;
background-image: url(/img/banner.png);
background-size: cover;
position: relative;
width: 100%;
height: 55vh;
backdrop-filter: blur(2.5px);
object-fit: cover;
&::after {
content: "";
position: absolute;
width: 100%;
height: 100%;
backdrop-filter: blur(2.5px); /* apply the blur */
pointer-events: none; /* make the overlay click-through */
}
}
}

49
assets/scss/fonts.scss Normal file
View file

@ -0,0 +1,49 @@
@font-face {
font-family: Gravity-Regular;
src: url(/fonts/Gravity-Regular.otf);
}
@font-face {
font-family: Gravity-Bold;
src: url(/fonts/Gravity-Bold.otf);
}
@font-face {
font-family: Gravity-UltraLight;
src: url(/fonts/Gravity-UltraLight.otf);
}
@font-face {
font-family: Gravity-Light;
src: url(/fonts/Gravity-Light.otf);
}
@font-face {
font-family: Gravity-Book;
src: url(/fonts/Gravity-Book.otf);
}
@font-face {
font-family: Gravity-Italic;
src: url(/fonts/Gravity-Italic.otf);
}
@font-face {
font-family: Gravity-BookItalic;
src: url(/fonts/Gravity-BookItalic.otf);
}
@font-face {
font-family: Gravity-BoldItalic;
src: url(/fonts/Gravity-BoldItalic.otf);
}
@font-face {
font-family: Gravity-UltraLightItalic;
src: url(/fonts/Gravity-UltraLightItalic.otf);
}
@font-face {
font-family: Gravity-LightItalic;
src: url(/fonts/Gravity-LightItalic.otf);
}

3
assets/scss/header.scss Normal file
View file

@ -0,0 +1,3 @@
img.logo {
height: 2.5vh !important;
}

210
assets/scss/style.scss Normal file
View file

@ -0,0 +1,210 @@
/* Team Boxes */
span.icon {
max-height: 24px;
max-width: 24px;
padding: 2px;
&>img {
margin: 0 !important;
}
}
div.ranks {
div.playerbox {
transition: 300ms;
img.playerimage {
margin: 0;
}
&:hover {
background-color: #e1eefc;
transition: 300ms;
cursor: pointer;
}
&>#description {
p, img {
margin: 0;
text-align: left;
display: inline-block;
}
}
}
}
// News box
div#newsbox {
display: flex;
justify-content: center;
align-items: center;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 5000;
transition: opacity 300ms;
.content {
overflow-y: scroll;
height: calc(100% - 64px);
padding: 32px 0;
max-width: 1140px;
width: calc(100vw - 40px);
&>#content-box {
&>h1,h2,h3,h4,h5,p {
margin: 10px 0 6px;
transition: opacity 300ms;
padding: 0 8.333%;
}
}
&>.inner {
padding: 79px 0 65px;
position: relative;
background-color: #f2f7fc;
border-radius: 3px;
text-align: left;
&>.close-btn {
position: absolute;
right: 39px;
top: 39px;
width: 40px;
height: 40px;
background-image: url(/img/close-btn.svg);
cursor: pointer;
}
&>.title {
font-size: 28px;
line-height: 38px;
font-weight: 600;
margin: 8px 0 17px;
padding: 0 8.333%;
}
&>.lead {
font-size: 17px;
line-height: 28px;
margin: 10px 0 6px;
transition: opacity 300ms;
padding: 0 8.333%;
}
}
}
div.color-background {
background-color: #3c4650;
opacity: .9;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: auto;
}
}
// Job apply form
form#apply-form {
display: flex;
justify-content: center;
align-items: center;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 5000;
transition: opacity 300ms;
&>.content {
overflow-y: scroll;
height: calc(100% - 64px);
padding: 32px 0;
max-width: 1140px;
width: calc(100vw - 40px);
&>.inner {
padding: 79px 0 65px;
position: relative;
background-color: #f2f7fc;
border-radius: 3px;
text-align: left;
&>.close-btn {
position: absolute;
right: 39px;
top: 39px;
width: 40px;
height: 40px;
background-image: url(/img/close-btn.svg);
cursor: pointer;
}
&>.supertitle {
font-size: 13px;
line-height: 18px;
font-weight: 600;
margin-left: 8.333%;
}
&>.title {
font-size: 28px;
line-height: 38px;
font-weight: 600;
margin: 8px 0 17px;
padding: 0 8.333%;
}
&>.lead {
font-size: 17px;
line-height: 28px;
margin: 10px 0 6px;
transition: opacity 300ms;
padding: 0 8.333%;
}
&>.apply-row {
display: flex;
flex-direction: column;
transition: opacity 300ms;
max-width: 100%;
padding: 0 8.333%;
&>.apply-section {
flex: 0 0 100%;
max-width: none;
&>.inner {
display: flex;
flex-direction: column;
&>label {
margin: 21px 0 0;
}
}
}
&>.-submit {
&>.legal {
font-size: 13px;
line-height: 20px;
margin: 21px 0 23px;
}
}
}
}
}
div.color-background {
background-color: #3c4650;
opacity: .9;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: auto;
}
}

1
assets/scss/tailwind.css Normal file

File diff suppressed because one or more lines are too long

3
assets/tw/tailwind.css Normal file
View file

@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

17
config.toml Normal file
View file

@ -0,0 +1,17 @@
baseURL = 'https://noveria.org/'
languageCode = 'en-gb'
title = 'Noveria'
[privacy]
[privacy.disqus]
disable = true
[privacy.googleAnalytics]
disable = true
[privacy.instagram]
disable = true
[privacy.twitter]
disable = true
[privacy.vimeo]
disable = true
[privacy.youtube]
disable = true

15
content/_index.md Normal file
View file

@ -0,0 +1,15 @@
---
title: "home"
date: 2023-04-09T23:16:30+02:00
---
# Welcome to Noveria
We offer you a large freebuild world with player-managed towns and seperate resource-worlds like our mining-world.
Our team is mainly made of cherry-picked volunteers, who like to help Noveria grow and keeping it neat and tidy for you.
We're also offering a realistic economy system with a unique banking- and taxing-system.
## News
{{< news >}}

24
content/about.md Normal file
View file

@ -0,0 +1,24 @@
---
title: "About"
date: 2023-04-07T00:03:08+02:00
---
# About
## The concept
Noveria's concept does not seem to be very different from other freebuild citybuild servers. Especially servers that use the towny plugin. Noveria's city management plugin however is written completely from scratch in Kotlin.
Noveria aims to mimic real life in Minecraft, for example being able to earn money from bank interest, pay taxes like VAT on shops, and travel by maglev, train, plane, bus using our public transport network.
We'd like to thank the [BLS AG](https://www.bls.ch/en) for their permission, to use their jingle on our server.
## Genesis
The project 'Noveria' was started by LinuxSquare and some of his friends in 2020, during the COVID pandemic. We've been looking for a project that requires time, patience and the ability to code spigot plugins.
The server is still in early development and build mode. As it's a small team. (1 builder, 1 dev), only small steps of progress are visible.
In the beginning, Noveria had a problem that caused the server to crash spontaneously.
This made the building process even worse, because if LinuxSquare was at work, while the builder wanted to build during it's offline state due to a crash, it was impossible to build until LinuxSquare restarted the server manually.
This is problem has now been fixed by moving Noveria to a completely overhauled server infrastructure with their [custom-made operating system based on Alpine Linux](https://git.noveria.org/NoveriaOS/ISO).

94
content/constitution.md Normal file
View file

@ -0,0 +1,94 @@
---
title: "Constitution"
date: 2023-04-07T00:40:08+02:00
---
# Noveria Constitution
## Art. 1: Human dignity
The dignity of the human person shall be respected and protected.
## Art. 2: Legal equality
1. Bullying or mobbing as a sociological term describes psychological violence defined by repeated and regular, predominantly mental harassment, torment and injury of an individual by any type of group or individual.
2. Typically inhumane acts of bullying include, but are not limited to, humiliation, dissemination of false statements of fact, assignment of meaningless tasks and other abuse of power, threats of violence, social exclusion, or continued unreasonable criticism of a natural person or his or her actions that amounts to bullying or inhumane and inconsiderate treatment.
3. Bullying as defined in para 1 & para 2 is strictly prohibited and will not be tolerated.
## Art. 3: Equality of rights
1. All persons are equal under the law
2. No one shall be discriminated against, in particular on grounds of origin, race, sex, gender, age, language, social status, way of life, religious, philosophical or political conviction or physical, mental or psychological disability.
3. Men and women are equal in every respect.
## Art. 4: Protection against arbitrariness and the preservation of good faith
Everyone has the right to be treated by state bodies without arbitrariness and in good faith.
## Art. 5: Right to life and personal liberty
1. Everyone has the right to life. The death penalty is prohibited.
2. Everyone has the right to personal freedom, in particular the right to physical and mental integrity and freedom of movement.
3. Torture and any other cruel, inhuman or degrading treatment or punishment are prohibited.
## Art. 6: Protection of children and young people
1. Children and young people have the right to special protection of their integrity and to promotion of their development.
2. They shall exercise their rights within their capacity of judgement.
## Art. 7: Protection of privacy
1. Everyone has the right to respect for his or her private and family life, his or her home and his or her correspondence, post and telecommunications.
2. Everyone has the right to protection against misuse of their personal data.
## Art. 8: Freedom of faith and conscience
Freedom of faith and conscience is guaranteed.
## Art. 9: Freedom of expression and information
Freedom of expression and information is guaranteed..
## Art. 10 Language freedom
Freedom of language is guaranteed.
## Art. 11: Freedom of establishment
Every player has the right to settle anywhere on the server.
## Art. 12: Economic freedom
1. Economic freedom is guaranteed.
2. It includes in particular the free choice of profession and free access to and exercise of private gainful employment.
## Art. 13: Deprivation of liberty
Everyone deprived of his or her liberty shall have the right to be informed promptly, in a language which he or she understands, of the reasons
for his or her deprivation of liberty and of his or her rights. He or she must have the opportunity to assert his or her rights.
## Art. 14: Criminal proceedings
1. Every person is presumed innocent until convicted by a final court decision.
2. Every accused person has the right to be informed as quickly and comprehensively as possible of the charges against him or her. of the
charges against him or her as quickly as possible. He or she must have the opportunity to assert the rights of defence to which he or she is entitled.
3. Every convicted person shall have the right to have the judgment reviewed by a person of higher rank. Exceptions are those cases in which the server owner (identified by name as the owner) is the sole judge.
## Art. 15: Adjustments
1. The server reserves the right to amend the constitution at any time and without notice.
2. The adjustments must be complied with.
3. The adjustments are in the interest of the server and the players. In no case will the constitution be adapted in such a way that it contradicts the Swiss Federal Constitution in any way

7
content/jobs.md Normal file
View file

@ -0,0 +1,7 @@
---
title: "Jobs"
date: 2023-04-07T00:35:01+02:00
---
# Jobs
{{< jobs >}}

6
content/legal.md Normal file
View file

@ -0,0 +1,6 @@
---
title: "Legal"
date: 2023-04-07T00:35:01+02:00
---
# Legal notice

6
content/privacy.md Normal file
View file

@ -0,0 +1,6 @@
---
title: "Privacy"
date: 2023-04-07T00:35:01+02:00
---
# Privacy policy

7
content/team.md Normal file
View file

@ -0,0 +1,7 @@
---
title: "Team"
date: 2023-04-13T20:11:48+02:00
---
# Team
{{< team >}}

6
content/terms.md Normal file
View file

@ -0,0 +1,6 @@
---
title: "Terms"
date: 2023-04-07T00:35:01+02:00
---
# Terms of service

39
data/jobs.json Normal file
View file

@ -0,0 +1,39 @@
[
{
"title": "Spigot Plugin Developer",
"sub": [
{
"source": "mdi",
"icon": "language-java"
},
{
"source": "mdi",
"icon": "language-kotlin"
}
],
"description": "As a plugin developer, your main task will be the further development of our self-written plugins.\nA good knowledge of Java & Kotlin is therefore essential."
},
{
"title": "Builder",
"sub": [],
"description": "As a builder, you ensure that the server is presented in a favourable light for our users.\nYou appreciate love down to the last detail"
},
{
"title": "Social Media Manager",
"sub": [
{
"source": "simpleicons",
"icon": "instagram"
},
{
"source": "simpleicons",
"icon": "threads"
},
{
"source": "simpleicons",
"icon": "youtube"
}
],
"description": "As social media manager, your job is to post about recent or upcoming events on the Noveria network, also pass down feedback of potential post-reactions"
}
]

14
data/news.json Normal file
View file

@ -0,0 +1,14 @@
[
{
"title": "Hello World",
"release": "2023-05-24",
"author": "LinuxSquare",
"content": "## Meow World"
},
{
"title": "Bye World",
"release": "2023-05-26",
"author": "LinuxSquare",
"content": ""
}
]

59
data/team.json Normal file
View file

@ -0,0 +1,59 @@
{
"ranks": [
{
"name": "owners",
"members": [
{
"name": "LinuxSquare",
"loc": "CH",
"uid": "f542983268204cb38a92528d5ea3abd5",
"lang": [
"CH",
"GB"
]
}
]
},
{
"name": "admins",
"members": [
{
"name": "LinuxSquare",
"loc": "NO",
"uid": "f542983268204cb38a92528d5ea3abd5",
"lang": [
"NO",
"GB"
]
}
]
},
{
"name": "moderators",
"members": [
{
"name": "LinuxSquare",
"loc": "DK",
"uid": "f542983268204cb38a92528d5ea3abd5",
"lang": [
"DK",
"GB"
]
}
]
},
{
"name": "supporters",
"members": [
{
"name": "LinuxSquare",
"loc": "SE",
"uid": "f542983268204cb38a92528d5ea3abd5",
"lang": [
"SE"
]
}
]
}
]
}

View file

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="en" class="overflow-x-hidden">
{{ partial "head" (dict "title" .Title) }}
<body>
{{ partial "header" }}
<main>
<div id="banner"></div>
<div class="flex justify-center w-full mt-5">
<div class="prose w-3/6">
{{ block "main" . }}{{ end }}
</div>
</div>
</main>
{{ partial "footer" }}
</body>
</html>

View file

@ -0,0 +1,3 @@
{{ define "main" }}
{{ .Content }}
{{ end }}

3
layouts/index.html Normal file
View file

@ -0,0 +1,3 @@
{{ define "main" }}
{{ .Content }}
{{ end }}

View file

@ -0,0 +1,24 @@
<footer class="bg-red-950">
<div
class="w-full mx-auto max-w-screen-xl p-4 md:flex md:items-center md:justify-between"
>
<span class="text-sm sm:text-center text-gray-400">
&copy; 2020 - {{ now.Format "2006" }}
Noveria Network
</span>
<ul
class="flex flex-wrap items-center mt-3 text-sm font-medium text-gray-400 sm:mt-0"
>
<li>
<a href="/legal" class="mr-4 hover:underline md:mr-6">Legal Notice</a>
</li>
<li>
<a href="/privacy" class="mr-4 hover:underline md:mr-6">Privacy</a>
</li>
<li>
<a href="/terms" class="mr-4 hover:underline md:mr-6">Terms</a>
</li>
</ul>
</div>
{{ partial "script-footer" . }}
</footer>

View file

@ -0,0 +1,14 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Noveria - {{ .title | title }}</title>
<!-- Stylesheets -->
<!-- Tailwind CSS -->
{{ $styles := resources.Get "scss/tailwind.css" }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}">
<!-- Parse SCSS to CSS -->
{{ partial "libsass" "scss/default.scss" }}
{{ partial "libsass" "scss/header.scss" }}
<!-- Flowbyte -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/flowbite/1.6.5/flowbite.min.css" rel="stylesheet" />
</head>

View file

@ -0,0 +1,35 @@
<header>
<nav class="border-gray-200 px-4 lg:px-6 py-2.5 text-slate-200 bg-gray-900">
<div class="flex flex-wrap justify-between items-center mx-auto max-w-screen-xl h-10">
<a href="/" class="flex items-center">
<img src="/img/logo_sm_crop.png" class="mr-3 h-6 sm:h-9 logo" alt="Noveria Logo" />
</a>
<div class="flex items-center lg:order-2">
<button data-collapse-toggle="mobile-menu-2" type="button" class="inline-flex items-center p-2 ml-1 text-sm rounded-lg lg:hidden focus:outline-none focus:ring-2 text-gray-400 hover:bg-gray-700 focus:ring-gray-600" aria-controls="mobile-menu-2" aria-expanded="false">
<span class="sr-only">Open main menu</span>
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd"></path></svg>
<svg class="hidden w-6 h-6" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
</button>
</div>
<div class="hidden justify-between items-center w-full lg:flex lg:w-auto lg:order-1 z-50 bg-gray-900 rounded lg:bg-transparent" id="mobile-menu-2">
<ul class="flex flex-col mt-4 font-medium lg:flex-row lg:space-x-8 lg:mt-0">
<li>
<a href="/" class="block py-2 pr-4 pl-3 lg:text-primary-700 lg:p-0 text-white">Home</a>
</li>
<li>
<a href="/about" class="block py-2 pr-4 pl-3 lg:text-primary-700 lg:p-0 text-white">About</a>
</li>
<li>
<a href="/team" class="block py-2 pr-4 pl-3 lg:text-primary-700 lg:p-0 text-white">Team</a>
</li>
<li>
<a href="/jobs" class="block py-2 pr-4 pl-3 lg:text-primary-700 lg:p-0 text-white">Jobs</a>
</li>
<li>
<a href="#" class="block py-2 pr-4 pl-3 lg:text-primary-700 lg:p-0 text-white">Forum</a>
</li>
</ul>
</div>
</div>
</nav>
</header>

View file

@ -0,0 +1,9 @@
{{ $opts := (dict "transpiler" "libsass" "outputStyle" "compressed" "includePaths" (slice "node_modules")) }}
{{ if eq hugo.Environment "development" }}
{{ $opts = (dict "transpiler" "libsass" "enableSourceMap" true "includePaths" (slice "node_modules")) }}
{{ end }}
{{ $css := resources.Get . }}
{{ $css := $css | toCSS $opts }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}">

View file

@ -0,0 +1,41 @@
<!-- Flowbite -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/flowbite/1.6.5/flowbite.min.js"></script>
<script src="//code.iconify.design/1/1.0.6/iconify.min.js"></script>
<script type="text/javascript">
function openApplyForm(title) {
let titleh3 = document.getElementById("title-h3")
let form = document.getElementById("apply-form")
titleh3.innerHTML = title
form.classList.remove('invisible')
}
function closeApplyForm() {
let form = document.getElementById("apply-form")
form.classList.add('invisible')
}
function openNewsPage(title, release, authorname, content) {
let box = document.getElementById("newsbox")
let titleh3 = document.getElementById("title-h3")
let postdate = document.getElementById("post-date")
let author = document.getElementById("authorname")
let contentbox = document.getElementById("content-box")
titleh3.innerHTML = title
postdate.innerHTML = "<b>Post-Date:</b> " + release
author.innerHTML = "<b>Author:</b> " + authorname
//contentbox.innerHTML =
box.classList.remove('invisible')
}
function closeNewsPage() {
let box = document.getElementById("newsbox")
box.classList.add('invisible')
}
</script>

View file

@ -0,0 +1,75 @@
<!-- Get Data maybe from strapi -->
<div class="flex flex-col">
<!-- Check if open jobs are available -->
{{ if le (index (.Site.Data.jobs) 0) 0 }}
<div class="flex-auto">
<h2>There are currently no open jobs to apply for</h2>
<p class="small">Please again to a different time</p>
</div>
{{ end }}
<!-- Range through all available job offerings -->
{{ range .Site.Data.jobs }}
<div class="flex-auto">
<h2>{{.title}}</h2>
{{ if gt (len .sub) 0 }}
<div class="flex flex-row text-2xl">
{{ range .sub }}
{{ if (eq .source "mdi" ) }}
<span class="iconify" data-icon="mdi-{{.icon}}"></span>
{{ else }}
<span class="icon">
<img height="20" width="20" src="https://cdn.jsdelivr.net/npm/simple-icons@v10/icons/{{.icon}}.svg" />
</span>
{{ end }}
{{ end }}
</div>
{{ end }}
<p>{{.description}}</p>
</div>
<button
type="button"
class="text-white bg-blue-700 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 font-medium rounded-full text-sm px-5 py-2.5 text-center me-2 mb-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800 max-w-2xs"
onclick="openApplyForm('{{.title}}')">Apply</button>
{{ end }}
</div>
<form action="/" id="apply-form" class="invisible">
<div class="color-background"></div>
<div class="content">
<div class="inner">
<div class="close-btn" onclick="closeApplyForm()"></div>
<div class="supertitle">Your application as:</div>
<h3 id="title-h3" class="title"></h3>
<p class="lead">Great, you've made the first step. We look forward to your application</p>
<div class="apply-row">
<div class="apply-section -contact">
<h4>Your contact data</h4>
<div class="inner">
<label for="ign">Ingame Name *</label>
<input class="rounded-md" type="text" name="ign" id="ign" placeholder="Your Minecraft ingame Name">
<label for="contact">How to contact you *</label>
<input class="rounded-md" type="text" name="contact" id="contact" placeholder="Discord-tag / e-mail-address">
<label for="experience">Your experience in this is position *</label>
<textarea class="rounded-md" name="experience" id="experience" cols="30" rows="5"></textarea>
<label for="references">Your references *</label>
<textarea class="rounded-md" name="" id="" cols="30" rows="5"></textarea>
</div>
</div>
<div class="apply-section -docs">
<h4>Your comments</h4>
<div class="inner">
<label for="comments">Would you like to tell us something?</label>
<textarea class="rounded-md" name="comments" id="comments" cols="30" rows="5"></textarea>
</div>
</div>
<div class="apply-section -submit">
<div class="legal">By submitting your application, you accept our <a href="/privacy">privacy policy</a> and confirm that you have taken note of it.</div>
<div class="submit-btn">
<button type="submit" class="text-white bg-blue-700 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 font-medium rounded-full text-sm px-5 py-2.5 text-center me-2 mb-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800 max-w-2xs">Submit</button>
</div>
</div>
</div>
</div>
</div>
</form>

View file

@ -0,0 +1,34 @@
<!-- Get Data maybe from strapi -->
<div class="flex flex-col">
{{ range .Site.Data.news }}
<div class="flex-auto">
<h3 class="mb-0">{{.title}}</h3>
<small>{{.release}}</small>
</div>
<p></p>
<button
type="button"
class="text-white bg-blue-700 hover:bg-blue-800 focus:outline-none focus:ring-4 focus:ring-blue-300 font-medium rounded-full text-sm px-5 py-2.5 text-center me-2 mb-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800 max-w-2xs"
onclick="openNewsPage('{{.title}}', '{{.release}}', '{{.author}}', '{{.content}}')">Read more</button>
{{ end }}
</div>
<div id="newsbox" class="invisible">
<div class="color-background"></div>
<div class="content">
<div class="inner">
<div class="close-btn" onclick="closeNewsPage()"></div>
<h3 id="title-h3" class="title"></h3>
<div class="flex flex-row lead">
<span id="post-date" class="flex-auto"></span>
<span id="authorname" class="flex-auto"></span>
</div>
<div class="content">
<div id="content-box">
{{ "## Meow" | markdownify }}
</div>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,25 @@
<!-- Get data maybe from custom Luckperms API -->
<div class="flex flex-col">
{{ range .Site.Data.team.ranks }}
<h2>{{.name | humanize }}</h2>
<div class="flex flex-row flex-wrap ranks -{{.name}}">
{{ range .members }}
<div id="{{.uid}}" class="flex flex-row playerbox ml-4 pr-5 pt-4">
<div class="mx-6">
<img src="http://localhost:3000/renders/body/{{.uid}}?overlay&scale=5" alt="{{.name}}" class="playerimage w-16">
</div>
<div id="description" class="flex flex-col text-center">
<p><b>Name: </b>{{.name}}</p>
<p><b>Location: </b><img src="https://flagsapi.com/{{.loc}}/flat/32.png" alt=""></p>
<p>
<b>Languages: </b>
{{ range .lang }}
<img src="https://flagsapi.com/{{.}}/flat/32.png" alt="">
{{ end }}
</p>
</div>
</div>
{{ end }}
</div>
{{ end }}
</div>

BIN
static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
static/img/banner.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

16
static/img/close-btn.svg Normal file
View file

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="40" viewBox="0 0 40 40">
<defs>
<clipPath id="clip-bereich-schliessen-out">
<rect width="40" height="40"/>
</clipPath>
</defs>
<g id="bereich-schliessen-out" clip-path="url(#clip-bereich-schliessen-out)">
<g id="Fenster_schliessen_x" data-name="Fenster schliessen x">
<circle id="Ellipse_17089" data-name="Ellipse 17089" cx="20" cy="20" r="20" fill="#fff" opacity="0.5"/>
<g id="Gruppe_37140" data-name="Gruppe 37140" transform="translate(-1050 -232)" style="mix-blend-mode: multiply;isolation: isolate">
<line id="Linie_4701" data-name="Linie 4701" x2="11" y2="11" transform="translate(1064.5 246.5)" fill="none" stroke="#3c4650" stroke-width="1"/>
<line id="Linie_4702" data-name="Linie 4702" x1="11" y2="11" transform="translate(1064.5 246.5)" fill="none" stroke="#3c4650" stroke-width="1"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 983 B

BIN
static/img/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
static/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 937 KiB

BIN
static/img/logo_sm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
static/img/logo_sm_crop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

30
tailwind.config.js Normal file
View file

@ -0,0 +1,30 @@
module.exports = {
content: [
'content/**/*.md',
'layouts/**/*.html'
],
theme: {
extend: {
spacing: {
'13': '3.25rem',
'14': '3.50rem',
'15': '3.75rem',
'16': '4.00rem',
'17': '4.25rem',
'18': '4.50rem',
'19': '4.75rem'
},
colors: {
'red': {
950: '#520000'
}
},
borderWidth: {
'1': '1px'
},
},
},
plugins: [
require('@tailwindcss/typography')
],
}