Initial commit
This commit is contained in:
commit
58d94ad34a
62
_config.yml
Normal file
62
_config.yml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
permalink: /posts/:year-:month-:day-:title:output_ext
|
||||||
|
|
||||||
|
sourceUrl: https://codeberg.org/moxxy/moxxy
|
||||||
|
githubMirrorUrl: https://github.com/PapaTutuWawa/moxxy
|
||||||
|
|
||||||
|
developerMuc: xmpp:moxxy@muc.moxxy.org?join
|
||||||
|
|
||||||
|
index:
|
||||||
|
heroText: An experimental and modern XMPP client
|
||||||
|
mainScreenshotUrl: /assets/img/screenshots/1.png
|
||||||
|
|
||||||
|
screenshots:
|
||||||
|
- /assets/img/screenshots/1.png
|
||||||
|
- /assets/img/screenshots/2.png
|
||||||
|
|
||||||
|
badges:
|
||||||
|
codeberg:
|
||||||
|
url: https://codeberg.org/moxxy/moxxy/releases/latest
|
||||||
|
izzy:
|
||||||
|
url: https://apt.izzysoft.de/fdroid/index/apk/org.moxxy.moxxyv2
|
||||||
|
|
||||||
|
features:
|
||||||
|
- End-to-End encryption using OMEMO
|
||||||
|
- Stickers
|
||||||
|
- Reactions
|
||||||
|
- Retract messages
|
||||||
|
- Voice messages
|
||||||
|
- Swipe-to-quote
|
||||||
|
- Chat background images
|
||||||
|
- Optional privacy-preserving integration with phone contacts
|
||||||
|
- Open-Source
|
||||||
|
|
||||||
|
developers:
|
||||||
|
libraries:
|
||||||
|
- name: moxxmpp
|
||||||
|
desc: XMPP library written in Dart
|
||||||
|
specific: false
|
||||||
|
url: https://codeberg.org/moxxy/moxxmpp
|
||||||
|
- name: moxdns
|
||||||
|
desc: DNS SRV resolver for Flutter
|
||||||
|
specific: true
|
||||||
|
url: https://codeberg.org/moxxy/moxdns
|
||||||
|
- name: moxlib
|
||||||
|
desc: Shared functions for Moxxy-specific projects
|
||||||
|
specific: true
|
||||||
|
url: https://codeberg.org/moxxy/moxlib
|
||||||
|
- name: moxplatform
|
||||||
|
desc: Platform-specific code
|
||||||
|
specific: true
|
||||||
|
url: https://codeberg.org/moxxy/moxplatform
|
||||||
|
- name: omemo_dart
|
||||||
|
desc: Implementation of the cryptography for OMEMO 0.8.3 with a high-level interface
|
||||||
|
specific: false
|
||||||
|
url: https://codeberg.org/PapaTutuWawa/omemo_dart
|
||||||
|
|
||||||
|
customXeps:
|
||||||
|
- name: Extensible File Thumbnails
|
||||||
|
desc: Provide an extensible way of specifying thumbnails that are neccessarily binary data
|
||||||
|
url: https://codeberg.org/moxxy/custom-xeps/src/branch/master/xep-xxxx-extensible-file-thumbnails.md
|
||||||
|
- name: File Upload Notification
|
||||||
|
desc: Allow communicating that an OOB file upload is currently running to improve the consistency of the conversation
|
||||||
|
url: https://codeberg.org/moxxy/custom-xeps/src/branch/master/xep-xxxx-file-upload-notification.md
|
20
_includes/header.html
Normal file
20
_includes/header.html
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<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 -->
|
||||||
|
<!-- TODO: Asset -->
|
||||||
|
<a href="/index.html">
|
||||||
|
<img src="https://git.polynom.me/moxxy/moxxy/raw/branch/master/assets/images/logo.png" class="w-12 h-12 p-2" />
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="/index.html">
|
||||||
|
<span class="font-bold">Moxxy</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<!-- Spacer -->
|
||||||
|
<div class="grow"></div>
|
||||||
|
|
||||||
|
<a href="/posts.html" class="px-2 text-sky-400">Blog</a>
|
||||||
|
<a href="/developers.html" class="px-2 text-sky-400">Developers</a>
|
||||||
|
<a href="{{ site.sourceUrl }}" class="px-2 text-sky-400">Source</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
25
_layouts/default.html
Normal file
25
_layouts/default.html
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>{{ page.title }}</title>
|
||||||
|
<link href="/dist/output.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
<body class="min-h-screen h-full flex flex-col">
|
||||||
|
{% include header.html %}
|
||||||
|
|
||||||
|
<div class="flex-grow">
|
||||||
|
{{ content }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<footer class="h-8 w-full flex flex-row justify-center">
|
||||||
|
<span class="text-sm text-center">
|
||||||
|
Made with <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>
|
||||||
|
and <a class="text-sky-400" href="https://jekyllrb.com/" target="_blank" rel="noopener noreferrer">Jekyll</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
15
_layouts/post.html
Normal file
15
_layouts/post.html
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="w-full flex flex-row justify-center mt-2">
|
||||||
|
<div class="w-full lg:w-3/4 px-8 flex flex-col items-start">
|
||||||
|
<h1 class="text-3xl">{{ page.title }}</h1>
|
||||||
|
|
||||||
|
<span>Posted by <span class="italic">{{ page.author }}</span> on {{ page.date | date: "%d.%m.%Y" }}</span>
|
||||||
|
|
||||||
|
<article class="mt-5 prose lg:prose-xl max-w-none">
|
||||||
|
{{ page.content }}
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
7
_posts/2023-01-24-test.md
Normal file
7
_posts/2023-01-24-test.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: Test
|
||||||
|
author: PapaTutuWawa
|
||||||
|
---
|
||||||
|
|
||||||
|
Hallo welt
|
0
assets/css/.gitkeep
Normal file
0
assets/css/.gitkeep
Normal file
BIN
assets/img/badges/IzzyOnDroid.png
Normal file
BIN
assets/img/badges/IzzyOnDroid.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
BIN
assets/img/badges/codeberg.png
Normal file
BIN
assets/img/badges/codeberg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
BIN
assets/img/screenshots/1.png
Normal file
BIN
assets/img/screenshots/1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 73 KiB |
BIN
assets/img/screenshots/2.png
Normal file
BIN
assets/img/screenshots/2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 528 KiB |
75
developers.html
Normal file
75
developers.html
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
title: Developer Information | Moxxy
|
||||||
|
---
|
||||||
|
|
||||||
|
<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="{{ site.sourceUrl }}">on Codeberg</a>. Additionally, the code is
|
||||||
|
mirrored <a class="text-sky-400" href="{{ site.githubMirrorUrl }}">on GitHub</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="pt-1 pb-4">
|
||||||
|
Feel free to join the <a class="text-sky-400" href="{{ site.developerMuc }}">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 site.developers.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 site.developers.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>
|
43
flake.lock
Normal file
43
flake.lock
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1667395993,
|
||||||
|
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1674236650,
|
||||||
|
"narHash": "sha256-B4GKL1YdJnII6DQNNJ4wDW1ySJVx2suB1h/v4Ql8J0Q=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "cfb43ad7b941d9c3606fb35d91228da7ebddbfc5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
32
flake.nix
Normal file
32
flake.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
description = "The website for Moxxy";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
|
||||||
|
tailwindWithTypography = (pkgs.nodePackages.tailwindcss.overrideAttrs (old: {
|
||||||
|
plugins = [
|
||||||
|
pkgs.nodePackages."@tailwindcss/typography"
|
||||||
|
];
|
||||||
|
}));
|
||||||
|
in {
|
||||||
|
devShell = pkgs.mkShell {
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
tailwindWithTypography
|
||||||
|
jekyll
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
packages = {
|
||||||
|
website = pkgs.callPackage ./pkgs/page.nix {
|
||||||
|
inherit tailwindWithTypography;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
57
index.html
Normal file
57
index.html
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
title: A modern XMPP client | Moxxy
|
||||||
|
---
|
||||||
|
|
||||||
|
<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">{{ site.index.heroText }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="grid grid-rows-1 place-items-center">
|
||||||
|
<img class="rounded-md h-64 lg:h-96" src="{{ site.index.mainScreenshotUrl }}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="w-full p-8">
|
||||||
|
<div class="flex flex-col items-center">
|
||||||
|
<div class="flex flex-wrap gap-4">
|
||||||
|
<a href="{{ site.index.badges.izzy.url }}">
|
||||||
|
<img class="h-24 md:h-16" src="/assets/img/badges/IzzyOnDroid.png" />
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a href="{{ site.index.badges.codeberg.url }}">
|
||||||
|
<img class="h-24 md:h-16" src="/assets/img/badges/codeberg.png" />
|
||||||
|
</a>
|
||||||
|
</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 site.index.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 site.index.screenshots %}
|
||||||
|
<img class="h-96 rounded-md" src="{{ screenshot }}" />
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
3
input.css
Normal file
3
input.css
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
@tailwind base;
|
||||||
|
@tailwind components;
|
||||||
|
@tailwind utilities;
|
21
pkgs/page.nix
Normal file
21
pkgs/page.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
jekyll, tailwindWithTypography
|
||||||
|
, stdenv
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "moxxyv2-website";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = ./../.;
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
${jekyll}/bin/jekyll build
|
||||||
|
cp -r ./assets _site/assets
|
||||||
|
${tailwindWithTypography}/bin/tailwindcss --input ./input.css --output ./_site/assets/css/index.css
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/var/www/
|
||||||
|
cp -vr _site/ $out/var/www/website
|
||||||
|
'';
|
||||||
|
}
|
26
posts.html
Normal file
26
posts.html
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
title: Blog Posts | Moxxy
|
||||||
|
---
|
||||||
|
|
||||||
|
<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">
|
||||||
|
<h1 class="text-3xl">Blog posts</h1>
|
||||||
|
|
||||||
|
<div class="divide-y divide-blue-200">
|
||||||
|
{% for post in site.posts %}
|
||||||
|
<div class="mb-2">
|
||||||
|
<a href="{{ post.url }}" class="text-2xl text-sky-400">{{ post.title }}</a>
|
||||||
|
|
||||||
|
<div class="flex flex-row pl-2">
|
||||||
|
<span>By <span>{{ post.author }}</span></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="mt-2 pl-2 text-slate-600">
|
||||||
|
{{ post.excerpt | markdownify | strip_html | truncatewords: 100 }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
19
tailwind.config.js
Normal file
19
tailwind.config.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
module.exports = {
|
||||||
|
content: [
|
||||||
|
"./_layouts/*.html",
|
||||||
|
"./_includes/*.html",
|
||||||
|
"./index.html",
|
||||||
|
"./developers.html",
|
||||||
|
"./posts.html",
|
||||||
|
],
|
||||||
|
theme: {
|
||||||
|
extend: {
|
||||||
|
colors: {
|
||||||
|
'moxxy-purple': '#cf4aff',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
require('@tailwindcss/typography'),
|
||||||
|
],
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user