Better Bytemalte.de connection + some new links

This commit is contained in:
2026-01-21 12:00:42 +01:00
parent 194e85a870
commit 1e95b1210d
7 changed files with 195 additions and 58 deletions

8
dist/index.html vendored
View File

@@ -5,15 +5,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>malxte.de</title>
<link rel="stylesheet" href="/style-de1163fb8e7f1e9f.css" integrity="sha384-Qk0Sx6+TQ+0t0kImWcag8nFP0A+5ZfcbEmg/0RIdI7Nxf1ukyBgfugbvt7soTCdV"/>
<link rel="stylesheet" href="/style-fb9089de5a4908ea.css" integrity="sha384-TbnRZQhX48pOkoTfZnziB6kb9QANwFYWl3oUoNX4ZDcs5zF3984vuwvjzYhbDHBu"/>
<link rel="modulepreload" href="/malxte_de-a1fcba309c628f85.js" crossorigin="anonymous" integrity="sha384-06AF+lVyho7SjFO19hlTN6L77f6QblEYN/dxuVySyGHOtnddtKWQGlKOtXqFNem7"><link rel="preload" href="/malxte_de-a1fcba309c628f85_bg.wasm" crossorigin="anonymous" integrity="sha384-S4Qh2qvnZ1zdwWPrC7kCmJYbYkGDRxdIPMoCrfwspBoMMOYu+bAPdLVYJa5+TV4K" as="fetch" type="application/wasm"></head>
<link rel="modulepreload" href="/malxte_de-f10b011d077b7c01.js" crossorigin="anonymous" integrity="sha384-jlPUmz6rTFP1mUjzBnSE/83zqqGc9X7TQVeOunNUztwmMXgA0ywjEZHn3IuIG30D"><link rel="preload" href="/malxte_de-f10b011d077b7c01_bg.wasm" crossorigin="anonymous" integrity="sha384-jRP1oMCuvVBSpOoXGauCKxSOoJsux8NW6RIvfpOISuROVUc1q86AUHzBl72C+yxH" as="fetch" type="application/wasm"></head>
<body>
<main id="app"></main>
<script type="module">
import init, * as bindings from '/malxte_de-a1fcba309c628f85.js';
const wasm = await init({ module_or_path: '/malxte_de-a1fcba309c628f85_bg.wasm' });
import init, * as bindings from '/malxte_de-f10b011d077b7c01.js';
const wasm = await init({ module_or_path: '/malxte_de-f10b011d077b7c01_bg.wasm' });
window.wasmBindings = bindings;

Binary file not shown.

View File

@@ -239,16 +239,16 @@ if (!('encodeInto' in cachedTextEncoder)) {
let WASM_VECTOR_LEN = 0;
function wasm_bindgen__convert__closures________invoke__hb54cc54debfd07fa(arg0, arg1, arg2) {
wasm.wasm_bindgen__convert__closures________invoke__hb54cc54debfd07fa(arg0, arg1, arg2);
function wasm_bindgen__convert__closures_____invoke__hd74c78cc6d010620(arg0, arg1, arg2) {
wasm.wasm_bindgen__convert__closures_____invoke__hd74c78cc6d010620(arg0, arg1, arg2);
}
function wasm_bindgen__convert__closures_____invoke__h41150144d570379a(arg0, arg1, arg2) {
wasm.wasm_bindgen__convert__closures_____invoke__h41150144d570379a(arg0, arg1, arg2);
function wasm_bindgen__convert__closures________invoke__h23c2baf6581a4bc2(arg0, arg1, arg2) {
wasm.wasm_bindgen__convert__closures________invoke__h23c2baf6581a4bc2(arg0, arg1, arg2);
}
function wasm_bindgen__convert__closures_____invoke__h1f2eaa716dfe757f(arg0, arg1) {
const ret = wasm.wasm_bindgen__convert__closures_____invoke__h1f2eaa716dfe757f(arg0, arg1);
function wasm_bindgen__convert__closures_____invoke__h2cf11297fc3d3acb(arg0, arg1) {
const ret = wasm.wasm_bindgen__convert__closures_____invoke__h2cf11297fc3d3acb(arg0, arg1);
return ret !== 0;
}
@@ -511,7 +511,7 @@ function __wbg_get_imports() {
const a = state0.a;
state0.a = 0;
try {
return wasm_bindgen__convert__closures_____invoke__h1f2eaa716dfe757f(a, state0.b, );
return wasm_bindgen__convert__closures_____invoke__h2cf11297fc3d3acb(a, state0.b, );
} finally {
state0.a = a;
}
@@ -619,14 +619,14 @@ function __wbg_get_imports() {
const ret = getStringFromWasm0(arg0, arg1);
return ret;
};
imports.wbg.__wbindgen_cast_295febe9c636652e = function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { dtor_idx: 78, function: Function { arguments: [Ref(NamedExternref("Event"))], shim_idx: 79, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.
const ret = makeClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__hb6274a26455260b0, wasm_bindgen__convert__closures________invoke__hb54cc54debfd07fa);
imports.wbg.__wbindgen_cast_e49fe2d752991888 = function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { dtor_idx: 83, function: Function { arguments: [Ref(NamedExternref("Event"))], shim_idx: 84, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.
const ret = makeClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__hf7301791a73ed9f8, wasm_bindgen__convert__closures________invoke__h23c2baf6581a4bc2);
return ret;
};
imports.wbg.__wbindgen_cast_3334ea73b4b28ba3 = function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { dtor_idx: 244, function: Function { arguments: [Externref], shim_idx: 245, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__ha835f51ef6e3f0cc, wasm_bindgen__convert__closures_____invoke__h41150144d570379a);
imports.wbg.__wbindgen_cast_e8894838d0f79395 = function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { dtor_idx: 243, function: Function { arguments: [Externref], shim_idx: 244, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__hb1e09a0000e4c67e, wasm_bindgen__convert__closures_____invoke__hd74c78cc6d010620);
return ret;
};
imports.wbg.__wbindgen_init_externref_table = function() {

BIN
dist/malxte_de-f10b011d077b7c01_bg.wasm vendored Normal file

Binary file not shown.

View File

@@ -1,18 +1,22 @@
/* Define CSS Variables for a Dark Mode theme */
:root {
--bg-color: #0f172a; /* Dark blue background */
--card-bg: #1e293b; /* Slightly lighter dark blue for cards */
--text-primary: #f8fafc; /* Bright white for main text */
--text-secondary: #94a3b8; /* Grayish-blue for secondary text */
--accent: #3b82f6; /* A pleasant blue for accents */
--hover-accent: #60a5fa; /* Lighter blue for hover effects */
--bg-color: #0f172a; /* Dark blue background */
--card-bg: #1e293b; /* Slightly lighter dark blue for cards */
--text-primary: #f8fafc; /* Bright white for main text */
--text-secondary: #94a3b8; /* Grayish-blue for secondary text */
--accent: #3b82f6; /* A pleasant blue for accents */
--hover-accent: #60a5fa; /* Lighter blue for hover effects */
}
/* Base styles for the document body */
body {
background-color: var(--bg-color);
color: var(--text-primary);
font-family: 'Inter', system-ui, -apple-system, sans-serif;
font-family:
"Inter",
system-ui,
-apple-system,
sans-serif;
margin: 0;
line-height: 1.6;
}
@@ -33,7 +37,7 @@ body {
display: flex;
flex-direction: column;
justify-content: center; /* Center content vertically */
align-items: center; /* Center content horizontally */
align-items: center; /* Center content horizontally */
text-align: center;
}
@@ -44,6 +48,7 @@ body {
/* Creates a gradient text effect */
background: linear-gradient(to right, #fff, var(--accent));
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
@@ -71,6 +76,58 @@ h2 {
display: inline-block; /* Makes the underline only cover the text */
}
/* Project Links Section Styling */
.project-links-section {
text-align: center;
}
.call-to-action-container {
background: linear-gradient(145deg, var(--card-bg), #1a2232);
padding: 4rem 2rem;
border-radius: 16px;
display: flex;
flex-direction: column;
align-items: center;
gap: 2rem;
border: 1px solid rgba(59, 130, 246, 0.2);
box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.5);
position: relative;
overflow: hidden;
}
.call-to-action-container::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, var(--accent), transparent);
}
.call-to-action-container p {
font-size: 1.2rem;
color: var(--text-secondary);
margin: 0;
}
.cta-button {
background-color: var(--accent);
color: white;
padding: 1rem 2rem;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
transition: all 0.3s ease;
box-shadow: 0 4px 14px 0 rgba(59, 130, 246, 0.39);
}
.cta-button:hover {
background-color: var(--hover-accent);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(59, 130, 246, 0.23);
}
/* Grid for the Social Links */
.grid-links {
display: grid;
@@ -87,7 +144,7 @@ h2 {
text-decoration: none;
color: var(--text-primary);
/* Transition for smooth hover effect */
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
border: 1px solid transparent;
display: flex;
flex-direction: column;
@@ -147,9 +204,9 @@ h2 {
/* Uses CSS View Timeline for true scroll-based animation (modern browser feature) */
animation-timeline: view();
animation-range: entry 10% cover 30%; /* Triggers when 10% of element enters and ends when 30% of viewport is covered */
/* Fallback: Start invisible */
opacity: 0;
opacity: 0;
}
/* Fallback for browsers that do not support 'animation-timeline: view()' */
@@ -159,4 +216,4 @@ h2 {
opacity: 1;
transform: none;
}
}
}