Compare commits

5 Commits

Author SHA1 Message Date
82b194b2ac 💚 Adds CI build
All checks were successful
Gitea Build Action / build-astro (push) Successful in 10m6s
2025-07-01 10:09:10 +02:00
82aeaea87a 🚑 Adds back email address 2025-06-30 16:44:00 +02:00
8e1bc20350 🔨 Refactors home page 2025-06-30 16:37:35 +02:00
0334d18e23 🔥 Deletes terminal 2025-06-30 16:03:51 +02:00
4c2f096a18 🔨 Refactors terminal rendering algorithm 2025-06-30 16:02:44 +02:00
6 changed files with 75 additions and 169 deletions

View File

@@ -0,0 +1,19 @@
name: Gitea Build Action
run-name: ${{ gitea.actor }} build
on: [push]
jobs:
build-astro:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Bun 1.2.0
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.2.0
- name: Display Bun version
run: bun --version
- name: "Install dependencies"
run: bun install
- name: "Build"
run: bun run build

View File

@@ -1,17 +1,14 @@
// @ts-check
import { defineConfig } from 'astro/config';
import {defineConfig} from 'astro/config';
import tailwindcss from '@tailwindcss/vite';
import vue from '@astrojs/vue';
// https://astro.build/config
export default defineConfig({
site: "https://svitan.dev",
vite: {
plugins: [tailwindcss()]
},
integrations: [vue()]
});
site: "https://svitan.dev",
vite: {
// @ts-ignore
plugins: [tailwindcss()]
},
integrations: [vue()]
});

View File

@@ -1,104 +0,0 @@
<template>
<p v-html="text" class="p-4"/>
</template>
<style>
p {
color: #ffffff;
line-height: normal;
font-size: 1.15rem;
}
.s-white {
color: #ffffff;
}
.s-green {
color: #2ec27e;
}
.s-blue {
color: #1e78e4;
}
</style>
<script lang="ts" setup>
import {onMounted, ref} from "vue";
const text = ref("")
interface Part {
pre?: string;
content: string;
post?: string;
}
const prompt: Part[] = [
{
pre: `<span class="s-white">`,
content: `╭─`,
post: `</span>`
},
{
pre: `<span class="s-green font-bold">`,
content: `guest@svitan.dev`,
post: `</span>`
},
{
content: ` `
},
{
pre: `<span class="s-blue">`,
content: `~`,
post: `</span><br>`
},
{
pre: `<span class="s-white">`,
content: `╰─$ `,
post: `</span>`
}
]
const target: Part[] = [
...prompt,
{
content: "./portfolio",
post: `<br>`
},
{
content: `
____ _ _ ____ _ _ \\\\//
| _ \\ __ _ _ __ (_) ___| | / ___|_ _(_) |_ __ _ _\\/_
| | | |/ _\` | '_ \\| |/ _ \\ | \\___ \\ \\ / / | __/ _\` | '_ \\
| |_| | (_| | | | | | __/ | ___) \\ V /| | || (_| | | | |
|____/ \\__,_|_| |_|_|\\___|_| |____/ \\_/ |_|\\__\\__,_|_| |_|
`
}
]
onMounted(() => {
let i = 0;
let j = 0;
const id = setInterval(() => {
if (i === target[j].content.length) {
text.value += target[j].post ?? "";
i = 0;
j++;
text.value += target[j].pre ?? "";
}
if (i === 0 && j === 0) {
text.value += target[j].pre ?? "";
}
text.value += target[j].content[i]
.replaceAll("\n", "<br>")
.replaceAll(" ", "&nbsp;");
if (j === target.length - 1 && i === target[j].content.length - 1) {
text.value += target[j].post ?? "";
clearTimeout(id);
}
i++;
}, 5)
})
</script>

View File

@@ -1,6 +1,6 @@
---
import Layout from "../layouts/Layout.astro";
import Link from "../components/Link.astro"
import ArrowLink from "../components/ArrowLink.astro"
const now = new Date();
let years = now.getFullYear() - 2006 - 1
@@ -39,12 +39,6 @@ let a = years === 18 ? "an " : "a ";
background-color: #e8e8e8;
border-radius: 0.25rem;
}
ul {
li {
list-style-type: disc;
}
}
</style>
<Layout>
@@ -53,23 +47,45 @@ let a = years === 18 ? "an " : "a ";
<main class="w-[90vw] sm:w-[80vw] md:w-[70vw] lg:w-[60vw] xl:w-[50vw] border-solid border-black border-1 p-3 shrink-0 overflow-auto">
<p>Note: this page has been kept simple in favor of accessibility</p>
<div class="h-4"/>
<h1 class="text-xl">Hi, I'm <span class="font-bold">Daniel Svitaň</span>, {a} {years} year-old aspiring
engineer</h1>
<p>Residence: Bratislava, Slovakia</p>
<p>Contacts:<br/>
<a href="mailto:selfsigned-ash@proton.me" target="_blank" class="underline">selfsigned-ash@proton.me</a><br/>
<a href="tel:+421948309804" target="_blank" class="underline">+421 948 309 804</a><br/>
<span>@selfsigned-ash:svitan.dev (Matrix)</span>
</p>
<p>Socials:<br/>
<a href="https://github.com/Streamer272" target="_blank" class="underline">GitHub</a><br/>
<a href="https://gitea.svitan.dev/Streamer272" target="_blank" class="underline">Gitea</a><br/>
<span>Signal</span><br/>
<a href="https://mastodon.social/@selfsigned_ash" rel="me" target="_blank" class="underline">Mastodon</a>
</p>
<div class="h-4"/>
<p>Contacts:</p>
<ul class="list-none">
<li>
<a href="mailto:selfsigned-ash@proton.me" target="_blank"
class="underline">selfsigned-ash@proton.me</a>
</li>
<li>
<a href="tel:+421948309804" target="_blank" class="underline">+421 948 309 804</a> (you can text me
on Signal)
</li>
<li>
<span>@selfsigned-ash:svitan.dev (Matrix)</span>
</li>
</ul>
<div class="h-4"/>
<p>Socials:</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://mastodon.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"/>
@@ -85,7 +101,7 @@ let a = years === 18 ? "an " : "a ";
<td>Data Scientist<br/>
Faculty of Electronics and Informatics, Slovak Technical University in Bratislava (FEI STU)
<ul class="mt-2">
<ul class="list-disc mt-2">
<li>Created data labeling system for the ECG quality classification neural network</li>
<li>Contributed to the ECG quality classification neural network</li>
<li>Created quality classification system based on ECG quality classification neural
@@ -96,7 +112,7 @@ let a = years === 18 ? "an " : "a ";
</ul>
<p class="mt-2 flex items-center gap-x-1">
Publications:
<Link link="https://ieeexplore.ieee.org/document/10844607"/>
<ArrowLink link="https://ieeexplore.ieee.org/document/10844607"/>
</p>
</td>
</tr>
@@ -157,8 +173,8 @@ let a = years === 18 ? "an " : "a ";
<tr>
<td>SOČ 2024/2025 Paper</td>
<td class="flex gap-x-2">
<Link link="https://gitea.svitan.dev/Streamer272/soc-2024"/>
<Link link="https://github.com/Streamer272/soc-2024"/>
<ArrowLink link="https://gitea.svitan.dev/Streamer272/soc-2024"/>
<ArrowLink link="https://github.com/Streamer272/soc-2024"/>
</td>
<td>Research paper entitled "Faktory ovplyvňujúce študijné výsledky a identifikácia rizikových
skupín", which won first place in the regional round of the competition
@@ -172,7 +188,7 @@ let a = years === 18 ? "an " : "a ";
<tr>
<td>State SOČ Cross Examination</td>
<td class="flex gap-x-2">
<Link link="https://gitea.svitan.dev/Streamer272/state-soc-cross"/>
<ArrowLink link="https://gitea.svitan.dev/Streamer272/state-soc-cross"/>
</td>
<td>Cross examination of the Slovak State SOC Competition results and the analysis of the judges'
bias
@@ -185,7 +201,7 @@ let a = years === 18 ? "an " : "a ";
<tr>
<td>Door alarm</td>
<td class="flex gap-x-2">
<Link link="https://gitea.svitan.dev/Streamer272/door-alarm"/>
<ArrowLink link="https://gitea.svitan.dev/Streamer272/door-alarm"/>
</td>
<td>A home-made door alarm based on ultrasound sensor distance measurements (in development)</td>
<td class="flex gap-1 flex-wrap text-sm">
@@ -197,8 +213,8 @@ let a = years === 18 ? "an " : "a ";
<tr>
<td>Green School / Zelená Škola</td>
<td class="flex gap-x-2">
<Link link="https://github.com/Streamer272/green-school"/>
<Link link="https://zelena.svr.sk/"/>
<ArrowLink link="https://github.com/Streamer272/green-school"/>
<ArrowLink link="https://zelena.svr.sk/"/>
</td>
<td>A website for a school club of environmentalists</td>
<td class="flex gap-1 flex-wrap text-sm">
@@ -210,7 +226,7 @@ let a = years === 18 ? "an " : "a ";
<tr>
<td>Automod</td>
<td class="flex gap-x-2">
<Link link="https://github.com/Streamer272/automod"/>
<ArrowLink link="https://github.com/Streamer272/automod"/>
</td>
<td>A discord bot for my local community</td>
<td class="flex gap-1 flex-wrap text-sm">
@@ -222,7 +238,7 @@ let a = years === 18 ? "an " : "a ";
<tr>
<td>Pwetty</td>
<td class="flex gap-x-2">
<Link link="https://gitea.svitan.dev/Streamer272/pwetty"/>
<ArrowLink link="https://gitea.svitan.dev/Streamer272/pwetty"/>
</td>
<td>A very, very simple json prettifier</td>
<td class="flex gap-1 flex-wrap text-sm">
@@ -234,7 +250,7 @@ let a = years === 18 ? "an " : "a ";
<tr>
<td>Keys</td>
<td class="flex gap-x-2">
<Link link="https://gitea.svitan.dev/Streamer272/keys"/>
<ArrowLink link="https://gitea.svitan.dev/Streamer272/keys"/>
</td>
<td>A very simple client-server based keylogger for Windows, Linux, and MacOS</td>
<td class="flex gap-1 flex-wrap text-sm">
@@ -243,23 +259,11 @@ let a = years === 18 ? "an " : "a ";
</td>
</tr>
<tr>
<td>Antifed</td>
<td class="flex gap-x-2">
<Link link="https://gitea.svitan.dev/Streamer272/antifed"/>
</td>
<td>A system to run actions in an emergency, like a fed raid</td>
<td class="flex gap-1 flex-wrap text-sm">
<span class="hashtag">#kotlin</span>
<span class="hashtag">#android</span>
</td>
</tr>
<tr>
<td>Adventná Výzva</td>
<td class="flex gap-x-2">
<Link link="https://github.com/7274-dev/AdventnaVyzva-React"/>
<Link link="https://github.com/7274-dev"/>
<ArrowLink link="https://github.com/7274-dev/AdventnaVyzva-React"/>
<ArrowLink link="https://github.com/7274-dev"/>
</td>
<td>An interactive game-like app for kids with an advent theme</td>
<td class="flex gap-1 flex-wrap text-sm">

View File

@@ -1,10 +0,0 @@
---
import Layout from "../layouts/Layout.astro"
import Terminal from "../components/Terminal.vue"
---
<Layout>
<div class="w-screen h-full flex items-start justify-start flex-col overflow-x-scroll bg-[#1c1c1f]">
<Terminal client:only />
</div>
</Layout>