feat: initial confgen port

This commit is contained in:
LordMZTE 2024-08-16 11:41:38 +02:00
parent 6be4892e3f
commit 3fcb554200
Signed by: LordMZTE
GPG key ID: B64802DC33A64FF6
27 changed files with 205 additions and 173 deletions

3
.gitignore vendored
View file

@ -1 +1,2 @@
public
/build
/result*

5
.luarc.json Normal file
View file

@ -0,0 +1,5 @@
{
"diagnostics.globals": [
"cg"
]
}

4
confgen.lua Normal file
View file

@ -0,0 +1,4 @@
cg.addPath("src", ".")
cg.addPath("resources", ".")
cg.opt.doctype = "<!DOCTYPE html>"

View file

@ -1,18 +0,0 @@
# The URL the site will be built for
base_url = "https://mzte.de"
# Whether to automatically compile all Sass files in the sass directory
compile_sass = true
# Whether to build a search index to be used later on by a JavaScript library
build_search_index = false
minify_html = true
[markdown]
# Whether to do syntax highlighting
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
highlight_code = true
[extra]
# Put all your custom variables here

View file

@ -1,15 +0,0 @@
+++
title = "LordMZTE"
+++
# Hey! Welcome to my website!
I'm LordMZTE, a programmer from Germany. I like to code in Zig, sometimes Rust and rarely also some Minecraft mods.
If you're looking for my projects, you should visit [my git server](/git).
## Contact
Feel free to send me an E-Mail at [lord@mzte.de](mailto:lord@mzte.de), but please PGP-Encrypt it with [my key](/public.key).
If you want to chat, you can also reach me on matrix (`@lordmzte:mzte.de`).
[PGP key](/public.key)

View file

@ -1,12 +1,47 @@
{
"nodes": {
"confgen": {
"inputs": {
"nixpkgs": "nixpkgs",
"utils": "utils"
},
"locked": {
"lastModified": 1723800090,
"narHash": "sha256-jeECBke8Z7ghi/qsCP8mcrrTheAHKVaaeMGxhpilRDg=",
"ref": "refs/heads/master",
"rev": "5dd5861030a2d629ea52debfe97d66d01995e0c1",
"revCount": 102,
"type": "git",
"url": "https://git.mzte.de/LordMZTE/confgen.git"
},
"original": {
"type": "git",
"url": "https://git.mzte.de/LordMZTE/confgen.git"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1722062969,
"narHash": "sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg=",
"lastModified": 1723637854,
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b73c2221a46c13557b1b3be9c2070cc42cf01eb3",
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1723637854,
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
"type": "github"
},
"original": {
@ -18,8 +53,9 @@
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"utils": "utils"
"confgen": "confgen",
"nixpkgs": "nixpkgs_2",
"utils": "utils_2"
}
},
"systems": {
@ -37,6 +73,21 @@
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
@ -54,6 +105,24 @@
"repo": "flake-utils",
"type": "github"
}
},
"utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
}
},
"root": "root",

View file

@ -2,36 +2,92 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
utils.url = "github:numtide/flake-utils";
confgen.url = "git+https://git.mzte.de/LordMZTE/confgen.git";
};
outputs =
{ self
, nixpkgs
, utils
, confgen
,
}: utils.lib.eachDefaultSystem
(system:
let
pkgs = import nixpkgs { inherit system; };
in
{
rec {
packages.lua-discount = pkgs.luajitPackages.callPackage
(
{ buildLuarocksPackage
, fetchFromGitHub
, ...
}: buildLuarocksPackage rec {
pname = "lua-discount";
version = "dev-1";
src = fetchFromGitHub {
owner = "asb";
repo = pname;
rev = "1.2.10.1";
hash = "sha256-UFleCaZkfTDnbjd6+2TwoMacc1hA3h89ghpwtgW51og=";
};
}
)
{ };
#packages.default = pkgs.stdenvNoCC.mkDerivation {
# name = "homepage";
# src = ./.;
# dontConfigure = true;
# dontFixup = true;
# buildPhase = ''
# runHook preBuild
# ${pkgs.zola}/bin/zola build
# runHook postBuild
# '';
# installPhase = ''
# runHook preInstall
# mv public "$out"
# runHook postInstall
# '';
#};
packages.default = pkgs.stdenvNoCC.mkDerivation {
name = "homepage";
src = ./.;
dontConfigure = true;
dontFixup = true;
buildPhase = ''
runHook preBuild
${pkgs.zola}/bin/zola build
runHook postBuild
'';
nativeBuildInputs = [
confgen.packages.${system}.default
packages.lua-discount
];
installPhase = ''
runHook preInstall
mv public "$out"
runHook postInstall
buildPhase = ''
cd $src
confgen confgen.lua $out
'';
};
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
luajit
confgen.packages.${system}.default
packages.lua-discount
httplz
(pkgs.writeShellScriptBin "serve" ''
# Mount the site via confgenfs and start an HTTP server.
# Requires a working FUSE3 installation
mkdir -p build/cgfs
confgenfs confgen.lua build/cgfs &
httplz build/cgfs
fusermount -u build/cgfs
'')
];
};
});
}

View file

@ -0,0 +1 @@
{"m.homeserver":{"base_url":"https://mzte.de"},"m.identity_server":{"base_url":"https://vector.im"}}

View file

@ -0,0 +1 @@
{"m.server":"matrix.mzte.de:8448"}

View file

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View file

Before

Width:  |  Height:  |  Size: 503 B

After

Width:  |  Height:  |  Size: 503 B

View file

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View file

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View file

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View file

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

52
src/index.html.cgt Normal file
View file

@ -0,0 +1,52 @@
<% opt.doctype %>
<! function linkImg(ref, img, alt) !>
<a href="<% ref %>" target="_blank"><img src="<% img %>" alt="<% alt %>" width="50" height="50" /></a>
<br />
<! end !>
<html>
<head>
<link rel="stylesheet" href="index.css" type="text/css" media="all" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<title>LordMZTE</title>
</head>
<body>
<div style="height: 100px">
<div id="header" height="100">
<img src="/img/logo.svg" alt="logo" width="100" height="100" />
<h1>LordMZTE</h1>
</div>
<div id="links">
<!
linkImg("https://pythonlang.org", "/img/pythno.png", "pythonlang")
linkImg("https://git.mzte.de", "/img/forgejo.svg", "MZTE Git")
linkImg("https://github.com/LordMZTE", "/img/github.svg", "Github")
linkImg("https://ntfy.mzte.de", "/img/ntfy.svg", "ntfy")
!>
</div>
</div>
<div id=" content" width="100%">
<! tmpl:pushSubtmpl(function(tmpl) tmpl:setPostProcessor(require "discount") !>
# Hey! Welcome to my website!
I'm LordMZTE, a programmer from Thuringia, Germany. I like to code in Zig, sometimes Rust and rarely
also some Minecraft mods. If you're looking for my projects, you should visit [my git server](/git).
## Contact
Feel free to send me an E-Mail at [lord@mzte.de](mailto:lord@mzte.de), but please PGP-Encrypt it
with [my key](/public.key).
If you want to chat, you can also reach me on matrix (`@lordmzte:mzte.de`).
[PGP key](/public.key)
<! end) !>
</div>
</body>
</html>

View file

@ -1,8 +0,0 @@
{
"m.homeserver": {
"base_url": "https://mzte.de"
},
"org.matrix.msc3575.proxy": {
"url": "https://mzte.de"
}
}

View file

@ -1,3 +0,0 @@
{
"m.server": "matrix.mzte.de:8448"
}

View file

@ -1,68 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="500"
height="500"
viewBox="0 0 132.29166 132.29167"
version="1.1"
id="svg5"
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
sodipodi:docname="brevo.svg"
inkscape:export-filename="/home/lordmzte/mnt/data/logos/brevo.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
units="px"
width="500px"
inkscape:zoom="1.1759259"
inkscape:cx="231.73228"
inkscape:cy="275.52756"
inkscape:window-width="1876"
inkscape:window-height="951"
inkscape:window-x="20"
inkscape:window-y="85"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
aria-label="BREVO"
id="text2102"
style="font-size:10.5833px;line-height:1.25;fill:#ffffff;stroke-width:0.264583"
transform="matrix(3.7741532,0,0,16.526844,-111.12926,-871.5072)">
<path
d="m 30.48868,56.903102 v 2.826692 h 1.674311 q 0.842323,0 1.245398,-0.346231 0.408242,-0.351399 0.408242,-1.069699 0,-0.723468 -0.408242,-1.064531 -0.403075,-0.346231 -1.245398,-0.346231 z m 0,-3.172923 v 2.325432 h 1.54512 q 0.764809,0 1.136878,-0.284219 0.377237,-0.289387 0.377237,-0.878497 0,-0.583942 -0.377237,-0.873329 -0.372069,-0.289387 -1.136878,-0.289387 z m -1.043861,-0.857826 h 2.666495 q 1.193722,0 1.839676,0.496092 0.645953,0.496092 0.645953,1.410762 0,0.707965 -0.330728,1.126543 -0.330728,0.418578 -0.971514,0.52193 0.769976,0.165364 1.193722,0.692462 0.428913,0.521931 0.428913,1.30741 0,1.033525 -0.702797,1.596796 -0.702798,0.563272 -1.999872,0.563272 h -2.769848 z"
id="path10736" />
<path
d="m 40.364014,56.970281 q 0.335896,0.113688 0.651121,0.485757 0.320393,0.372069 0.640786,1.02319 l 1.059364,2.108392 H 41.59391 l -0.987017,-1.979201 q -0.382404,-0.775144 -0.744138,-1.028358 -0.356567,-0.253214 -0.976682,-0.253214 h -1.136878 v 3.260773 h -1.04386 v -7.715267 h 2.356438 q 1.322912,0 1.974033,0.552936 0.651121,0.552936 0.651121,1.669144 0,0.728635 -0.341063,1.209224 -0.335896,0.480589 -0.98185,0.666624 z m -2.614819,-3.240102 v 2.738842 h 1.312578 q 0.754473,0 1.136877,-0.346231 0.387572,-0.351398 0.387572,-1.028357 0,-0.67696 -0.387572,-1.018023 -0.382404,-0.346231 -1.136877,-0.346231 z"
id="path10738" />
<path
d="m 44.058867,52.872353 h 4.87824 v 0.878497 h -3.834379 v 2.284091 h 3.674182 v 0.878496 h -3.674182 v 2.795686 h 3.927396 v 0.878497 h -4.971257 z"
id="path10740" />
<path
d="m 52.735312,60.58762 -2.945547,-7.715267 h 1.090369 l 2.444287,6.495707 2.449456,-6.495707 h 1.085201 l -2.940379,7.715267 z"
id="path10742" />
<path
d="m 60.93117,53.580318 q -1.136878,0 -1.80867,0.847491 -0.666624,0.84749 -0.666624,2.309929 0,1.457271 0.666624,2.304761 0.671792,0.847491 1.80867,0.847491 1.136877,0 1.798334,-0.847491 0.666624,-0.84749 0.666624,-2.304761 0,-1.462439 -0.666624,-2.309929 -0.661457,-0.847491 -1.798334,-0.847491 z m 0,-0.847491 q 1.622634,0 2.594148,1.090369 0.971514,1.085202 0.971514,2.914542 0,1.824172 -0.971514,2.914541 -0.971514,1.085202 -2.594148,1.085202 -1.627803,0 -2.604484,-1.085202 -0.971514,-1.085201 -0.971514,-2.914541 0,-1.82934 0.971514,-2.914542 0.976681,-1.090369 2.604484,-1.090369 z"
id="path10744" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

View file

@ -1,10 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22">
<style>
@media (prefers-color-scheme: dark) {
path {
fill: white;
}
}
</style>
<path d="M1.263 2.744C2.41 3.832 2.845 4.932 4.118 5.08l.036.007c-.588.606-1.09 1.402-1.443 2.423-.38 1.096-.488 2.285-.614 3.659-.19 2.046-.401 4.364-1.556 7.269-2.486 6.258-1.12 11.63.332 17.317.664 2.604 1.348 5.297 1.642 8.107a.857.857 0 00.633.744.86.86 0 00.922-.323c.227-.313.524-.797.86-1.424.84 3.323 1.355 6.13 1.783 8.697a.866.866 0 001.517.41c2.88-3.463 3.763-8.636 2.184-12.674.459-2.433 1.402-4.45 2.398-6.583.536-1.15 1.08-2.318 1.55-3.566.228-.084.569-.314.79-.441l1.707-.981-.256 1.052a.864.864 0 001.678.408l.68-2.858 1.285-2.95a.863.863 0 10-1.581-.687l-1.152 2.669-2.383 1.372a18.97 18.97 0 00.508-2.981c.432-4.86-.718-9.074-3.066-11.266-.163-.157-.208-.281-.247-.26.095-.12.249-.26.358-.374 2.283-1.693 6.047-.147 8.319.75.589.232.876-.337.316-.67-1.95-1.153-5.948-4.196-8.188-6.193-.313-.275-.527-.607-.89-.913C9.825.555 4.072 3.057 1.355 2.569c-.102-.018-.166.103-.092.175m10.98 5.899c-.06 1.242-.603 1.8-1 2.208-.217.224-.426.436-.524.738-.236.714.008 1.51.66 2.143 1.974 1.84 2.925 5.527 2.538 9.86-.291 3.288-1.448 5.763-2.671 8.385-1.031 2.207-2.096 4.489-2.577 7.259a.853.853 0 00.056.48c1.02 2.434 1.135 6.197-.672 9.46a96.586 96.586 0 00-1.97-8.711c1.964-4.488 4.203-11.75 2.919-17.668-.325-1.497-1.304-3.276-2.387-4.207-.208-.18-.402-.237-.495-.167-.084.06-.151.238-.062.444.55 1.266.879 2.599 1.226 4.276 1.125 5.443-.956 12.49-2.835 16.782l-.116.259-.457.982c-.356-2.014-.85-3.95-1.33-5.84-1.38-5.406-2.68-10.515-.401-16.254 1.247-3.137 1.483-5.692 1.672-7.746.116-1.263.216-2.355.526-3.252.905-2.605 3.062-3.178 4.744-2.852 1.632.316 3.24 1.593 3.156 3.42zm-2.868.62a1.177 1.177 0 10.736-2.236 1.178 1.178 0 10-.736 2.237z" />
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -1,30 +0,0 @@
{% import "macros.html" as macros %}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" href="index.css" type="text/css" media="all" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<title>LordMZTE</title>
</head>
<body>
<div style="height: 100px">
<div id="header" height="100">
<img src="/img/logo.svg" alt="logo" width="100" height="100" />
<h1>LordMZTE</h1>
</div>
<div id="links">
{{ macros::link_img(ref="https://pythonlang.org", img="/img/pythno.png", alt="pythonlang") }}
{{ macros::link_img(ref="https://git.mzte.de", img="/img/forgejo.svg", alt="forgejo") }}
{{ macros::link_img(ref="https://github.com/lordmzte", img="/img/github.svg", alt="github") }}
{{ macros::link_img(ref="https://ntfy.mzte.de", img="/img/ntfy.svg", alt="ntfy") }}
</div>
</div>
<div id=" content" width="100%">{{ section.content | safe }}</div>
</body>
</html>

View file

@ -1,5 +0,0 @@
{% macro link_img(ref, img, alt, rel="") %}
<a href="{{ ref }}" target="_blank" {% if rel %} rel="{{ rel }}" {% endif %}><img src="{{ img }}" alt="{{ alt }}"
width="50" height="50" /></a>
<br />
{% endmacro link_img %}