feat: Somewhat convert to Zola

This commit is contained in:
2024-01-13 13:25:00 +01:00
parent 26b3856adb
commit 719501edaf
32 changed files with 2082 additions and 273 deletions

37
templates/base.html Normal file
View File

@@ -0,0 +1,37 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="{{ get_url(path="css/index.css") }}" rel="stylesheet" />
<link rel="shortcut icon" href="{{ get_url(path="img/favicon.ico") }}" sizes="32x32" />
<link href="{{ get_url(path="atom.xml", trailing_slash=false) }}" type="application/atom+xml" rel="alternate" title="Moxxy Blog" />
{% if page %}
<meta property="og:description" content="{{ page.description }}" />
<meta property="og:title" content="{{ page.title }}" />
<title>{{ page.title }}</title>
{% else %}
<meta property="og:description" content="{{ config.description }}" />
<meta property="og:title" content="{{ config.title }}" />
<title>{{ config.title }}</title>
{% endif %}
</head>
<body>
<div class="flex flex-col">
{% include "header.html" %}
{% block content %}{% endblock %}
</div>
<footer class="h-8 w-full flex flex-row justify-center">
<span class="text-sm text-center">
Made with &lt;3 by
<a class="text-sky-400" href="https://polynom.me" target="_blank" rel="noopener noreferrer">PapaTutuWawa</a>
using <a class="text-sky-400" href="https://tailwindcss.com/" target="_blank" rel="noopener noreferrer">TailwindCSS</a>,
<a class="text-sky-400" href="https://jekyllrb.com/" target="_blank" rel="noopener noreferrer">Jekyll</a> and
<a class="text-sky-400" href="https://heroicons.com/">heroicons</a>.
</span>
</footer>
</body>
</html>

34
templates/blog.html Normal file
View File

@@ -0,0 +1,34 @@
{% extends "base.html" %}
{% block content %}
<div class="w-full flex flex-row justify-center mt-2">
<div class="w-full lg:w-1/2 px-8 flex flex-col items-start">
<div class="flex flex-row items-center gap-x-3">
<h1 class="text-3xl">Blog posts</h1>
<a href="{{ get_url(path="atom.xml", trailing_slash=false) }}">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M12.75 19.5v-.75a7.5 7.5 0 00-7.5-7.5H4.5m0-6.75h.75c7.87 0 14.25 6.38 14.25 14.25v.75M6 18.75a.75.75 0 11-1.5 0 .75.75 0 011.5 0z" />
</svg>
</a>
</div>
<div class="divide-y divide-blue-200">
{% for post in section.pages %}
<!-- Post item -->
<div class="flex flex-col pt-4">
<a href="{{ post.permalink | safe }}">
<h1 class="text-indigo-400 prose prose-lg text-xl">{{ post.title }}</h1>
</a>
<span class="text-md mt-2">Posted by <i>{{ post.extra.author }}</i> on {{ post.date }}</span>
<!-- Blurp -->
<span class="prose mt-4">
{{ post.summary | safe }}
</span>
</div>
{% endfor %}
</div>
</div>
</div>
{% endblock %}

74
templates/developers.html Normal file
View File

@@ -0,0 +1,74 @@
{% extends "base.html" %}
{% block content %}
<div class="w-full flex flex-row justify-center">
<div class="w-full lg:w-1/2">
<div class="w-full p-8 flex flex-col">
<div class="w-full pt-4">
<p>
Moxxy is fully open source. You can find the source code <a class="text-sky-400" href="{{ config.extra.sourceUrl }}">on Codeberg</a>. Additionally, the code is
mirrored <a class="text-sky-400" href="{{ config.extra.githubMirrorUrl }}">on GitHub</a>.
</p>
<p class="pt-1 pb-4">
Feel free to join the <a class="text-sky-400" href="{{ config.extra.generalMuc }}">general chat</a> or the <a class="text-sky-400" href="{{ config.extra.developmentMuc }}">developer chat</a> with your favourite XMPP client.
</p>
</div>
<h1 class="text-3xl font-bold">Libraries</h1>
<p class="pb-4">
Moxxy is built from various smaller libraries that are custom-made for this purpose. Some of them are for general usage, some are specific to the use case of building Moxxy.
</p>
<table class="table-fixed">
<thead class="bg-gray-100">
<tr>
<th class="text-left px-1">Library</th>
<th class="text-left px-1">Description</th>
<th class="text-left px-1">Moxxy specific</th>
</tr>
</thead>
<tbody class="divide-y divide-blue-200">
{% for library in config.extra.libraries %}
<tr>
<td class="pr-4">
<a class="text-sky-400" href="{{ library.url}}">{{ library.name }}</a>
</td>
<td class="pr-4">{{ library.desc }}</td>
<td class="pr-4">{% if library.specific %}Yes{% else %}No{% endif %}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="w-full p-8 flex flex-col">
<h1 class="text-3xl font-bold">Custom XEPs</h1>
<p class="pb-4">
Moxxy currently implements some custom XMPP protocols to provide additional functionality. These are experimental and are intended to be upstreamed at some point.
</p>
<table class="table-fixed">
<thead class="bg-gray-100">
<tr>
<th class="text-left px-1">Name</th>
<th class="text-left px-1">Description</th>
</tr>
</thead>
<tbody class="divide-y divide-blue-200">
{% for xep in config.extra.customXeps %}
<tr>
<td class="pr-4">
<a class="text-sky-400" href="{{ xep.url }}">{{ xep.name }}</a>
</td>
<td class="pr-4">{{ xep.desc }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
{% endblock %}

19
templates/header.html Normal file
View File

@@ -0,0 +1,19 @@
<div class="relative h-16 inset-x-0 inset-y-0 px-4 shadow-md grid place-items-center">
<div class="flex flex-row items-center w-full">
<!-- The Moxxy logo -->
<a href="{{ get_url(path="@/_index.md") }}">
<img src="{{ get_url(path="img/logo.png") }}" class="w-12 h-12 p-2" />
</a>
<a href="{{ get_url(path="@/_index.md") }}">
<span class="font-bold">Moxxy</span>
</a>
<!-- Spacer -->
<div class="grow"></div>
<a href="/blog/" class="px-2 text-sky-400">Blog</a>
<a href="{{ get_url(path="@/developers.md") }}" class="px-2 text-sky-400">Developers</a>
<a href="{{ config.extra.sourceUrl }}" class="px-2 text-sky-400">Source</a>
</div>
</div>

54
templates/index.html Normal file
View File

@@ -0,0 +1,54 @@
{% extends "base.html" %}
{% block content %}
<div class="w-full bg-moxxy-purple p-8 flex flex-row justify-center h-fit">
<div class="lg:w-1/2 grid grid-cols-2 gap-4">
<div class="grid grid-cols-1 place-items-center">
<span class="text-neutral-100 text-2xl text-center">{{ config.extra.heroText }}</span>
</div>
<div class="grid grid-rows-1 place-items-center">
<img class="rounded-md h-64 lg:h-96" src="{{ get_url(path=config.extra.mainScreenshot) }}" />
</div>
</div>
</div>
<div class="w-full p-8">
<div class="flex flex-col items-center">
<div class="flex flex-wrap gap-4">
{% for badge in config.extra.badges %}
<a href="{{ badge.url }}">
<img class="h-24 md:h-16" src="{{ get_url(path=badge.image)}}" />
</a>
{% endfor %}
</div>
</div>
</div>
<div class="w-full p-8">
<div class="flex flex-col items-center">
<div>
<h1 class="text-3xl font-bold pb-4 place-self-start">Features</h1>
<ul class="list-disc px-4">
{% for feature in config.extra.features %}
<li>{{ feature }}</li>
{% endfor %}
</ul>
</div>
</div>
</div>
<div class="w-full p-8">
<div class="flex flex-col items-center">
<div>
<h1 class="text-3xl font-bold pb-4 place-self-start">Screenshots</h1>
<div class="flex flex-nowrap gap-8 overflow-scroll">
{% for screenshot in config.extra.screenshots %}
<img class="h-96 rounded-md" src="{{ get_url(path=screenshot) }}" />
{% endfor %}
</div>
</div>
</div>
</div>
{% endblock %}

13
templates/post.html Normal file
View File

@@ -0,0 +1,13 @@
{% extends "base.html" %}
{% block content %}
<div class="w-full md:max-w-prose mt-2 mx-auto">
<div class="px-8">
<h1 class="text-3xl">{{ page.title }}</h1>
<span>Posted by <span class="italic">{{ page.extra.author }}</span> on {{ page.date }}</span>
<article class="mt-5 prose lg:prose-lg">
{{ page.content | safe }}
</article>
</div>
</div>
{% endblock %}