Adds nav bar

Signed-off-by: Ash Svitan <selfsigned-ash@proton.me>
This commit is contained in:
2026-04-24 08:53:10 +02:00
parent f3f36110c9
commit 8c087e6322
3 changed files with 469 additions and 403 deletions
+1
View File
@@ -9,6 +9,7 @@ body {
width: 100%;
height: 100%;
overflow-x: hidden;
scroll-behavior: smooth;
}
</style>
+187 -123
View File
@@ -19,130 +19,57 @@
</button>
</div>
<p class="mr-16">{{ $t("main.note.accessibility") }}</p>
<div class="h-4" />
<NuxtImg
<!-- <NuxtImg
src="/images/selfie.png"
alt="Selfie"
class="lg:float-right w-80 mb-4 lg:mb-0"
/>
/> -->
<h1 class="text-xl">
<h1 class="text-xl mr-12">
{{ $t("main.intro.0") }}
<span class="font-bold">{{ $t("main.intro.1") }}</span> ({{
$t("main.intro.2")
}}), {{ $t("main.intro.3") }} {{ years
}}{{ $t("main.intro.4") }}
<span class="font-bold">{{ $t("main.intro.1") }}</span
>, {{ $t("main.intro.2") }}{{ years }}{{ $t("main.intro.3") }}
</h1>
<p>{{ $t("main.residence") }}</p>
<a href="/cv1.pdf" target="_blank" class="underline">
{{ $t("main.cv") }}
</a>
<br />
<a href="/key.asc" target="_blank" class="underline">
{{ $t("main.gpg") }}
</a>
<div class="h-4" />
<p>{{ $t("main.contacts.title") }}</p>
<ul class="list-none">
<div
class="flex items-center justify-center flex-wrap gap-x-4 my-4"
>
<ul>
<li>
<a
href="mailto:selfsigned-ash@proton.me"
target="_blank"
class="underline"
>
selfsigned-ash@proton.me</a
>
/
<a
href="mailto:ash@svitan.dev"
target="_blank"
class="underline"
>
ash@svitan.dev
<a href="#experience" class="underline">
./experience
</a>
</li>
<li>
<a
href="tel:+421948309804"
target="_blank"
class="underline"
>
+421 948 309 804</a
>&nbsp;<a
href="https://signal.me/#eu/spS_7L9Ln0xOql7JZMEusWCSmR95-cMnVTgB-zbQBVM54M6FUnRBUZMjGmr-_6qA"
target="_blank"
class="underline"
>
{{ $t("main.contacts.signal") }}
</a>
</li>
<li>
<a
href="https://matrix.to/#/@selfsigned-ash:matrix.org"
target="_blank"
class="underline"
>
@selfsigned-ash:matrix.org
</a>
<a href="#education" class="underline">./education</a>
</li>
</ul>
<ul>
<li><a href="#skills" class="underline">./skills</a></li>
<li>
<a href="#projects" class="underline">./projects</a>
</li>
</ul>
<ul>
<li>
<a href="#about-me" class="underline">./about-me</a>
</li>
<li>
<a href="#contacts" class="underline">./contacts</a>
</li>
</ul>
</div>
<div class="h-4" />
<p>{{ $t("main.socials.title") }}</p>
<ul class="list-none">
<li>
<a
href="https://github.com/Streamer272"
target="_blank"
class="underline"
>
GitHub
</a>
</li>
<li>
<a
href="https://gitea.svitan.dev/Streamer272"
target="_blank"
class="underline"
>
Gitea
</a>
</li>
<li>
<a
href="https://codeberg.org/selfsigned-ash"
target="_blank"
class="underline"
>
Codeberg
</a>
</li>
<li>
<a
href="https://kolektiva.social/@selfsigned_ash"
rel="me"
target="_blank"
class="underline"
>
Mastodon
</a>
</li>
<li>
<a
href="https://pixelfed.de/selfsigned-ash"
target="_blank"
class="underline"
>
Pixelfed
</a>
</li>
</ul>
<div class="h-6" />
<h2 class="text-lg">{{ $t("main.experience.title") }}</h2>
<section id="experience">
<h2 class="text-lg">
{{ $t("main.experience.title") }}
</h2>
<table class="w-full">
<thead>
<tr>
@@ -153,7 +80,9 @@
</th>
<th>
<p class="px-1">
{{ $t("main.experience.header.occupation") }}
{{
$t("main.experience.header.occupation")
}}
</p>
</th>
</tr>
@@ -167,10 +96,18 @@
{{ $t("main.experience.0.occupation.details") }}
<ul class="list-disc mt-2">
<li>{{ $t("main.experience.0.details.0") }}</li>
<li>{{ $t("main.experience.0.details.1") }}</li>
<li>{{ $t("main.experience.0.details.2") }}</li>
<li>{{ $t("main.experience.0.details.3") }}</li>
<li>
{{ $t("main.experience.0.details.0") }}
</li>
<li>
{{ $t("main.experience.0.details.1") }}
</li>
<li>
{{ $t("main.experience.0.details.2") }}
</li>
<li>
{{ $t("main.experience.0.details.3") }}
</li>
</ul>
<p class="mt-2 flex items-center gap-x-1">
{{ $t("main.experience.publications") }}
@@ -182,9 +119,13 @@
</tr>
</tbody>
</table>
<div class="h-6" />
</section>
<div class="h-8" />
<h2 class="text-lg">{{ $t("main.education.title") }}</h2>
<section id="education">
<h2 class="text-lg">
{{ $t("main.education.title") }}
</h2>
<table class="w-full">
<thead>
<tr>
@@ -218,10 +159,12 @@
</tr>
</tbody>
</table>
<div class="h-6" />
</section>
<div class="h-8" />
<section id="skills">
<h2 class="text-lg">{{ $t("main.skills.title") }}</h2>
<ul class="ml-4">
<ul>
<li>{{ $t("main.skills.languages") }}</li>
<li>{{ $t("main.skills.data-science") }}</li>
<li>{{ $t("main.skills.sysadmin") }}</li>
@@ -232,14 +175,18 @@
<li>{{ $t("main.skills.other") }}</li>
</ul>
<p class="mt-1">{{ $t("main.skills.0") }}</p>
<p class="mt-2">{{ $t("main.skills.0") }}</p>
<p>{{ $t("main.skills.1") }}</p>
<p>{{ $t("main.skills.2") }}</p>
<p>{{ $t("main.skills.3") }}</p>
<p>{{ $t("main.skills.4") }}</p>
<div class="h-6" />
</section>
<div class="h-8" />
<h2 class="text-lg">{{ $t("main.projects.title") }}</h2>
<section id="projects">
<h2 class="text-lg">
{{ $t("main.projects.title") }}
</h2>
<table class="w-full">
<thead>
<tr>
@@ -416,14 +363,123 @@
</table>
<p class="mt-1">{{ $t("main.projects.footer") }}</p>
<div class="h-6" />
</section>
<div class="h-8" />
<h2 class="text-lg">{{ $t("main.interests.title") }}</h2>
<p>{{ $t("main.interests.0") }}</p>
<p>{{ $t("main.interests.1") }}</p>
<p>{{ $t("main.interests.2") }}</p>
<p>{{ $t("main.interests.3") }}</p>
<div class="h-6" />
<section id="about-me">
<h2 class="text-lg">
{{ $t("main.about.title") }}
</h2>
<p>{{ $t("main.about.residence") }}</p>
<p>{{ $t("main.about.citizenship") }}</p>
<p>{{ $t("main.about.0") }}</p>
<p>{{ $t("main.about.1") }}</p>
<p>{{ $t("main.about.2") }}</p>
<p>{{ $t("main.about.3") }}</p>
</section>
<div class="h-8" />
<section id="contacts">
<h2 class="text-lg">{{ $t("main.contacts.title") }}</h2>
<ul class="list-none">
<li>
<a
href="mailto:selfsigned-ash@proton.me"
target="_blank"
class="underline"
>
selfsigned-ash@proton.me</a
>
/
<a
href="mailto:ash@svitan.dev"
target="_blank"
class="underline"
>
ash@svitan.dev</a
>
(<a href="/key.asc" target="_blank" class="underline"
>{{ $t("main.contacts.gpg") }} </a
>)
</li>
<li>
<a
href="tel:+421948309804"
target="_blank"
class="underline"
>
+421 948 309 804</a
>&nbsp;<a
href="https://signal.me/#eu/spS_7L9Ln0xOql7JZMEusWCSmR95-cMnVTgB-zbQBVM54M6FUnRBUZMjGmr-_6qA"
target="_blank"
class="underline"
>
{{ $t("main.contacts.signal") }}
</a>
</li>
<li>
<a
href="https://matrix.to/#/@selfsigned-ash:matrix.org"
target="_blank"
class="underline"
>
@selfsigned-ash:matrix.org
</a>
</li>
</ul>
<div class="h-4" />
<p>{{ $t("main.socials.title") }}</p>
<ul class="list-none">
<li>
<a
href="https://github.com/Streamer272"
target="_blank"
class="underline"
>
GitHub
</a>
</li>
<li>
<a
href="https://gitea.svitan.dev/Streamer272"
target="_blank"
class="underline"
>
Gitea
</a>
</li>
<li>
<a
href="https://codeberg.org/selfsigned-ash"
target="_blank"
class="underline"
>
Codeberg
</a>
</li>
<li>
<a
href="https://kolektiva.social/@selfsigned_ash"
rel="me"
target="_blank"
class="underline"
>
Mastodon
</a>
</li>
<li>
<a
href="https://pixelfed.de/selfsigned-ash"
target="_blank"
class="underline"
>
Pixelfed
</a>
</li>
</ul>
</section>
<div class="h-8" />
<p>
{{ $t("main.note.source.0") }}
@@ -472,6 +528,14 @@ tr:last-of-type {
border: 1px solid var(--catppuccin-color-text);
border-radius: 1rem;
}
section {
margin-left: 1rem;
}
section h2 {
margin-left: -1rem;
}
</style>
<script lang="ts" setup>
+29 -28
View File
@@ -2,16 +2,10 @@
"main.note.accessibility": "Note: this page has been kept simple in favor of accessibility",
"main.intro.0": "Hi, I'm ",
"main.intro.1": "Ash (Daniel) Svitan",
"main.intro.2": "any pronouns",
"main.intro.3": " a ",
"main.intro.4": " year-old aspiring engineer",
"main.residence": "Residence: Bratislava, Slovakia",
"main.intro.2": " a ",
"main.intro.3": " year-old activist and aspiring engineer",
"main.cv": "Look at my CV",
"main.gpg": "Get my public GPG key",
"main.contacts.title": "Contacts:",
"main.contacts.signal": "(you can text me on Signal)",
"main.socials.title": "Socials:",
"main.experience.title": "Experience:",
"main.experience.title": "./experience",
"main.experience.header.when": "When",
"main.experience.header.occupation": "Occupation and details",
"main.experience.0.when": "July 2024 - December 2025",
@@ -22,7 +16,7 @@
"main.experience.0.details.2": "Created quality classification system based on ECG quality classification neural network",
"main.experience.0.details.3": "Wrote the Tom & Jerry LabChart Text File Dynamic Sync Algorithm",
"main.experience.publications": "Publications:",
"main.education.title": "Education:",
"main.education.title": "./education",
"main.education.header.when": "When",
"main.education.header.where": "Where",
"main.education.0.when": "2024 - present",
@@ -31,21 +25,21 @@
"main.education.1.where": "Spojená škola Svätej Rodiny v Bratislave - 8-year Gymnasium (high school)",
"main.education.2.when": "2022 - 2023",
"main.education.2.where": "Del Mar High School in San Jose, California, United States of America",
"main.skills.title": "Skills:",
"main.skills.languages": "Languages: Slovak (native), English (C1), German (B1)",
"main.skills.data-science": "Data science: PyTorch (neural networks), Matplotlib, SciPy, NumPy",
"main.skills.sysadmin": "Sysadmin: Docker, Caddy, ZFS, Linux",
"main.skills.frontend": "Frontend: HTML, CSS/SCSS, JavaScript/TypeScript, TailWindCSS, React, Vue, Nuxt, Astro",
"main.skills.backend": "Backend: Ktor (Kotlin), Fiber (Go), Echo (Go), FastAPI (Python), NestJS (TypeScript)",
"main.skills.database": "Database: MySQL, PostgreSQL, Redis/Valkey, Firestore, MongoDB",
"main.skills.math": "Math: Calculus (1), Statistics, Linear algebra",
"main.skills.other": "Other: Driver license type B (Slovak), LibreOffice",
"main.skills.0": "Having my own Debian server at home, I've self-hosted multiple apps and projects, including Nextcloud, Immich, Gitea, Prometheus+Grafana, ngIRCd, WireGuard Easy, and many more.",
"main.skills.1": "I route them all through my Caddy reverse proxy, but since my server is behind NAT, I also have a VPS that is connected to my server through a tunnel and routes all of the traffic to my server through that tunnel.",
"main.skills.title": "./skills",
"main.skills.languages": "> languages: Slovak (native), English (C1), German (B1)",
"main.skills.data-science": "> data science: PyTorch (neural networks), Matplotlib, SciPy, NumPy",
"main.skills.sysadmin": "> sysadmin: Docker, Caddy, ZFS, Linux",
"main.skills.frontend": "> frontend: HTML, CSS/SCSS, JavaScript/TypeScript, TailWindCSS, React, Vue, Nuxt, Astro",
"main.skills.backend": "> backend: Ktor (Kotlin), Fiber (Go), Echo (Go), FastAPI (Python), NestJS (TypeScript)",
"main.skills.database": "> database: MySQL, PostgreSQL, Redis/Valkey, Firestore, MongoDB",
"main.skills.math": "> math: Calculus (1), Statistics, Linear algebra",
"main.skills.other": "> other: Driver license type B (Slovak), LibreOffice",
"main.skills.0": "Having my own Debian server at home, I've self-hosted multiple apps and projects, including Nextcloud, Immich, Gitea, Prometheus+Grafana, WireGuard Easy, and many more.",
"main.skills.1": "I route them all through my Caddy reverse proxy, but since my server is behind a NAT, I also have a VPS that is connected to my server through a tunnel and routes all of the traffic to my server through that tunnel.",
"main.skills.2": "I also protect myself against data loss with a RAIDZ1 ZFS pool, regular backups (monthly to an off-site physical drive owned by me and every two days to a cloud storage box), and regular ZFS Scrubs.",
"main.skills.3": "And everything is encrypted, my pool and both backups with a randomly generated binary file.",
"main.skills.4": "Needless to say, I've got some experience with system administration as well as Linux systems, since I also daily drive Arch Linux.",
"main.projects.title": "Some of my projects:",
"main.projects.title": "./projects",
"main.projects.header.name": "Name",
"main.projects.header.reference": "Reference",
"main.projects.header.description": "Description",
@@ -81,12 +75,19 @@
"main.projects.7.description": "An interactive game-like app for kids with an advent theme",
"main.projects.7.tags.0": "#web-dev",
"main.projects.7.tags.1": "#react",
"main.projects.footer": "And many other closed-source projects, especially contracts (like NatArt) and multiple projects at FEI STU (including multiple algorithms and labeling / data processing systems, mostly concerned with bio-medical signals like ECG or PPG).",
"main.interests.title": "About me and my interests:",
"main.interests.0": "I spend most of my free time working on various projects of mine; I've recently decided to expand my horizons and work on some projects that are not pure computer science. But other than that, I like to go on walks, listen to music, and I occasionally play video games.",
"main.interests.1": "I also love going rollerblading and I used to play airsoft, but I haven't had the time to play recently. And, believe it or not, I like to cook and read books as well.",
"main.interests.2": "When I grow up, I want to study mechanical engineering, since I take interest in engineering in general, not just programming. I'm still not sure which university I want to go to, but chances are that it will be somewhere in Germany, Benelux, or Scandinavia (or Czechia and Slovakia as a last resort). Both my parents are successful engineers (chemical, not mechanical though), so I have a lot to live up to.",
"main.interests.3": "But currently, I'm just trying to survive high school.",
"main.projects.footer": "And many other closed-source projects, especially contracts and multiple projects at FEI STU (including multiple algorithms and labeling / data processing systems, mostly concerned with bio-medical signals like ECG or PPG).",
"main.about.title": "./about-me",
"main.about.residence": "> residence: Bratislava, Slovakia",
"main.about.citizenship": "> citizenship: Slovakia - EU citizen",
"main.about.0": "I spend most of my free time working on various projects of mine; I've recently decided to expand my horizons and work on some projects that are not pure computer science. But other than that, I like to go on walks, listen to music, and I occasionally play video games.",
"main.about.1": "I also love going rollerblading and I used to play airsoft, but I haven't had the time to play recently. And, believe it or not, I like to cook and read books as well.",
"main.about.2": "When I grow up, I want to study mechanical engineering, since I take interest in engineering in general, not just programming. I'm still not sure which university I want to go to, but chances are that it will be somewhere in Germany, Benelux, or Scandinavia (or Czechia and Slovakia as a last resort). Both my parents are successful engineers (chemical, not mechanical though), so I have a lot to live up to.",
"main.about.3": "But currently, I'm just trying to survive high school.",
"main.contacts.title": "./contacts",
"main.contacts.gpg": "get my public GPG key",
"main.contacts.signal": "(you can text me on Signal)",
"main.socials.title": "Socials:",
"main.note.source.0": "Note: the source code of this website is available ",
"main.note.source.1": "here",
"main.note.source.2": ""