+13
-2
assets/css/extended.css
+13
-2
assets/css/extended.css
···
30
30
.main {
31
31
max-width: 100% !important;
32
32
margin: 0 auto;
33
-
padding: 0;
33
+
padding: 0; /* Reset global padding */
34
34
min-height: calc(100vh - 300px); /* Ensure footer stays down */
35
+
}
36
+
37
+
/* Add spacing specifically for the blog list page and category lists */
38
+
.posts-list-container,
39
+
.term-container {
40
+
padding-top: 6rem; /* Space under the header */
35
41
}
36
42
37
43
/* Specific content constraints for articles */
···
40
46
.list .post-entry,
41
47
.term-container {
42
48
max-width: 800px;
43
-
margin: 0 auto;
49
+
margin-left: auto;
50
+
margin-right: auto;
51
+
}
52
+
53
+
.list .post-entry {
54
+
margin-bottom: 2rem; /* Spacing between posts in lists */
44
55
}
45
56
46
57
h1, h2, h3, h4, h5, h6 {
+2
-2
content/posts/2025-12-28-marius-toolbox-issue-1.md
+2
-2
content/posts/2025-12-28-marius-toolbox-issue-1.md
···
1
1
---
2
-
title: "Marius Toolbox - issue #1"
2
+
title: "Marius Toolbox - toolbox #1"
3
3
date: 2025-12-28T11:51:32Z
4
4
description: "An Introduction"
5
5
draft: false
···
7
7
8
8
*Originally published at [Leaflet](https://toolbox.leaflet.pub/3mb2azrbokk2k)*
9
9
10
-
<div class="postContent flex flex-col"><p><span class=" ">Welcome dear Reader,</span></p><p><span class=" ">I am Marius and I've been a bit obsessed with developer tooling and workflows for a while now. There is a certain feeling that you get from things that work really well and exactly the way you want them to.</span></p><p><span class=" "></span></p><p><span class=" ">I've been working as a Software Engineer & DevOps Engineer (I know I hate that title too) for ~7 years now. I've figured out pretty early on in my career that what interests me the most are all the things around the code, such as production deployments, observability, infrastructure, scaling, databases and development workflows. Especially since these things became more & more codified through Infrastructure as Code and the like.</span></p><p><span class=" "></span></p><p><span class=" ">In this newsletter I'll document my journey of adopting new tools, improving workflows as well as sharing what didn't work for me. How often I am going to publish, how long these articles will be and what I am going to focus on the most, that we'll all figure out together. I don't have clear plan laid out just yet.</span></p><p><span class=" "></span></p><p><span class=" ">Here are some of the tools I am currently using to give you an idea of what might be coming next:</span></p><p><span class=" "></span></p><ul><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Neovim</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Ghostty</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Tmux</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Lazygit</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Terraform / Opentofu</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Fish (shell)</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Docker / Podman</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">kind (kubernetes in docker)</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">k9s</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Obsidian (notes)</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Go</span></p></div></li></ul><p><span class=" "></span></p><p><span class=" ">This is not an exhaustive list but I hope it gives you an Idea of the kind of things this newsletter will be all about. You can probably already tell that I am a terminal geek and that's where I plan on staying throughout all of this.</span></p><p><span class=" "></span></p><p><span class=" ">You can also find my current configurations in my </span><a href="https://github.com/mariuskimmina/.dotfiles" class="text-accent-contrast hover:underline " target="_blank">.dotfiles repo</a><span class=" "> - currently only on Github I am considering moving it over to Tangled and keeping Github as a readonly mirror.</span></p><p><span class=" "></span></p><p><span class=" ">Some tools I am particularly excited about exploring at the moment</span></p><p><span class=" "></span></p><ul><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">jj (jujutsu vcs)</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">nix / NixOS</span></p></div></li></ul><p><span class=" "></span></p><p><span class=" ">I might also sneak in some less technical articles around how I manage work and personal projects with Obsidian and note taking - if there is interests in this kind of thing too.</span></p><p><span class=" "></span></p><p><span class=" ">I'd be beyond happy to have people reach out with suggestions, you can always message me on BlueSky.</span></p><p><span class=" "></span></p><p><span class=" "></span></p><p><span class=" "></span></p><p><span class=" "></span></p><p><span class=" "></span></p></div>
10
+
<div class="postContent flex flex-col"><p><span class=" ">Welcome dear Reader,</span></p><p><span class=" ">I am Marius and I've been a bit obsessed with developer tooling and workflows for a while now. There is a certain feeling that you get from things that work really well and exactly the way you want them to.</span></p><p><span class=" "></span></p><p><span class=" ">I've been working as a Software Engineer & DevOps Engineer (I know I hate that title too) for ~7 years now. I've figured out pretty early on in my career that what interests me the most are all the things around the code, such as production deployments, observability, infrastructure, scaling, databases and development workflows. Especially since these things became more & more codified through Infrastructure as Code and the like.</span></p><p><span class=" "></span></p><p><span class=" ">In this newsletter I'll document my journey of adopting new tools, improving workflows as well as sharing what didn't work for me. How often I am going to publish, how long these articles will be and what I am going to focus on the most, that we'll all figure out together. I don't have clear plan laid out just yet.</span></p><p><span class=" "></span></p><p><span class=" ">Here are some of the tools I am currently using to give you an idea of what might be coming next:</span></p><p><span class=" "></span></p><ul><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Neovim</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Ghostty</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Tmux</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Lazygit</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Terraform / Opentofu</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Fish (shell)</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Docker / Podman</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">kind (kubernetes in docker)</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">k9s</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Obsidian (notes)</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">Go</span></p></div></li></ul><p><span class=" "></span></p><p><span class=" ">This is not an exhaustive list but I hope it gives you an Idea of the kind of things this newsletter will be all about. You can probably already tell that I am a terminal geek and that's where I plan on staying throughout all of this.</span></p><p><span class=" "></span></p><p><span class=" ">You can also find my current configurations in my </span><a href="https://github.com/mariuskimmina/.dotfiles" class="text-accent-contrast hover:underline " target="_blank">.dotfiles repo</a><span class=" "> - currently only on Github I am considering moving it over to Tangled and keeping Github as a readonly mirror.</span></p><p><span class=" "></span></p><p><span class=" ">Some tools I am particularly excited about exploring at the moment</span></p><p><span class=" "></span></p><ul><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">jj (jujutsu vcs)</span></p></div></li><li class="pb-0! flex flex-row gap-2"><div class="listMarker shrink-0 mx-2 z-1 mt-[14px] h-[5px] w-[5px] rounded-full bg-secondary"></div><div class="flex flex-col"><p><span class=" ">nix / NixOS</span></p></div></li></ul><p><span class=" "></span></p><p><span class=" ">I might also sneak in some less technical articles around how I manage work and personal projects with Obsidian and note taking - if there is interests in this kind of thing too.</span></p><p><span class=" "></span></p><p><span class=" ">I'd be beyond happy to have people reach out with suggestions, you can always message me on BlueSky.</span></p><p><span class=" "></span></p><p><span class=" "></span></p><p><span class=" "></span></p><p><span class=" "></span></p><p><span class=" "></span></p></div>
+2
-2
content/posts/2026-01-02-making-sense-of-nixos-with-nixos-anywhere-issue-2.md
+2
-2
content/posts/2026-01-02-making-sense-of-nixos-with-nixos-anywhere-issue-2.md
···
1
1
---
2
-
title: "Making sense of NixOS with nixos-anywhere - issue #2"
2
+
title: "Making sense of NixOS with nixos-anywhere - toolbox #2"
3
3
date: 2026-01-02T17:22:48Z
4
4
description: "Using nix as an IaC tool"
5
5
draft: false
···
7
7
8
8
*Originally published at [Leaflet](https://toolbox.leaflet.pub/3mbhfupgzu22l)*
9
9
10
-
<div class="postContent flex flex-col"><p><span class=" ">Now, this might just be me, but I was trying to love nix & nixos for a while already but whenever I tired to use for my personal projects or as a operating system for my personal computer but then I always felt like it got in the way at times.</span></p><p><span class=" ">On a personal computer I might spontaneously have to install proprietary software, like zoom, to get my work done and NixOS makes that a pain. I always went back to arch after a while but the thought of it's declarative beauty was still lingering in my mind.</span></p><p><span class=" ">I recently heard more and more people using NixOS for their servers and production workloads and, thinking about it, that makes perfect sense. I will never ever need to install zoom or the like on a server. But I do care a lot about being in control of exactly what is installed on it, especially when running production workloads. Being able to define everything in a declarative configuration and check it into version control.</span></p><p><span class=" ">The problem with that at first seemed to be that most cloud providers simply don't offer NixOS (yet) but that also appears to be a very solvable problem since there is </span><a href="https://github.com/nix-community/nixos-anywhere" class="text-accent-contrast hover:underline " target="_blank">nixos-anywhere</a><span class=" ">. This tool turns any cloud VM into a NixOS machine using </span><code class=" inline-code ">kexec</code><span class=" ">. I tried it today and I am blown away by how well it works.</span></p><p><span class=" ">I have followed the setup of </span><a href="https://github.com/nix-community/nixos-anywhere-examples" class="text-accent-contrast hover:underline " target="_blank">nixos-anywhere-examples</a><span class=" "> and turned a Hetzner Ubuntu machine into NixOS in just a few minutes and a single command</span></p><div class="w-full min-h-[42px] rounded-md border-border-light outline-border-light selected-outline"><pre class="shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#6F42C1">nix</span><span style="color:#032F62"> run</span><span style="color:#032F62"> nixpkgs#nixos-anywhere</span><span style="color:#005CC5"> --</span><span style="color:#005CC5"> --flake</span><span style="color:#032F62"> .generic</span><span style="color:#005CC5"> --generate-hardware-config</span><span style="color:#032F62"> nixos-generate-config</span><span style="color:#032F62"> ./hardware-configuration.nix</span><span style="color:#032F62"> root@</span><span style="color:#D73A49"><</span><span style="color:#032F62">your-i</span><span style="color:#24292E">p</span><span style="color:#D73A49">></span></span></code></pre></div><p><span class=" ">And now all configuration files for this machine are on my local computer, I can edit them and check them into version control. And when I want to apply a change it's again just one command</span></p><div class="w-full min-h-[42px] rounded-md border-border-light outline-border-light selected-outline"><pre class="shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#6F42C1">nix</span><span style="color:#032F62"> run</span><span style="color:#032F62"> nixpkgs#nixos-rebuild</span><span style="color:#005CC5"> --</span><span style="color:#032F62"> switch</span><span style="color:#005CC5"> --flake</span><span style="color:#032F62"> .#generic</span><span style="color:#005CC5"> --target-host</span><span style="color:#032F62"> root@</span><span style="color:#D73A49"><</span><span style="color:#032F62">your-i</span><span style="color:#24292E">p</span><span style="color:#D73A49">></span></span></code></pre></div><p><span class=" "></span></p><p><span class=" ">You can find the config here: <br/></span><a href="https://tangled.org/mariuskimmina.com/nix-hetzner-lab" class="text-accent-contrast hover:underline " target="_blank">https://tangled.org/mariuskimmina.com/nix-hetzner-lab</a><span class=" "><br/><br/>For now it's just a minimal edit of the example repo but I have some plans for a project I want to host this way and to see how nix as IaC tool will hold up.</span></p><p><span class=" "></span></p><p><span class=" ">... maybe someday I will also get back to it for my personal computer once again ...</span></p></div>
10
+
<div class="postContent flex flex-col"><p><span class=" ">Now, this might just be me, but I was trying to love nix & nixos for a while already but whenever I tired to use for my personal projects or as a operating system for my personal computer but then I always felt like it got in the way at times.</span></p><p><span class=" ">On a personal computer I might spontaneously have to install proprietary software, like zoom, to get my work done and NixOS makes that a pain. I always went back to arch after a while but the thought of it's declarative beauty was still lingering in my mind.</span></p><p><span class=" ">I recently heard more and more people using NixOS for their servers and production workloads and, thinking about it, that makes perfect sense. I will never ever need to install zoom or the like on a server. But I do care a lot about being in control of exactly what is installed on it, especially when running production workloads. Being able to define everything in a declarative configuration and check it into version control.</span></p><p><span class=" ">The problem with that at first seemed to be that most cloud providers simply don't offer NixOS (yet) but that also appears to be a very solvable problem since there is </span><a href="https://github.com/nix-community/nixos-anywhere" class="text-accent-contrast hover:underline " target="_blank">nixos-anywhere</a><span class=" ">. This tool turns any cloud VM into a NixOS machine using </span><code class=" inline-code ">kexec</code><span class=" ">. I tried it today and I am blown away by how well it works.</span></p><p><span class=" ">I have followed the setup of </span><a href="https://github.com/nix-community/nixos-anywhere-examples" class="text-accent-contrast hover:underline " target="_blank">nixos-anywhere-examples</a><span class=" "> and turned a Hetzner Ubuntu machine into NixOS in just a few minutes and a single command</span></p><div class="w-full min-h-[42px] rounded-md border-border-light outline-border-light selected-outline"><pre class="shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#6F42C1">nix</span><span style="color:#032F62"> run</span><span style="color:#032F62"> nixpkgs#nixos-anywhere</span><span style="color:#005CC5"> --</span><span style="color:#005CC5"> --flake</span><span style="color:#032F62"> .generic</span><span style="color:#005CC5"> --generate-hardware-config</span><span style="color:#032F62"> nixos-generate-config</span><span style="color:#032F62"> ./hardware-configuration.nix</span><span style="color:#032F62"> root@</span><span style="color:#D73A49"><</span><span style="color:#032F62">your-i</span><span style="color:#24292E">p</span><span style="color:#D73A49">></span></span></code></pre></div><p><span class=" ">And now all configuration files for this machine are on my local computer, I can edit them and check them into version control. And when I want to apply a change it's again just one command</span></p><div class="w-full min-h-[42px] rounded-md border-border-light outline-border-light selected-outline"><pre class="shiki github-light" style="background-color:#fff;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#6F42C1">nix</span><span style="color:#032F62"> run</span><span style="color:#032F62"> nixpkgs#nixos-rebuild</span><span style="color:#005CC5"> --</span><span style="color:#032F62"> switch</span><span style="color:#005CC5"> --flake</span><span style="color:#032F62"> .#generic</span><span style="color:#005CC5"> --target-host</span><span style="color:#032F62"> root@</span><span style="color:#D73A49"><</span><span style="color:#032F62">your-i</span><span style="color:#24292E">p</span><span style="color:#D73A49">></span></span></code></pre></div><p><span class=" "></span></p><p><span class=" ">You can find the config here: <br/></span><a href="https://tangled.org/mariuskimmina.com/nix-hetzner-lab" class="text-accent-contrast hover:underline " target="_blank">https://tangled.org/mariuskimmina.com/nix-hetzner-lab</a><span class=" "><br/><br/>For now it's just a minimal edit of the example repo but I have some plans for a project I want to host this way and to see how nix as IaC tool will hold up.</span></p><p><span class=" "></span></p><p><span class=" ">... maybe someday I will also get back to it for my personal computer once again ...</span></p></div>
+3
-1
hugo.toml
+3
-1
hugo.toml
···
11
11
pagerSize = 10
12
12
13
13
[params]
14
+
[cover]
15
+
hidden = true
14
16
# Theme settings
15
17
env = "production"
16
18
description = "Software engineer, speaker, and educator."
···
27
29
ShowReadingTime = true
28
30
ShowShareButtons = true
29
31
ShowPostNavLinks = true
30
-
ShowBreadCrumbs = true
32
+
ShowBreadCrumbs = false
31
33
ShowCodeCopyButtons = true
32
34
ShowWordCount = true
33
35
ShowToc = true
+73
-98
layouts/index.html
+73
-98
layouts/index.html
···
1
1
{{ define "main" }}
2
2
<section class="intro-section">
3
-
<div class="intro-content">
4
-
<h2 class="intro-subtitle">Software Engineer</h2>
5
-
<h1 class="intro-title">Marius Kimmina</h1>
6
-
<p class="intro-description">Software engineer, speaker, and educator dedicated to building accessible and
7
-
performant web applications. I help developers build better software, stronger careers, and a more inclusive tech
8
-
industry.</p>
9
-
<div class="intro-actions">
10
-
<a href="/contact" class="button primary">Contact</a>
3
+
<div class="intro-content">
4
+
<h2 class="intro-subtitle">Senior Software Engineer</h2>
5
+
<h1 class="intro-title">Marius Kimmina</h1>
6
+
<p class="intro-description">Software engineer, speaker, and educator dedicated to building accessible and performant web applications. I help developers build better software, stronger careers, and a more inclusive tech industry.</p>
7
+
<div class="intro-actions">
8
+
<a href="/contact" class="button primary">Contact</a>
9
+
</div>
11
10
</div>
12
-
</div>
13
11
</section>
14
12
15
13
<section class="about-preview-section">
16
-
<div class="about-preview-container">
17
-
<div class="about-grid">
18
-
<div class="about-text">
19
-
<h2>About Me</h2>
20
-
<p>I am a software engineer with a deep interest in backend systems, cloud infrastructure, and the human side of
21
-
technology. I believe that building great software is as much about understanding people as it is about
22
-
understanding code.</p>
23
-
<p>When I'm not at my desk, you might find me exploring local cafes, reading a good book, or contributing to
24
-
various open-source projects.</p>
25
-
</div>
26
-
<div class="about-image">
27
-
<img src="/images/profile.jpg" alt="Marius Kimmina">
28
-
</div>
14
+
<div class="about-preview-container">
15
+
<div class="about-grid">
16
+
<div class="about-text">
17
+
<h2>About Me</h2>
18
+
<p>I am a software engineer with a deep interest in backend systems, cloud infrastructure, and the human side of technology. I believe that building great software is as much about understanding people as it is about understanding code.</p>
19
+
<p>When I'm not at my desk, you might find me exploring local cafes, reading a good book, or contributing to various open-source projects.</p>
20
+
</div>
21
+
<div class="about-image">
22
+
<img src="/images/profile.jpg" alt="Marius Kimmina">
23
+
</div>
24
+
</div>
25
+
<div class="about-actions-row">
26
+
<a href="/about" class="button outline">Learn more about me</a>
27
+
<div class="about-socials">
28
+
<!-- BlueSky -->
29
+
<a href="https://bsky.app/profile/mariuskimmina.com" aria-label="BlueSky" target="_blank" rel="noopener noreferrer">
30
+
<svg viewBox="0 0 512 512" width="24" height="24" fill="currentColor"><path d="M111.8 62.2C170.2 105.9 233 194.7 256 242.4c23-47.6 85.8-136.4 144.2-180.2c42.1-31.6 110.3-56 110.3 21.8c0 15.5-8.9 130.5-14.1 149.2C478.1 298 412 314.6 353.1 304.5c102.9 17.5 129.1 75.5 72.5 120.6c-121.9 97.4-147.2-74.9-161.2-148.5C261.3 259.3 259.6 258 256 258s-5.3 1.3-8.4 18.6c-14 73.6-39.3 245.9-161.2 148.5c-56.6-45.1-30.4-103.1 72.5-120.6C100 314.6 33.9 298 15.7 233.1C10.5 214.4 1.6 99.4 1.6 83.9c0-77.8 68.2-53.4 110.2-21.7z"/></svg>
31
+
</a>
32
+
<!-- Tangled -->
33
+
<a href="https://tangled.org/mariuskimmina.com" aria-label="Tangled" target="_blank" rel="noopener noreferrer">
34
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
35
+
<g transform="scale(0.8) translate(2, 2)">
36
+
<path d="m 16.348974,24.09935 -0.06485,-0.03766 -0.202005,-0.0106 -0.202008,-0.01048 -0.275736,-0.02601 -0.275734,-0.02602 v -0.02649 -0.02648 l -0.204577,-0.04019 -0.204578,-0.04019 -0.167616,-0.08035 -0.167617,-0.08035 -0.0014,-0.04137 -0.0014,-0.04137 -0.266473,-0.143735 -0.266475,-0.143735 -0.276098,-0.20335 -0.2761,-0.203347 -0.262064,-0.251949 -0.262064,-0.25195 -0.22095,-0.284628 -0.220948,-0.284629 -0.170253,-0.284631 -0.170252,-0.284628 -0.01341,-0.0144 -0.0134,-0.0144 -0.141982,0.161297 -0.14198,0.1613 -0.22313,0.21426 -0.223132,0.214264 -0.186025,0.146053 -0.186023,0.14605 -0.252501,0.163342 -0.252502,0.163342 -0.249014,0.115348 -0.249013,0.115336 0.0053,0.03241 0.0053,0.03241 -0.1716725,0.04599 -0.171669,0.046 -0.3379966,0.101058 -0.3379972,0.101058 -0.1778925,0.04506 -0.1778935,0.04508 -0.3913655,0.02601 -0.3913643,0.02603 -0.3557868,-0.03514 -0.3557863,-0.03514 -0.037426,-0.03029 -0.037427,-0.03029 -0.076924,0.02011 -0.076924,0.02011 -0.050508,-0.05051 -0.050405,-0.05056 L 6.6604532,23.110188 6.451745,23.063961 6.1546135,22.960559 6.1546135,22.960559 5.8574835,22.857156 5.5319879,22.694039 5.2064938,22.530922 4.8793922,22.302961 4.5522905,22.075005 4.247598,21.786585 3.9429055,21.49817 3.7185335,21.208777 3.4941628,20.919385 3.3669822,20.705914 3.239803,20.492443 3.1335213,20.278969 3.0272397,20.065499 2.9015252,19.7275 2.7758105,19.389504 2.6925225,18.998139 2.6092345,18.606774 2.6096814,17.91299 2.6101284,17.219208 2.6744634,16.90029 2.7387984,16.581374 2.8474286,16.242088 2.9560588,15.9028 3.1137374,15.583492 3.2714148,15.264182 3.3415068,15.150766 3.4115988,15.03735 3.3127798,14.96945 3.2139618,14.90157 3.0360685,14.800239 2.8581753,14.698908 2.5913347,14.503228 2.3244955,14.307547 2.0621238,14.055599 1.7997507,13.803651 1.6111953,13.56878 1.4226411,13.333906 1.2632237,13.087474 1.1038089,12.841042 0.97442,12.575195 0.8450307,12.30935 0.724603,11.971351 0.6041766,11.633356 0.52150365,11.241991 0.4388285,10.850626 0.44091592,10.156842 0.44300333,9.4630594 0.54235911,9.0369608 0.6417149,8.6108622 0.7741173,8.2694368 0.9065196,7.9280115 1.0736303,7.6214262 1.2407515,7.3148397 1.45931,7.0191718 1.6778685,6.7235039 1.9300326,6.4611321 2.1821966,6.1987592 2.4134579,6.0137228 2.6447193,5.8286865 2.8759792,5.6776409 3.1072406,5.526594 3.4282004,5.3713977 3.7491603,5.2162016 3.9263009,5.1508695 4.1034416,5.0855373 4.2813348,4.7481598 4.4592292,4.4107823 4.6718,4.108422 4.8843733,3.8060618 5.198353,3.4805372 5.5123313,3.155014 5.7685095,2.9596425 6.0246877,2.7642722 6.329187,2.5851365 6.6336863,2.406002 6.9497657,2.2751596 7.2658453,2.1443184 7.4756394,2.0772947 7.6854348,2.01027 8.0825241,1.931086 8.4796139,1.851902 l 0.5870477,0.00291 0.5870469,0.00291 0.4447315,0.092455 0.444734,0.092455 0.302419,0.1105495 0.302417,0.1105495 0.329929,0.1646046 0.32993,0.1646033 0.239329,-0.2316919 0.239329,-0.2316919 0.160103,-0.1256767 0.160105,-0.1256767 0.160102,-0.1021909 0.160105,-0.1021899 0.142315,-0.082328 0.142314,-0.082328 0.231262,-0.1090091 0.231259,-0.1090091 0.26684,-0.098743 0.266839,-0.098743 0.320208,-0.073514 0.320209,-0.073527 0.355787,-0.041833 0.355785,-0.041834 0.426942,0.023827 0.426945,0.023828 0.355785,0.071179 0.355788,0.0711791 0.284627,0.09267 0.284629,0.09267 0.28514,0.1310267 0.28514,0.1310255 0.238179,0.1446969 0.238174,0.1446979 0.259413,0.1955332 0.259413,0.1955319 0.290757,0.296774 0.290758,0.2967753 0.151736,0.1941581 0.151734,0.1941594 0.135326,0.2149951 0.135327,0.2149952 0.154755,0.3202073 0.154758,0.3202085 0.09409,0.2677358 0.09409,0.267737 0.06948,0.3319087 0.06948,0.3319099 0.01111,0.00808 0.01111,0.00808 0.444734,0.2173653 0.444734,0.2173665 0.309499,0.2161102 0.309497,0.2161101 0.309694,0.2930023 0.309694,0.2930037 0.18752,0.2348726 0.187524,0.2348727 0.166516,0.2574092 0.166519,0.2574108 0.15273,0.3260252 0.152734,0.3260262 0.08972,0.2668403 0.08971,0.2668391 0.08295,0.3913655 0.08295,0.3913652 -6.21e-4,0.6582049 -6.21e-4,0.658204 -0.06362,0.315725 -0.06362,0.315725 -0.09046,0.289112 -0.09046,0.289112 -0.122759,0.281358 -0.12276,0.281356 -0.146626,0.252323 -0.146629,0.252322 -0.190443,0.258668 -0.190448,0.258671 -0.254911,0.268356 -0.254911,0.268355 -0.286872,0.223127 -0.286874,0.223127 -0.320203,0.187693 -0.320209,0.187693 -0.04347,0.03519 -0.04347,0.03521 0.0564,0.12989 0.0564,0.129892 0.08728,0.213472 0.08728,0.213471 0.189755,0.729363 0.189753,0.729362 0.0652,0.302417 0.0652,0.302419 -0.0018,0.675994 -0.0018,0.675995 -0.0801,0.373573 -0.08009,0.373577 -0.09,0.266839 -0.09,0.26684 -0.190389,0.391364 -0.19039,0.391366 -0.223169,0.320207 -0.223167,0.320209 -0.303585,0.315294 -0.303584,0.315291 -0.284631,0.220665 -0.284629,0.220663 -0.220128,0.132359 -0.220127,0.132358 -0.242395,0.106698 -0.242394,0.106699 -0.08895,0.04734 -0.08895,0.04733 -0.249052,0.07247 -0.24905,0.07247 -0.322042,0.0574 -0.322044,0.0574 -0.282794,-0.003 -0.282795,-0.003 -0.07115,-0.0031 -0.07115,-0.0031 -0.177894,-0.0033 -0.177893,-0.0033 -0.124528,0.02555 -0.124528,0.02555 z m -4.470079,-5.349839 0.214838,-0.01739 0.206601,-0.06782 0.206602,-0.06782 0.244389,-0.117874 0.244393,-0.11786 0.274473,-0.206822 0.27447,-0.20682 0.229308,-0.257201 0.229306,-0.2572 0.219161,-0.28463 0.219159,-0.284629 0.188541,-0.284628 0.188543,-0.28463 0.214594,-0.373574 0.214593,-0.373577 0.133861,-0.312006 0.133865,-0.312007 0.02861,-0.01769 0.02861,-0.01769 0.197275,0.26212 0.197278,0.262119 0.163613,0.150814 0.163614,0.150814 0.201914,0.09276 0.201914,0.09276 0.302417,0.01421 0.302418,0.01421 0.213472,-0.08025 0.213471,-0.08025 0.200606,-0.204641 0.200606,-0.204642 0.09242,-0.278887 0.09241,-0.278888 0.05765,-0.302418 0.05764,-0.302416 L 18.41327,13.768114 18.39502,13.34117 18.31849,12.915185 18.24196,12.4892 18.15595,12.168033 18.06994,11.846867 17.928869,11.444534 17.787801,11.042201 17.621278,10.73296 17.454757,10.423723 17.337388,10.263619 17.220021,10.103516 17.095645,9.9837986 16.971268,9.8640816 16.990048,9.6813736 17.008828,9.4986654 16.947568,9.249616 16.886308,9.0005655 16.752419,8.7159355 16.618521,8.4313217 16.435707,8.2294676 16.252892,8.0276114 16.079629,7.9004245 15.906366,7.773238 l -0.20429,0.1230127 -0.204289,0.1230121 -0.26702,0.059413 -0.267022,0.059413 -0.205761,-0.021508 -0.205766,-0.021508 -0.23495,-0.08844 -0.234953,-0.08844 -0.118429,-0.090334 -0.118428,-0.090333 h -0.03944 -0.03944 L 13.711268,7.8540732 13.655958,7.9706205 13.497227,8.1520709 13.338499,8.3335203 13.168394,8.4419112 12.998289,8.550301 12.777045,8.624223 12.5558,8.698155 H 12.275611 11.995429 L 11.799973,8.6309015 11.604513,8.5636472 11.491311,8.5051061 11.37811,8.446565 11.138172,8.2254579 10.898231,8.0043497 l -0.09565,-0.084618 -0.09565,-0.084613 -0.218822,0.198024 -0.218822,0.1980231 -0.165392,0.078387 -0.1653925,0.078387 -0.177894,0.047948 -0.177892,0.047948 L 9.3635263,8.4842631 9.144328,8.4846889 8.9195029,8.4147138 8.6946778,8.3447386 8.5931214,8.4414036 8.491565,8.5380686 8.3707618,8.7019598 8.2499597,8.8658478 8.0802403,8.9290726 7.9105231,8.9922974 7.7952769,9.0780061 7.6800299,9.1637148 7.5706169,9.2778257 7.4612038,9.3919481 7.1059768,9.9205267 6.7507497,10.449105 l -0.2159851,0.449834 -0.2159839,0.449834 -0.2216572,0.462522 -0.2216559,0.462523 -0.1459343,0.337996 -0.1459342,0.337998 -0.055483,0.220042 -0.055483,0.220041 -0.015885,0.206903 -0.015872,0.206901 0.034307,0.242939 0.034307,0.24294 0.096281,0.196632 0.096281,0.196634 0.143607,0.125222 0.1436071,0.125222 0.1873143,0.08737 0.1873141,0.08737 0.2752084,0.002 0.2752084,0.002 0.2312297,-0.09773 0.231231,-0.09772 0.1067615,-0.07603 0.1067614,-0.07603 0.3679062,-0.29377 0.3679065,-0.293771 0.026804,0.01656 0.026804,0.01656 0.023626,0.466819 0.023626,0.466815 0.088326,0.513195 0.088326,0.513193 0.08897,0.364413 0.08897,0.364411 0.1315362,0.302418 0.1315352,0.302418 0.1051964,0.160105 0.1051954,0.160103 0.1104741,0.11877 0.1104731,0.118769 0.2846284,0.205644 0.2846305,0.205642 0.144448,0.07312 0.144448,0.07312 0.214787,0.05566 0.214787,0.05566 0.245601,0.03075 0.245602,0.03075 0.204577,-0.0125 0.204578,-0.0125 z m 0.686342,-3.497495 -0.11281,-0.06077 -0.106155,-0.134033 -0.106155,-0.134031 -0.04406,-0.18371 -0.04406,-0.183707 0.02417,-0.553937 0.02417,-0.553936 0.03513,-0.426945 0.03513,-0.426942 0.07225,-0.373576 0.07225,-0.373575 0.05417,-0.211338 0.05417,-0.211339 0.0674,-0.132112 0.0674,-0.132112 0.132437,-0.10916 0.132437,-0.109161 0.187436,-0.04195 0.187438,-0.04195 0.170366,0.06469 0.170364,0.06469 0.114312,0.124073 0.114313,0.124086 0.04139,0.18495 0.04139,0.184951 -0.111218,0.459845 -0.111219,0.459844 -0.03383,0.26584 -0.03382,0.265841 -0.03986,0.818307 -0.03986,0.818309 -0.0378,0.15162 -0.03779,0.151621 -0.11089,0.110562 -0.110891,0.110561 -0.114489,0.04913 -0.114489,0.04913 -0.187932,-0.0016 -0.187929,-0.0016 z m -2.8087655,-0.358124 -0.146445,-0.06848 -0.088025,-0.119502 -0.088024,-0.119502 -0.038581,-0.106736 -0.038581,-0.106736 -0.02237,-0.134956 -0.02239,-0.134957 -0.031955,-0.46988 -0.031955,-0.469881 0.036203,-0.444733 0.036203,-0.444731 0.048862,-0.215257 0.048862,-0.215255 0.076082,-0.203349 0.076081,-0.203348 0.0936,-0.111244 0.0936,-0.111245 0.143787,-0.06531 0.1437865,-0.06532 h 0.142315 0.142314 l 0.142314,0.06588 0.142316,0.06588 0.093,0.102325 0.093,0.102325 0.04042,0.120942 0.04042,0.120942 v 0.152479 0.152477 l -0.03347,0.08804 -0.03347,0.08805 -0.05693,0.275653 -0.05693,0.275651 2.11e-4,0.430246 2.12e-4,0.430243 0.04294,0.392646 0.04295,0.392647 -0.09189,0.200702 -0.09189,0.200702 -0.148688,0.0984 -0.148687,0.0984 -0.20136,0.01212 -0.2013595,0.01212 z" />
37
+
</g>
38
+
</svg>
39
+
</a>
40
+
<!-- GitHub -->
41
+
<a href="https://github.com/mariuskimmina" aria-label="GitHub" target="_blank" rel="noopener noreferrer">
42
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"/><path d="M9 18c-4.51 2-5-2-7-2"/></svg>
43
+
</a>
44
+
<!-- LinkedIn -->
45
+
<a href="https://www.linkedin.com/in/marius-kimmina/" aria-label="LinkedIn" target="_blank" rel="noopener noreferrer">
46
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect width="4" height="12" x="2" y="9"/><circle cx="4" cy="4" r="2"/></svg>
47
+
</a>
48
+
<!-- YouTube -->
49
+
<a href="https://www.youtube.com/@mariuskimmina" aria-label="YouTube" target="_blank" rel="noopener noreferrer">
50
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.42a2.78 2.78 0 0 0-1.94 2C1 8.11 1 12 1 12s0 3.89.46 5.58a2.78 2.78 0 0 0 1.94 2c1.72.42 8.6.42 8.6.42s6.88 0 8.6-.42a2.78 2.78 0 0 0 1.94-2C23 15.89 23 12 23 12s0-3.89-.46-5.58z"/><polygon points="9.75 15.02 15.5 12 9.75 8.98 9.75 15.02"/></svg>
51
+
</a>
52
+
</div>
53
+
</div>
29
54
</div>
30
-
<div class="about-actions-row">
31
-
<a href="/about" class="button outline">Learn more about me</a>
32
-
<div class="about-socials">
33
-
<!-- BlueSky -->
34
-
<a href="https://bsky.app/profile/mariuskimmina.com" aria-label="BlueSky" target="_blank"
35
-
rel="noopener noreferrer">
36
-
<svg viewBox="0 0 512 512" width="24" height="24" fill="currentColor">
37
-
<path
38
-
d="M111.8 62.2C170.2 105.9 233 194.7 256 242.4c23-47.6 85.8-136.4 144.2-180.2c42.1-31.6 110.3-56 110.3 21.8c0 15.5-8.9 130.5-14.1 149.2C478.1 298 412 314.6 353.1 304.5c102.9 17.5 129.1 75.5 72.5 120.6c-121.9 97.4-147.2-74.9-161.2-148.5C261.3 259.3 259.6 258 256 258s-5.3 1.3-8.4 18.6c-14 73.6-39.3 245.9-161.2 148.5c-56.6-45.1-30.4-103.1 72.5-120.6C100 314.6 33.9 298 15.7 233.1C10.5 214.4 1.6 99.4 1.6 83.9c0-77.8 68.2-53.4 110.2-21.7z" />
39
-
</svg>
40
-
</a>
41
-
<!-- Tangled -->
42
-
<a href="https://tangled.org/mariuskimmina.com" aria-label="Tangled" target="_blank" rel="noopener noreferrer">
43
-
<svg width="24" height="24" viewBox="0 0 24.122343 23.274094" fill="currentColor">
44
-
<g transform="translate(-0.4388285,-0.8629527)">
45
-
<path
46
-
d="m 16.348974,24.09935 -0.06485,-0.03766 -0.202005,-0.0106 -0.202008,-0.01048 -0.275736,-0.02601 -0.275734,-0.02602 v -0.02649 -0.02648 l -0.204577,-0.04019 -0.204578,-0.04019 -0.167616,-0.08035 -0.167617,-0.08035 -0.0014,-0.04137 -0.0014,-0.04137 -0.266473,-0.143735 -0.266475,-0.143735 -0.276098,-0.20335 -0.2761,-0.203347 -0.262064,-0.251949 -0.262064,-0.25195 -0.22095,-0.284628 -0.220948,-0.284629 -0.170253,-0.284631 -0.170252,-0.284628 -0.01341,-0.0144 -0.0134,-0.0144 -0.141982,0.161297 -0.14198,0.1613 -0.22313,0.21426 -0.223132,0.214264 -0.186025,0.146053 -0.186023,0.14605 -0.252501,0.163342 -0.252502,0.163342 -0.249014,0.115348 -0.249013,0.115336 0.0053,0.03241 0.0053,0.03241 -0.1716725,0.04599 -0.171669,0.046 -0.3379966,0.101058 -0.3379972,0.101058 -0.1778925,0.04506 -0.1778935,0.04508 -0.3913655,0.02601 -0.3913643,0.02603 -0.3557868,-0.03514 -0.3557863,-0.03514 -0.037426,-0.03029 -0.037427,-0.03029 -0.076924,0.02011 -0.076924,0.02011 -0.050508,-0.05051 -0.050405,-0.05056 L 6.6604532,23.110188 6.451745,23.063961 6.1546135,22.960559 6.1546135,22.960559 5.8574835,22.857156 5.5319879,22.694039 5.2064938,22.530922 4.8793922,22.302961 4.5522905,22.075005 4.247598,21.786585 3.9429055,21.49817 3.7185335,21.208777 3.4941628,20.919385 3.3669822,20.705914 3.239803,20.492443 3.1335213,20.278969 3.0272397,20.065499 2.9015252,19.7275 2.7758105,19.389504 2.6925225,18.998139 2.6092345,18.606774 2.6096814,17.91299 2.6101284,17.219208 2.6744634,16.90029 2.7387984,16.581374 2.8474286,16.242088 2.9560588,15.9028 3.1137374,15.583492 3.2714148,15.264182 3.3415068,15.150766 3.4115988,15.03735 3.3127798,14.96945 3.2139618,14.90157 3.0360685,14.800239 2.8581753,14.698908 2.5913347,14.503228 2.3244955,14.307547 2.0621238,14.055599 1.7997507,13.803651 1.6111953,13.56878 1.4226411,13.333906 1.2632237,13.087474 1.1038089,12.841042 0.97442,12.575195 0.8450307,12.30935 0.724603,11.971351 0.6041766,11.633356 0.52150365,11.241991 0.4388285,10.850626 0.44091592,10.156842 0.44300333,9.4630594 0.54235911,9.0369608 0.6417149,8.6108622 0.7741173,8.2694368 0.9065196,7.9280115 1.0736303,7.6214262 1.2407515,7.3148397 1.45931,7.0191718 1.6778685,6.7235039 1.9300326,6.4611321 2.1821966,6.1987592 2.4134579,6.0137228 2.6447193,5.8286865 2.8759792,5.6776409 3.1072406,5.526594 3.4282004,5.3713977 3.7491603,5.2162016 3.9263009,5.1508695 4.1034416,5.0855373 4.2813348,4.7481598 4.4592292,4.4107823 4.6718,4.108422 4.8843733,3.8060618 5.198353,3.4805372 5.5123313,3.155014 5.7685095,2.9596425 6.0246877,2.7642722 6.329187,2.5851365 6.6336863,2.406002 6.9497657,2.2751596 7.2658453,2.1443184 7.4756394,2.0772947 7.6854348,2.01027 8.0825241,1.931086 8.4796139,1.851902 l 0.5870477,0.00291 0.5870469,0.00291 0.4447315,0.092455 0.444734,0.092455 0.302419,0.1105495 0.302417,0.1105495 0.329929,0.1646046 0.32993,0.1646033 0.239329,-0.2316919 0.239329,-0.2316919 0.160103,-0.1256767 0.160105,-0.1256767 0.160102,-0.1021909 0.160105,-0.1021899 0.142315,-0.082328 0.142314,-0.082328 0.231262,-0.1090091 0.231259,-0.1090091 0.26684,-0.098743 0.266839,-0.098743 0.320208,-0.073514 0.320209,-0.073527 0.355787,-0.041833 0.355785,-0.041834 0.426942,0.023827 0.426945,0.023828 0.355785,0.071179 0.355788,0.0711791 0.284627,0.09267 0.284629,0.09267 0.28514,0.1310267 0.28514,0.1310255 0.238179,0.1446969 0.238174,0.1446979 0.259413,0.1955332 0.259413,0.1955319 0.290757,0.296774 0.290758,0.2967753 0.151736,0.1941581 0.151734,0.1941594 0.135326,0.2149951 0.135327,0.2149952 0.154755,0.3202073 0.154758,0.3202085 0.09409,0.2677358 0.09409,0.267737 0.06948,0.3319087 0.06948,0.3319099 0.01111,0.00808 0.01111,0.00808 0.444734,0.2173653 0.444734,0.2173665 0.309499,0.2161102 0.309497,0.2161101 0.309694,0.2930023 0.309694,0.2930037 0.18752,0.2348726 0.187524,0.2348727 0.166516,0.2574092 0.166519,0.2574108 0.15273,0.3260252 0.152734,0.3260262 0.08972,0.2668403 0.08971,0.2668391 0.08295,0.3913655 0.08295,0.3913652 -6.21e-4,0.6582049 -6.21e-4,0.658204 -0.06362,0.315725 -0.06362,0.315725 -0.09046,0.289112 -0.09046,0.289112 -0.122759,0.281358 -0.12276,0.281356 -0.146626,0.252323 -0.146629,0.252322 -0.190443,0.258668 -0.190448,0.258671 -0.254911,0.268356 -0.254911,0.268355 -0.286872,0.223127 -0.286874,0.223127 -0.320203,0.187693 -0.320209,0.187693 -0.04347,0.03519 -0.04347,0.03521 0.0564,0.12989 0.0564,0.129892 0.08728,0.213472 0.08728,0.213471 0.189755,0.729363 0.189753,0.729362 0.0652,0.302417 0.0652,0.302419 -0.0018,0.675994 -0.0018,0.675995 -0.0801,0.373573 -0.08009,0.373577 -0.09,0.266839 -0.09,0.26684 -0.190389,0.391364 -0.19039,0.391366 -0.223169,0.320207 -0.223167,0.320209 -0.303585,0.315294 -0.303584,0.315291 -0.284631,0.220665 -0.284629,0.220663 -0.220128,0.132359 -0.220127,0.132358 -0.242395,0.106698 -0.242394,0.106699 -0.08895,0.04734 -0.08895,0.04733 -0.249052,0.07247 -0.24905,0.07247 -0.322042,0.0574 -0.322044,0.0574 -0.282794,-0.003 -0.282795,-0.003 -0.07115,-0.0031 -0.07115,-0.0031 -0.177894,-0.0033 -0.177893,-0.0033 -0.124528,0.02555 -0.124528,0.02555 z m -4.470079,-5.349839 0.214838,-0.01739 0.206601,-0.06782 0.206602,-0.06782 0.244389,-0.117874 0.244393,-0.11786 0.274473,-0.206822 0.27447,-0.20682 0.229308,-0.257201 0.229306,-0.2572 0.219161,-0.28463 0.219159,-0.284629 0.188541,-0.284628 0.188543,-0.28463 0.214594,-0.373574 0.214593,-0.373577 0.133861,-0.312006 0.133865,-0.312007 0.02861,-0.01769 0.02861,-0.01769 0.197275,0.26212 0.197278,0.262119 0.163613,0.150814 0.163614,0.150814 0.201914,0.09276 0.201914,0.09276 0.302417,0.01421 0.302418,0.01421 0.213472,-0.08025 0.213471,-0.08025 0.200606,-0.204641 0.200606,-0.204642 0.09242,-0.278887 0.09241,-0.278888 0.05765,-0.302418 0.05764,-0.302416 L 18.41327,13.768114 18.39502,13.34117 18.31849,12.915185 18.24196,12.4892 18.15595,12.168033 18.06994,11.846867 17.928869,11.444534 17.787801,11.042201 17.621278,10.73296 17.454757,10.423723 17.337388,10.263619 17.220021,10.103516 17.095645,9.9837986 16.971268,9.8640816 16.990048,9.6813736 17.008828,9.4986654 16.947568,9.249616 16.886308,9.0005655 16.752419,8.7159355 16.618521,8.4313217 16.435707,8.2294676 16.252892,8.0276114 16.079629,7.9004245 15.906366,7.773238 l -0.20429,0.1230127 -0.204289,0.1230121 -0.26702,0.059413 -0.267022,0.059413 -0.205761,-0.021508 -0.205766,-0.021508 -0.23495,-0.08844 -0.234953,-0.08844 -0.118429,-0.090334 -0.118428,-0.090333 h -0.03944 -0.03944 L 13.711268,7.8540732 13.655958,7.9706205 13.497227,8.1520709 13.338499,8.3335203 13.168394,8.4419112 12.998289,8.550301 12.777045,8.624223 12.5558,8.698155 H 12.275611 11.995429 L 11.799973,8.6309015 11.604513,8.5636472 11.491311,8.5051061 11.37811,8.446565 11.138172,8.2254579 10.898231,8.0043497 l -0.09565,-0.084618 -0.09565,-0.084613 -0.218822,0.198024 -0.218822,0.1980231 -0.165392,0.078387 -0.1653925,0.078387 -0.177894,0.047948 -0.177892,0.047948 L 9.3635263,8.4842631 9.144328,8.4846889 8.9195029,8.4147138 8.6946778,8.3447386 8.5931214,8.4414036 8.491565,8.5380686 8.3707618,8.7019598 8.2499597,8.8658478 8.0802403,8.9290726 7.9105231,8.9922974 7.7952769,9.0780061 7.6800299,9.1637148 7.5706169,9.2778257 7.4612038,9.3919481 7.1059768,9.9205267 6.7507497,10.449105 l -0.2159851,0.449834 -0.2159839,0.449834 -0.2216572,0.462522 -0.2216559,0.462523 -0.1459343,0.337996 -0.1459342,0.337998 -0.055483,0.220042 -0.055483,0.220041 -0.015885,0.206903 -0.015872,0.206901 0.034307,0.242939 0.034307,0.24294 0.096281,0.196632 0.096281,0.196634 0.143607,0.125222 0.1436071,0.125222 0.1873143,0.08737 0.1873141,0.08737 0.2752084,0.002 0.2752084,0.002 0.2312297,-0.09773 0.231231,-0.09772 0.1067615,-0.07603 0.1067614,-0.07603 0.3679062,-0.29377 0.3679065,-0.293771 0.026804,0.01656 0.026804,0.01656 0.023626,0.466819 0.023626,0.466815 0.088326,0.513195 0.088326,0.513193 0.08897,0.364413 0.08897,0.364411 0.1315362,0.302418 0.1315352,0.302418 0.1051964,0.160105 0.1051954,0.160103 0.1104741,0.11877 0.1104731,0.118769 0.2846284,0.205644 0.2846305,0.205642 0.144448,0.07312 0.144448,0.07312 0.214787,0.05566 0.214787,0.05566 0.245601,0.03075 0.245602,0.03075 0.204577,-0.0125 0.204578,-0.0125 z m 0.686342,-3.497495 -0.11281,-0.06077 -0.106155,-0.134033 -0.106155,-0.134031 -0.04406,-0.18371 -0.04406,-0.183707 0.02417,-0.553937 0.02417,-0.553936 0.03513,-0.426945 0.03513,-0.426942 0.07225,-0.373576 0.07225,-0.373575 0.05417,-0.211338 0.05417,-0.211339 0.0674,-0.132112 0.0674,-0.132112 0.132437,-0.10916 0.132437,-0.109161 0.187436,-0.04195 0.187438,-0.04195 0.170366,0.06469 0.170364,0.06469 0.114312,0.124073 0.114313,0.124086 0.04139,0.18495 0.04139,0.184951 -0.111218,0.459845 -0.111219,0.459844 -0.03383,0.26584 -0.03382,0.265841 -0.03986,0.818307 -0.03986,0.818309 -0.0378,0.15162 -0.03779,0.151621 -0.11089,0.110562 -0.110891,0.110561 -0.114489,0.04913 -0.114489,0.04913 -0.187932,-0.0016 -0.187929,-0.0016 z m -2.8087655,-0.358124 -0.146445,-0.06848 -0.088025,-0.119502 -0.088024,-0.119502 -0.038581,-0.106736 -0.038581,-0.106736 -0.02237,-0.134956 -0.02239,-0.134957 -0.031955,-0.46988 -0.031955,-0.469881 0.036203,-0.444733 0.036203,-0.444731 0.048862,-0.215257 0.048862,-0.215255 0.076082,-0.203349 0.076081,-0.203348 0.0936,-0.111244 0.0936,-0.111245 0.143787,-0.06531 0.1437865,-0.06532 h 0.142315 0.142314 l 0.142314,0.06588 0.142316,0.06588 0.093,0.102325 0.093,0.102325 0.04042,0.120942 0.04042,0.120942 v 0.152479 0.152477 l -0.03347,0.08804 -0.03347,0.08805 -0.05693,0.275653 -0.05693,0.275651 2.11e-4,0.430246 2.12e-4,0.430243 0.04294,0.392646 0.04295,0.392647 -0.09189,0.200702 -0.09189,0.200702 -0.148688,0.0984 -0.148687,0.0984 -0.20136,0.01212 -0.2013595,0.01212 z" />
47
-
</svg>
48
-
</a>
49
-
<!-- GitHub -->
50
-
<a href="https://github.com/mariuskimmina" aria-label="GitHub" target="_blank" rel="noopener noreferrer">
51
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
52
-
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
53
-
<path
54
-
d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4" />
55
-
<path d="M9 18c-4.51 2-5-2-7-2" />
56
-
</svg>
57
-
</a>
58
-
<!-- LinkedIn -->
59
-
<a href="https://www.linkedin.com/in/marius-kimmina/" aria-label="LinkedIn" target="_blank"
60
-
rel="noopener noreferrer">
61
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
62
-
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
63
-
<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" />
64
-
<rect width="4" height="12" x="2" y="9" />
65
-
<circle cx="4" cy="4" r="2" />
66
-
</svg>
67
-
</a>
68
-
<!-- YouTube -->
69
-
<a href="https://www.youtube.com/@mariuskimmina" aria-label="YouTube" target="_blank" rel="noopener noreferrer">
70
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
71
-
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
72
-
<path
73
-
d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.42a2.78 2.78 0 0 0-1.94 2C1 8.11 1 12 1 12s0 3.89.46 5.58a2.78 2.78 0 0 0 1.94 2c1.72.42 8.6.42 8.6.42s6.88 0 8.6-.42a2.78 2.78 0 0 0 1.94-2C23 15.89 23 12 23 12s0-3.89-.46-5.58z" />
74
-
<polygon points="9.75 15.02 15.5 12 9.75 8.98 9.75 15.02" />
75
-
</svg>
76
-
</a>
77
-
</div>
78
-
</div>
79
-
</div>
80
55
</section>
81
56
82
57
<section class="latest-posts">
83
-
<div class="section-header">
84
-
<h2>Latest Content</h2>
85
-
<p>Explore my latest articles, notes, and projects.</p>
86
-
</div>
87
-
<div class="posts-grid">
88
-
{{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
89
-
{{ $paginator := .Paginate $pages }}
90
-
{{ range $paginator.Pages }}
91
-
<article class="post-entry">
92
-
<header class="entry-header">
93
-
<h3><a href="{{ .Permalink }}">{{ .Title }}</a></h3>
94
-
<div class="entry-meta">
95
-
<span class="date">{{ .Date.Format "January 2, 2006" }}</span>
96
-
<span class="reading-time">{{ .ReadingTime }} min read</span>
97
-
</div>
98
-
</header>
99
-
<div class="entry-content">
100
-
<p>{{ .Summary | plainify | truncate 150 }}</p>
101
-
</div>
102
-
</article>
103
-
{{ else }}
104
-
<p>No posts found yet. Stay tuned!</p>
105
-
{{ end }}
106
-
</div>
107
-
{{ .Render "pagination" }}
58
+
<div class="section-header">
59
+
<h2>Latest Content</h2>
60
+
<p>Explore my latest articles, notes, and projects.</p>
61
+
</div>
62
+
<div class="posts-grid">
63
+
{{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
64
+
{{ $paginator := .Paginate $pages }}
65
+
{{ range $paginator.Pages }}
66
+
<article class="post-entry">
67
+
<header class="entry-header">
68
+
<h3><a href="{{ .Permalink }}">{{ .Title }}</a></h3>
69
+
<div class="entry-meta">
70
+
<span class="date">{{ .Date.Format "January 2, 2006" }}</span>
71
+
<span class="reading-time">{{ .ReadingTime }} min read</span>
72
+
</div>
73
+
</header>
74
+
<div class="entry-content">
75
+
<p>{{ .Summary | plainify | truncate 150 }}</p>
76
+
</div>
77
+
</article>
78
+
{{ else }}
79
+
<p>No posts found yet. Stay tuned!</p>
80
+
{{ end }}
81
+
</div>
82
+
{{ .Render "pagination" }}
108
83
</section>
109
-
{{ end }}
84
+
{{ end }}
+97
layouts/posts/list.html
+97
layouts/posts/list.html
···
1
+
{{- define "main" }}
2
+
3
+
{{- if (and site.Params.profileMode.enabled .IsHome) }}
4
+
{{- partial "index_profile.html" . }}
5
+
{{- else }} {{/* if not profileMode */}}
6
+
7
+
<div class="posts-list-container">
8
+
{{- if .Content }}
9
+
<div class="post-content">
10
+
{{- if not (.Param "disableAnchoredHeadings") }}
11
+
{{- partial "anchored_headings.html" .Content -}}
12
+
{{- else }}{{ .Content }}{{ end }}
13
+
</div>
14
+
{{- end }}
15
+
16
+
{{- $pages := union .RegularPages .Sections }}
17
+
18
+
{{- if .IsHome }}
19
+
{{- $pages = where site.RegularPages "Type" "in" site.Params.mainSections }}
20
+
{{- $pages = where $pages "Params.hiddenInHomeList" "!=" "true" }}
21
+
{{- end }}
22
+
23
+
{{- $paginator := .Paginate $pages }}
24
+
25
+
{{- if and .IsHome site.Params.homeInfoParams (eq $paginator.PageNumber 1) }}
26
+
{{- partial "home_info.html" . }}
27
+
{{- end }}
28
+
29
+
{{- $term := .Data.Term }}
30
+
{{- range $index, $page := $paginator.Pages }}
31
+
32
+
{{- $class := "post-entry" }}
33
+
34
+
{{- $user_preferred := or site.Params.disableSpecial1stPost site.Params.homeInfoParams }}
35
+
{{- if (and $.IsHome (eq $paginator.PageNumber 1) (eq $index 0) (not $user_preferred)) }}
36
+
{{- $class = "first-entry" }}
37
+
{{- else if $term }}
38
+
{{- $class = "post-entry tag-entry" }}
39
+
{{- end }}
40
+
41
+
<article class="{{ $class }}">
42
+
{{- $isHidden := (.Param "cover.hiddenInList") | default (.Param "cover.hidden") | default false }}
43
+
{{- partial "cover.html" (dict "cxt" . "IsSingle" false "isHidden" $isHidden) }}
44
+
<header class="entry-header">
45
+
<h2 class="entry-hint-parent">
46
+
{{- .Title }}
47
+
{{- if .Draft }}
48
+
<span class="entry-hint" title="Draft">
49
+
<svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" fill="currentColor">
50
+
<path
51
+
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
52
+
</svg>
53
+
</span>
54
+
{{- end }}
55
+
</h2>
56
+
</header>
57
+
{{- if (ne (.Param "hideSummary") true) }}
58
+
<div class="entry-content">
59
+
<p>{{ .Summary | plainify | htmlUnescape }}{{ if .Truncated }}...{{ end }}</p>
60
+
</div>
61
+
{{- end }}
62
+
{{- if not (.Param "hideMeta") }}
63
+
<footer class="entry-footer">
64
+
{{- partial "post_meta.html" . -}}
65
+
</footer>
66
+
{{- end }}
67
+
<a class="entry-link" aria-label="post link to {{ .Title | plainify }}" href="{{ .Permalink }}"></a>
68
+
</article>
69
+
{{- end }}
70
+
71
+
{{- if gt $paginator.TotalPages 1 }}
72
+
<footer class="page-footer">
73
+
<nav class="pagination">
74
+
{{- if $paginator.HasPrev }}
75
+
<a class="prev" href="{{ $paginator.Prev.URL | absURL }}">
76
+
« {{ i18n "prev_page" }}
77
+
{{- if (.Param "ShowPageNums") }}
78
+
{{- sub $paginator.PageNumber 1 }}/{{ $paginator.TotalPages }}
79
+
{{- end }}
80
+
</a>
81
+
{{- end }}
82
+
{{- if $paginator.HasNext }}
83
+
<a class="next" href="{{ $paginator.Next.URL | absURL }}">
84
+
{{- i18n "next_page" }}
85
+
{{- if (.Param "ShowPageNums") }}
86
+
{{- add 1 $paginator.PageNumber }}/{{ $paginator.TotalPages }}
87
+
{{- end }} »
88
+
</a>
89
+
{{- end }}
90
+
</nav>
91
+
</footer>
92
+
{{- end }}
93
+
94
+
</div>
95
+
{{- end }}{{/* end profileMode */}}
96
+
97
+
{{- end }}{{- /* end main */ -}}