Finished the redesign, split styles.css into multiple files and added support for importing page-specific styles, added new logo, added "updates" box to index.njk.

This commit is contained in:
天クマ 2025-10-27 16:43:02 -03:00
commit ebc904d60d
16 changed files with 456 additions and 384 deletions

View file

@ -1,15 +1,8 @@
<!DOCTYPE html> ---
<html lang="en"> layout: "skeleton.njk"
<head> styles: ["project"]
<meta charset="UTF-8"> ---
<link rel="stylesheet" href="/assets/styles.css" media="screen"> <div id="project">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>neoBeta</title>
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
</head>
<body>
<div id="everythingHelper">
{% include "header.njk" %}
<div id="projectHeader"> <div id="projectHeader">
<img src="{{ page.dir }}{{ logoName }}.{{ logoExtension }}"> <img src="{{ page.dir }}{{ logoName }}.{{ logoExtension }}">
<div id="projectTitleSubtitle"> <div id="projectTitleSubtitle">
@ -24,5 +17,3 @@
{{ content | safe }} {{ content | safe }}
</main> </main>
</div> </div>
</body>
</html>

View file

@ -1,6 +1,7 @@
--- ---
layout: "skeleton.njk" layout: "skeleton.njk"
--- ---
<main> <main>
{{ content | safe }} {{ content | safe }}
</main> </main>

View file

@ -9,8 +9,11 @@
<a href="/projects/{{ project }}"> <a href="/projects/{{ project }}">
<img src="{% if projectData.data.logo %}/projects/{{project}}/{{ projectData.data.logo }}{% else %}/assets/mod-placeholder.png{% endif %}"> <img src="{% if projectData.data.logo %}/projects/{{project}}/{{ projectData.data.logo }}{% else %}/assets/mod-placeholder.png{% endif %}">
</a> </a>
<div>
<p class="featuredProjectName">{{ projectData.data.name }}</p> <p class="featuredProjectName">{{ projectData.data.name }}</p>
<p>by <a href="/authors/{{ projectData.data.author }}/">{{ projectData.data.author }}</a></p> <p class="featuredProjectSubtitle">by <a href="/authors/{{ projectData.data.author }}/">{{ projectData.data.author }}</a></p>
<div class="featuredProjectSubtitle dimText">{{ projectData.data.subtitle }}</div>
</div>
</div> </div>
{% endif %} {% endif %}
{% endfor %} {% endfor %}

View file

@ -1,12 +1,17 @@
<header> <header>
<div id="linksBox"> <div id="linksBox">
<h1 id="title">neoBeta</h1> <div id="headerLinksAndTitle">
<div id="logoTitle">
<img src="/assets/logo.png" id="logo">
<h1 id="title" class="rainbowText">neoBeta</h1>
</div>
<ul id="headerLinks"> <ul id="headerLinks">
<a href="/">home</a> - <li><a href="/">home</a></li>
<a href="/search">search</a> - <li><a href="/search">search</a></li>
<a href="/allprojects">index</a> - <li><a href="/allprojects">index</a></li>
<a href="/contribute">contribute</a> <li><a href="/contribute">contribute</a></li>
</ul> </ul>
</div>
<p id="credits">Adrian Victor, 2025 (<a href="https://git.disroot.org/adrianvictor/neoBeta">Unlicense</a>)</p> <p id="credits">Adrian Victor, 2025 (<a href="https://git.disroot.org/adrianvictor/neoBeta">Unlicense</a>)</p>
</div> </div>
</header> </header>

View file

@ -1,7 +1,8 @@
--- ---
layout: "skeleton.njk" layout: "skeleton.njk"
styles: ["project"]
--- ---
<div> <div id="project">
<div id="projectHeader"> <div id="projectHeader">
{% if logo %} {% if logo %}
<img src="{{ page.dir }}{{ logo }}"> <img src="{{ page.dir }}{{ logo }}">

View file

@ -2,7 +2,10 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<link rel="stylesheet" href="/assets/styles.css" media="screen"> <link rel="stylesheet" href="/assets/stylesheets/styles.css" media="screen">
{% for stylesheet in styles %}
<link rel="stylesheet" href="/assets/stylesheets/{{ stylesheet }}.css">
{% endfor %}
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% if name %}{{ name }} - {% endif %}neoBeta</title> <title>{% if name %}{{ name }} - {% endif %}neoBeta</title>
</head> </head>

View file

@ -4,6 +4,7 @@ pagination:
data: collections.projects data: collections.projects
size: 10 size: 10
alias: paginatedProjects alias: paginatedProjects
styles: ["search"]
--- ---
<ul style="display: flex; flex-direction: column; gap: 1em;"> <ul style="display: flex; flex-direction: column; gap: 1em;">
{% for project in paginatedProjects %} {% for project in paginatedProjects %}

BIN
assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

View file

@ -1,339 +0,0 @@
:root {
--accent-color: greenyellow;
--accent-secondary: green;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
@font-face {
font-family: Minecraft;
src: url("MinecraftRegular-Bmg3.otf") format("opentype");
}
body {
font-family: Minecraft, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: black;
color:white;
font-size : clamp(1.2rem, .2vw, 2rem);
}
header {
display: flex;
}
aside {
width: fit-content;
min-width: 20vw;
}
a {
text-decoration: none;
color: var(--accent-color);
}
main {
outline: 2px solid gray;
margin-top: 20px;
padding: 20px;
background-color: black;
}
button {
transition: .2s;
background-color: black;
color: white;
padding: 10px;
outline: 1px white;
}
button:hover {
color: gray;
border: 1px solid gray;
}
code {
background-color: darkslategray;
color: var(--accent-color);
padding-left: .2em;
padding-right: .2em;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
border-radius: 2px;
display: inline-block;
}
input, select {
padding: .4em;
background-color: black;
color: white;
}
p, ul {
padding-bottom: .6em;
}
img {
image-rendering: pixelated;
}
#linksBox {
padding: 10px;
display: flex;
flex-direction: column;
width: 100%;
background-color: black;
outline: 2px solid gray;
height: fit-content;
}
#headerLinks a {
margin-top: auto;
margin-bottom: auto;
padding: 0;
padding-left: 0;
}
#everythingHelper {
max-width: 80%;
margin: auto;
transform: .2s;
display: flex;
gap: 3em;
}
#headerLinks {
padding: 0;
margin-left: 10px;
}
#title {
margin-top: auto;
margin-bottom: auto;
text-align: center;
}
.searchItemImage {
height: 1em;
}
#featured {
display: flex;
flex-direction: column;
}
#featuredHelper {
display: flex;
flex-direction: row;
}
.featuredProject {
transition: .2s;
width: 15%;
font-size: smaller;
padding: 4px;
overflow: hidden;
}
.featuredProjectName {
margin-top: auto;
}
.featuredProject img {
width: 100%;
border: medium solid var(--accent-color);
}
.featuredProject p {
margin-right: auto;
margin-left: auto;
text-overflow:clip;
}
#featured h2 {
font-size: medium;
font-weight: 100;
margin-bottom: 10px;
}
#featuredHelper {
gap: 10px;
flex-wrap: wrap;
}
#projectTitleSubtitle {
margin-top: auto;
margin-bottom: auto;
}
#projectHeader {
padding-top: 20px;
gap: 20px;
display: flex;
margin-bottom: 1em;
}
#downloadButton {
border: none;
background: linear-gradient(var(--accent-color), var(--accent-secondary));
border-radius: 2px;
color: white;
}
#downloadLink {
color: gray;
height: fit-content;
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
text-align: right;
/* text-shadow: 2px 2px black; */
}
#downloadButton:hover {
cursor: pointer;
}
#projectHeader img {
outline: 2px solid gray;
height: 5em;
image-rendering: pixelated;
}
li {
margin-left: 20px;
list-style-type: "> ";
margin-bottom: .4em;
}
h1, h2, h3 {
margin-bottom: .4em;
}
#projectTitleAuthor {
display: flex;
}
#projectAuthor {
margin-left: 10px;
margin-top: auto;
margin-bottom: 6px;
}
#projectImageCarrousel {
outline: 2px solid gray;
padding: 1rem;
height: 12em;
display: flex;
flex-direction: column;
}
#projectCarrouselImageHolder {
height: 100%;
gap: 1em;
overflow: auto;
scroll-margin-left: 10px;
overflow-x: scroll;
white-space: nowrap;
}
.projectImage {
transition: .4s;
height: 95%;
max-width: 10em;
object-fit: cover;
/* filter: grayscale(); */
}
.projectImage:hover {
filter: none;
opacity: .8;
max-width: 100%;
/* object-fit: unset; */
}
#credits {
margin-left: auto;
}
.searchItemTagHolder {
display: flex;
padding-top: .2em;
gap: .4em;
}
.searchItemTagHolder div {
border: thin solid greenyellow;
padding: .1em .2em .1em .2em;
}
.searchItemDescription {
margin-bottom: 0px;
}
.errorQuote {
color: gray;
}
@media only screen and (max-width: 1280px) {
#everythingHelper {
max-width: 80%;
}
#linksBox {
flex-direction: column;
}
#linksBox * {
margin-left: auto;
margin-right: auto;
}
#projectHeader {
flex-direction: column;
text-align: center;
}
#projectHeader * {
margin-left: auto;
margin-right: auto;
}
#projectHeader img {
width: 10vh;
height: 10vh;
}
#projectTitleAuthor {
flex-direction: column;
}
/* #featuredHelper {
flex-direction: column;
} */
#featuredHelper * {
margin-right: auto;
margin-left: auto;
}
header {
text-align: center;
}
}
@media only screen and (max-width: 300px) {
#everythingHelper {
max-width: 90%;
}
#projectAuthor {
margin: 0;
}
}

View file

@ -0,0 +1,28 @@
#homeUpdates {
background-color: var(--accent-secondary);
border: thick solid var(--accent-color);
width: 50%;
margin: 0px 2em 2em 2em;
padding: 1em;
height: fit-content;
border-radius: 4px;
}
#featureAndUpdates {
display: flex;
flex-direction: row;
margin-top: 1em;
}
@media only screen and (max-width: 1280px) {
#featureAndUpdates {
flex-direction: column;
gap: 1em;
flex-flow: column-reverse;
}
#homeUpdates {
width: 100%;
margin: 0;
}
}

View file

@ -0,0 +1,87 @@
#projectTitle {
font-size: xx-large;
}
#projectTitleSubtitle {
margin-top: auto;
margin-bottom: auto;
}
#projectTitleSubtitle h1 {
margin-bottom: 0;
}
#projectHeader {
padding-top: 20px;
gap: 20px;
display: flex;
}
#project {
display: flex;
flex-direction: column;
gap: var(--box-gap);
width: 100%;
}
#downloadLink {
color: gray;
height: fit-content;
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
text-align: right;
/* text-shadow: 2px 2px black; */
}
#downloadButton:hover {
cursor: pointer;
}
#projectHeader img {
outline: 2px solid gray;
height: 5em;
image-rendering: pixelated;
}
#projectTitleAuthor {
display: flex;
}
#projectAuthor {
margin-left: .6em;
margin-top: auto;
/* margin-bottom: .4em; */
}
#projectImageCarrousel {
outline: 2px solid gray;
padding: 1rem;
height: 12em;
display: flex;
flex-direction: column;
}
#projectCarrouselImageHolder {
height: 100%;
gap: 1em;
overflow: auto;
scroll-margin-left: 10px;
overflow-x: scroll;
white-space: nowrap;
}
.projectImage {
transition: .4s;
height: 95%;
max-width: 10em;
object-fit: cover;
/* filter: grayscale(); */
}
.projectImage:hover {
filter: none;
opacity: .8;
max-width: 100%;
/* object-fit: unset; */
}

View file

@ -0,0 +1,18 @@
.searchItemImage {
height: 1em;
}
.searchItemTagHolder {
display: flex;
padding-top: .2em;
gap: .4em;
}
.searchItemTagHolder div {
border: thin solid greenyellow;
padding: .1em .2em .1em .2em;
}
.searchItemDescription {
margin-bottom: 0px;
}

View file

@ -0,0 +1,265 @@
:root {
--text-color: white;
--accent-color: greenyellow;
--accent-secondary: green;
--box-gap: 2rem;
--accent-background: rgb(0, 30, 0);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
@font-face {
font-family: Minecraft;
src: url("/assets/MinecraftRegular-Bmg3.otf") format("opentype");
}
body {
font-family: Minecraft, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: black;
color:white;
font-size : clamp(1.2rem, .2vw, 2rem);
}
header {
display: flex;
text-align: center;
}
aside {
width: min-content;
}
a {
text-decoration: none;
color: var(--accent-color);
}
main {
outline: 2px solid gray;
padding: 1em;
background-color: black;
height: fit-content;
border-radius: 0 0 4px 4px;
}
/* main:last-child {
margin-bottom: 0px;
padding-bottom: 0px;
} */
button {
padding: 10px;
border: medium solid var(--accent-color);
background: linear-gradient(var(--accent-color), var(--accent-secondary));
border-radius: 2px;
color: white;
}
code {
background-color: darkslategray;
color: var(--accent-color);
padding-left: .2em;
padding-right: .2em;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
border-radius: 2px;
display: inline-block;
}
input, select {
padding: .4em;
background-color: black;
color: white;
border: medium solid var(--accent-color);
}
p, ul {
padding-bottom: .6em;
}
img {
image-rendering: pixelated;
}
#linksBox {
padding: 2em;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
width: 100%;
background-color: black;
outline: 2px solid var(--accent-color);
border-radius: 0 0 4px 4px;
height: fit-content;
gap: 1em;
background-color: rgb(0, 30, 0);
}
#headerLinks a {
margin-top: auto;
margin-bottom: auto;
padding: 0;
padding-left: 0;
}
#everythingHelper {
max-width: 80%;
margin: auto;
transform: .2s;
display: flex;
gap: var(--box-gap);
}
#headerLinks {
padding: 0;
text-align: left;
width: 100%;
}
#headerLinksAndTitle {
display: flex;
flex-direction: column;
gap: 1em;
}
#logoTitle {
display: flex;
flex-direction: column;
gap: .5em;
}
#title {
margin: auto;
text-align: center;
}
#logo {
height: 8em;
}
#featured {
display: flex;
flex-direction: column;
}
#featuredHelper {
display: flex;
flex-direction: column;
}
.featuredProject {
gap: 1em;
display: flex;
transition: .2s;
font-size: smaller;
padding: 4px;
overflow: hidden;
}
.featuredProjectName {
margin-top: auto;
padding: 0;
}
.featuredProjectSubtitle {
overflow: hidden;
width: 100%;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical
}
.featuredProjectSubtitle {
padding-bottom: 0px;
}
.featuredProject img {
height: 5em;
border: medium solid var(--accent-color);
}
.featuredProject p {
margin-right: auto;
margin-left: auto;
text-overflow:clip;
}
#featured h2 {
font-size: medium;
font-weight: 100;
margin-bottom: 10px;
}
#featuredHelper {
gap: 10px;
flex-wrap: wrap;
}
li {
margin-left: 20px;
list-style-type: "> ";
margin-bottom: .4em;
}
h1, h2, h3 {
margin-bottom: .4em;
}
.errorQuote {
color: gray;
}
.dimText {
opacity: .6;
}
.rainbowText {
background: linear-gradient(to right, var(--text-color), var(--accent-color), var(--accent-secondary));
-webkit-background-clip: text;
background-clip: text;
color: transparent;
animation: rainbow_animation 6s ease-in-out infinite;
background-size: 400% 100%;
}
@keyframes rainbow_animation {
0%,100% {
background-position: 0 0;
}
50% {
background-position: 100% 0;
}
}
@media only screen and (max-width: 1280px) {
#everythingHelper {
flex-direction: column;
}
aside {
width: 100%;
}
#projectTitle {
font-size: larger;
}
#headerLinksAndTitle {
flex-direction: row;
}
#headerLinks {
margin-left: 2em;
}
}
@media only screen and (max-width: 300px) {
}

View file

@ -9,4 +9,4 @@ images: ["tenkuma-silverfish.jpg", "tenkuma-mrnando-enderdragon.jpg"]
I'm tenkuma. A bear, dreamer and sometimes developer. I'm tenkuma. A bear, dreamer and sometimes developer.
You can found more about me on [my website](https://adrianvictor.rf.gd). You can find more about me on [my website](https://adrianvictor.rf.gd).

View file

@ -1,12 +1,20 @@
--- ---
layout: "base.njk" layout: "base.njk"
styles: ["home"]
--- ---
{% import "featured.njk" as featured %} {% import "featured.njk" as featured %}
<h1>Welcome.</h1> <h1>Howdy, traveler.</h1>
<p>This is a project that aims to preserve Minecraft Beta mods and plugins through archives of documentation and JARs, and showcase new plugins for beta.</p> <p>This website is <b class="rainbowText">the place</b> for Minecraft plugins, made with users and developers in mind. neobeta is open-source, you can find out how the website is made in our <a href="https://github.com/adrianvic/neoBeta">GitHub repository</a> <span class="dimText">(spoiler: there's some real magic going on).</span></p>
<p>Our catalog is made by developers and community, you can get involved by following the tutorial linked <a href="/contribute">here</a>.</p>
<div id="featureAndUpdates">
<div>
<h2>Featured projects</h2> <h2>Featured projects</h2>
{{ featured.projectShowcase(["ghostsandstuff", "aboukkit", "tenkumalib", "hangglidere", "devilwithin", "timekeeper", "tefreezer"], collections.projects) }}
{{ featured.projectShowcase(["aboukkit", "tenkumalib", "hangglidere", "devilwithin", "timekeeper", "tefreezer"], collections.projects) }} </div>
</ul> <div id="homeUpdates">
<h2>Latest updates</h2>
<p>2025-10-27: Website redesign!<br>Yaaay! neoBeta got a stylish redesign.</p>
</div>
</div>

View file

@ -1,4 +1,5 @@
--- ---
styles: ["search"]
layout: "base.njk" layout: "base.njk"
--- ---
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/elasticlunr/0.9.6/elasticlunr.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/elasticlunr/0.9.6/elasticlunr.min.js"></script>
@ -9,7 +10,6 @@ layout: "base.njk"
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 1em; gap: 1em;
justify-content: center;
} }
</style> </style>