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