579 lines
27 KiB
TypeScript
579 lines
27 KiB
TypeScript
import Image from "next/image";
|
|
import "./page.css";
|
|
import { Metadata } from 'next';
|
|
import JokerLogo from "./components/JokerLogo";
|
|
import ServiceButton from "./components/ServiceButton";
|
|
import SlBackground from "./components/SlBackground";
|
|
import ContributionHeatmap from "./components/ContributionHeatmap";
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'dvorakmortonxd.dev',
|
|
description:
|
|
'Welcome to my personal website, my social media links and projects lurk below... I use gentoo btw :)',
|
|
openGraph: {
|
|
title: 'dvorakmortonxd.dev',
|
|
description: 'Welcome to my personal website, my social media links and projects lurk below... I use gentoo btw :)',
|
|
url: 'https://dvorakmortonxd.dev',
|
|
siteName: 'dvorakmortonxd.dev',
|
|
},
|
|
};
|
|
|
|
|
|
// Example projects array (you can edit this)
|
|
const codingProjects = [
|
|
{
|
|
title: "Hospital Execution",
|
|
desc: "the first ever real game I made, in pygame.",
|
|
img: "/coding-1.webp",
|
|
url: "https://martin-dv.itch.io/hospital-execution-demo",
|
|
},
|
|
{
|
|
title: "Underbaranoia",
|
|
desc: "basically a undertale like infinite fight simulator that gets progressively harder, made in pygame.",
|
|
img: "/coding-2.webp",
|
|
url: "https://martin-dv.itch.io/underbaranoia",
|
|
},
|
|
{
|
|
title: "Offline memer",
|
|
desc: "parody of the discord bot \"Dank Memer\" made in batch. (this was technically my first ever game I published).",
|
|
img: "/coding-3.webp",
|
|
url: "https://martin-dv.itch.io/offline-memer",
|
|
},
|
|
{
|
|
title: "4y",
|
|
desc: "just a renamed fork of the ly login manager (based login manager btw I love it), no extra features, just a rename, its actually outdated so dont use it.",
|
|
img: "/coding-4.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/4y",
|
|
},
|
|
{
|
|
title: "4rch linux",
|
|
desc: "same as above, basically just a renamed fork of arch linux with calamares installer, also outdated and not maintained at all so no use please.",
|
|
img: "/coding-5.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/4rch-linux",
|
|
},
|
|
{
|
|
title: "You_Are_An_Idiot_Virus.py",
|
|
desc: "this is just a python script that just spams blinking \"you are an idiot\" windows, made it as a prank I think, not really sure rn.",
|
|
img: "/coding-6.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/uranidiot",
|
|
},
|
|
{
|
|
title: "Venturesome",
|
|
desc: "a browser I wrote in python using PyQtWebEngine with PyQt5, actually pretty cool and modular but I couldnt get past the stage of adding a tab system, basically surpassed by my other project: RustyWolf.",
|
|
img: "/coding-7.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/Venturesome",
|
|
},
|
|
{
|
|
title: "Mandelbrot set in Pygame",
|
|
desc: "a python pygame script that renders the mandelbrot set, made it when I was fascinated by how it looks and ngl it still looks cool af.",
|
|
img: "/coding-8.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/mandelbrot",
|
|
},
|
|
{
|
|
title: "Underpygametale",
|
|
desc: "a remake of undertale written in pygame, got it to about the flowey part (at the beginning) and didnt touch it in a long time.",
|
|
img: "/coding-9.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/underpygametale",
|
|
},
|
|
{
|
|
title: "Many discord bots...",
|
|
desc: "so many of them, once I (allegedly, pls discord dont ban me) even wrote a \"self-bot\" which auto-advertised a minecraft server on minecraft discord server in lfg-hosting every two hours, around 800 people joined in total.",
|
|
img: "/coding-10.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/PYGETEX",
|
|
},
|
|
{
|
|
title: "MMO minecraft plugin",
|
|
desc: "a minceraft plugin with custom bosses, items, and functions. pretty barebones and basic but I did it all manually before vibecoding was even a thing so what.",
|
|
img: "/coding-11.webp",
|
|
url: "https://www.youtube.com/watch?v=cSAX5Ds61ac",
|
|
},
|
|
{
|
|
title: "Many many failed minecraft servers..",
|
|
desc: "creative games, softcraft, frostville, eusmp, eurthsmp, softsmp and many other SMPs that died later on. I cant even count how many mc servers I had in total.",
|
|
img: "/coding-12.webp",
|
|
url: "https://discord.gg/KtHRm9kRmy",
|
|
},
|
|
{
|
|
title: "Swords and Sandals 2 pygame remake",
|
|
desc: "an unfinished remake of swords and sandals 2 in pygame, I got bored of it and never finished it but ill finish it one day for sure lol.",
|
|
img: "/coding-13.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/sas2py",
|
|
},
|
|
{
|
|
title: "Ollama server",
|
|
desc: "my ollama vm running on my proxmox with a gpu passthroughed RTX 3070, dm me if u wanna test it lol.",
|
|
img: "/coding-14.webp",
|
|
url: "https://ai.dvorakmortonxd.dev/",
|
|
},
|
|
{
|
|
title: "Batch MSDOS Simulator",
|
|
desc: "a freshman school project on making games in batch, it was like an OS simulator with a web browser, games, photos, even a video suprise (youll have to try it to figure that one out lol).",
|
|
img: "/coding-15.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/DvorakMSDOS",
|
|
},
|
|
{
|
|
title: "RustyWolf",
|
|
desc: "a browser I made in rust with webkitgtk, I made it to be lightweight and to be able to be ran on macbook unibody 2010 before I realised I got scammed.. It's the successor to my previous project Venturesome :)",
|
|
img: "/coding-16.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/RustyWolf",
|
|
},
|
|
{
|
|
title: "dxdwm",
|
|
desc: "a small x11 window manager written in rust.",
|
|
img: "/coding-17.webp",
|
|
url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/dxdwm",
|
|
},
|
|
{
|
|
title: "proxmox setup",
|
|
desc: "my proxmox setup with more than 8 vms for my services, this is running literally everything at my house.",
|
|
img: "/proxmox.webp",
|
|
url: "https://proxmox.dvorakmortonxd.dev/",
|
|
},
|
|
];
|
|
|
|
export default function Home() {
|
|
const socials = [
|
|
{ name: "Main Instagram", icon: "/instagram.svg", url: "https://www.instagram.com/dvorakmortonxd/" },
|
|
{ name: "Gym Instagram", icon: "/instagram.svg", url: "https://www.instagram.com/dvorakmortonxd2/" },
|
|
{ name: "SoundCloud", icon: "/soundcloud.svg", url: "https://soundcloud.com/martin-dvorak-185636305" },
|
|
{ name: "TikTok", icon: "/tiktok.svg", url: "https://www.tiktok.com/@dvorakmortonxd" },
|
|
{ name: "Snapchat", icon: "/snapchat.svg", url: "https://www.snapchat.com/add/dvorakmortonxd" },
|
|
{ name: "GitDXD", icon: "/github.svg", url: "https://git.dvorakmortonxd.dev/dvorakmortonxd" },
|
|
{ name: "LinkedIn", icon: "/linkedin.svg", url: "https://www.linkedin.com/in/martin-dvorak-32012a394/" },
|
|
{ name: "Itch.io", icon: "/itchio.svg", url: "https://martin-dv.itch.io" },
|
|
{ name: "Discord", icon: "/discord.svg", url: "https://discord.com/users/555745543763001364" },
|
|
{ name: "Reddit", icon: "/reddit.svg", url: "https://www.reddit.com/user/M4RT1NYT/" },
|
|
{ name: "Twitter", icon: "/twitter.svg", url: "https://x.com/pepicskopcecek" },
|
|
{ name: "Quipee", icon: "/quip.svg", url: "https://quipee.me/dvorakmortonxd" },
|
|
];
|
|
|
|
const techProjects = [
|
|
{
|
|
title: "Gentoo Setup",
|
|
desc: "my main computer with gentoo. specs: Ryzen 5 3600 (6c/12t), RX 580 8GB ASUS ROG, 16gb of ram and a 240gb sata ssd.",
|
|
image: "/gentoo-setup.webp",
|
|
},
|
|
{
|
|
title: "Proxmox Server",
|
|
desc: "my personal proxmox server (dm me on ig if u need a VPS/hosting), specs: Xeon E5 2680 v4 (14c/28t), RTX 3070 (for local ai) and GTX 1050 Ti (for jellyfin), 68gb ddr4 rdimm ram (2*16gb, 1*32gb, 1*4gb), 256gb of sata m2 space + 1tb hdd + 750gb hdd.",
|
|
image: "/proxmox-server.webp",
|
|
},
|
|
{
|
|
title: "Xbox 360 S with badupdate",
|
|
desc: "xbox 360 slim (trinity) with badupdate exploit, allowing to boot custom software. (not my photo), the specs are XCGPU (3c/6t), 0.5GB of gddr3 ram and a 500gb hdd.",
|
|
image: "/xbox360.webp",
|
|
},
|
|
{
|
|
title: "Macbook Air M4 13\"",
|
|
desc: "my main device for basically everything except gaming. specs are Apple M4 (cpu:10c,gpu:8c), 16gb of unified ram (lpddr5x), 256gb Storage.",
|
|
image: "/macbook-air.webp",
|
|
},
|
|
{
|
|
title: "Macbook Air 2013 11\"",
|
|
desc: "bought this for tinkering lol, specs are intel core i5 (2c/4t), 8gb of ddr3 ram and 250gb ssd, installed arch linux on it with i3-gaps (this is my laptop not josef's I gave it to him lol).",
|
|
image: "/macbook-air-11.webp",
|
|
},
|
|
{
|
|
title: "iPhone 7 128gb",
|
|
desc: "somehow found a listing for 4 bucks (refurbed.cz) for it so I got it lol, it has a little dent I marked it on the photo (which isnt mine btw), except cosmetic damage its pretty much fully functional, specs are Apple A10 (4c/4t), 2gb of ram and 128gb of storage",
|
|
image: "/iphone-7.webp",
|
|
},
|
|
{
|
|
title: "Macbook Unibody 2010",
|
|
desc: "found random listing on bazos for 15 bucks but after I bought a power adapter it turned out to be non functioning so I got scammed :(",
|
|
image: "/macbook2010.webp",
|
|
},
|
|
{
|
|
title: "ThinkPad T400s 14\"",
|
|
desc: "got it from a random guy for 20 bucks, its an old laptop from 2009 and I slapped void linux on it and i3wm on it, specs are intel core 2 duo (2c/2t), 8gb ddr3 ram and 800gb hdd.",
|
|
image: "/thinkpadt400s.webp",
|
|
},
|
|
{
|
|
title: "Asus N56JR 15.6\"",
|
|
desc: "one of my first laptops my dad got for me when I was like 12, still works but the battery is KO, specs are intel core i7 4700HQ (4c/8t), 8gb ddr3 ram and 240gb ssd, it currently runs ubuntu linux 24.04LTS and my mom uses it for movies and shows.",
|
|
image: "/asuslaptop.webp",
|
|
},
|
|
{
|
|
title: "iPhone 11 128gb",
|
|
desc: "my first iphone I got from my parents at 13, rn my dad has it because I switched over to the iphone 16 pro in 2025, specs are Apple A13 (6c/6t), 4gb of ram and 128gb of storage. (NOT MY IMAGE)",
|
|
image: "/iphone11.webp",
|
|
},
|
|
{
|
|
title: "iPhone 16 Pro 128gb",
|
|
desc: "originally wanted iphone 13 mini (because of the size) but I somehow decided to get 16 pro, which is a bit smaller than my older iphone 11, specs are Apple A18 pro (6c/6t), (btw this chip is the same chip used in the macbook neo so thats cool) and 8gb of ram and 128gb of storage, my main phone.",
|
|
image: "/iphone16pro.webp",
|
|
},
|
|
{
|
|
title: "Xbox one S 2TB",
|
|
desc: "my dad bought it for me also in like 2018 or 2019 and I sometimes play the console edition of minecraft because I like to play the gliding minigame on it when someone comes over.",
|
|
image: "/xboxones.webp",
|
|
},
|
|
];
|
|
|
|
const friends = [
|
|
{
|
|
name: "Josef Skopec",
|
|
url: "/skopec.html",
|
|
realUrl: "https://skopec.dev/",
|
|
img: "/skopec.svg",
|
|
desc: "skopec.dev",
|
|
iframe: true
|
|
},
|
|
{
|
|
name: "Filip Bukovina",
|
|
url: "https://bukovinafilip.com/",
|
|
realUrl: "https://bukovinafilip.com/",
|
|
img: "/bukovina.svg",
|
|
desc: "bukovinafilip.com",
|
|
iframe: true
|
|
},
|
|
{
|
|
name: "Tomáš Vlk",
|
|
url: "https://vlcak.me",
|
|
realUrl: "https://vlcak.me",
|
|
img: "/vlcak.svg",
|
|
desc: "vlcak.me",
|
|
iframe: true
|
|
}
|
|
];
|
|
|
|
return <>
|
|
<SlBackground />
|
|
<div className="container">
|
|
|
|
{/* Header - TUI top bar */}
|
|
<header className="header">
|
|
<div className="header-center">
|
|
<JokerLogo />
|
|
<h1 className="site-name">dvorakmortonxd.dev</h1>
|
|
</div>
|
|
</header>
|
|
|
|
{/* Hero - TUI welcome panel */}
|
|
<main className="hero">
|
|
<div className="hero-panel">
|
|
<span className="hero-panel-label">~ README.MD</span>
|
|
<h2 className="hero-title">$ whoami</h2>
|
|
<p className="hero-subtitle">
|
|
Welcome to my website, visit the land down under to get to find out about me and my social media, services, hardware and projects. welcome to my goblin cave. {'>'}:)<span className="cursor-blink"></span>
|
|
</p>
|
|
</div>
|
|
|
|
{/* Search Panel */}
|
|
<div className="search-section">
|
|
<div className="tui-panel">
|
|
<span className="tui-panel-label" style={{ color: 'var(--red)' }}>├─ SEARXNG.C</span>
|
|
<form action="https://search.dvorakmortonxd.dev/search" method="GET" target="_blank" rel="noopener noreferrer" className="search-form">
|
|
<input type="text" name="q" placeholder="Search... (only works if I granted you access)" className="search-bar" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Social Links Panel */}
|
|
<div className="social-section">
|
|
<div className="tui-panel">
|
|
<span className="tui-panel-label label-blue">├─ SOCIALS.JS</span>
|
|
<div className="social-buttons">
|
|
{socials.map((s) => (
|
|
<a
|
|
key={s.name}
|
|
href={s.url}
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="social-button"
|
|
>
|
|
<Image src={s.icon} alt={s.name} width={16} height={16} className="social-icon" />
|
|
<span className="social-label">{s.name}</span>
|
|
</a>
|
|
))}
|
|
</div>
|
|
<div className="mail-contact">
|
|
mail if u ever wanna contact me: <a href="mailto:dvorak@dvorakmortonxd.dev">dvorak@dvorakmortonxd.dev</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Gym SBD Panel */}
|
|
<div className="gym-section">
|
|
<div className="tui-panel">
|
|
<span className="tui-panel-label" style={{ color: 'var(--accent2)' }}>├─ GYM_SBD_AT_73KG_BW.DB</span>
|
|
<div className="gym-grid">
|
|
<div className="gym-item">
|
|
<Image src="/squat.svg" alt="Squat" width={48} height={48} className="gym-icon" />
|
|
<div className="gym-label">SQUAT</div>
|
|
<div className="gym-weight">125kg</div>
|
|
<div className="gym-date" style={{ fontSize: '0.65rem', color: 'var(--gray)' }}>5.1.2025</div>
|
|
</div>
|
|
<div className="gym-item">
|
|
<Image src="/bench.svg" alt="Bench" width={48} height={48} className="gym-icon" />
|
|
<div className="gym-label">BENCH</div>
|
|
<div className="gym-weight">108kg</div>
|
|
<div className="gym-date" style={{ fontSize: '0.65rem', color: 'var(--gray)' }}>25.4.2026</div>
|
|
</div>
|
|
<div className="gym-item">
|
|
<Image src="/deadlift.svg" alt="Deadlift" width={48} height={48} className="gym-icon" />
|
|
<div className="gym-label">DEADLIFT</div>
|
|
<div className="gym-weight">165kg</div>
|
|
<div className="gym-date" style={{ fontSize: '0.65rem', color: 'var(--gray)' }}>17.12.2024</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{/* About Me Panel */}
|
|
<div className="about-section">
|
|
<div className="tui-panel">
|
|
<span className="tui-panel-label label-yellow">├─ about_me.txt</span>
|
|
<div className="about-content">
|
|
<p>
|
|
<span className="text-green">martin@dvorakmortonxd</span>:<span className="text-blue">~</span>$ cat about_me.txt
|
|
</p>
|
|
<div style={{ color: '#a3a3a3' }}>
|
|
<p>
|
|
Hey, I'm Martin Dvořák — a 17-year-old IT student based in the Czech Republic, specializing in network management and administration at <span className="text-purple-500"><a href="https://sssvt.cz">sssvt.cz</a></span>. I'm a freshman and I have wanted to go to this school since 7th grade (2022) so I'm happy I got in in 2025, the school is pretty cool so if you are in middle school and interested in IT, check it.
|
|
</p>
|
|
<p>
|
|
I'm a passionate homelabber and developer heavily focused on self-hosting <i>literally everything</i>, writing code, and tinkering with Linux systems and retro hardware. Whether it's configuring Proxmox, reviving an old Thinkpad with Void Linux, or compiling Gentoo on my main rig, I'm always looking at bazos to get more retro hardware.
|
|
</p>
|
|
<p>
|
|
In my free time I mostly spend time with my girl {'<'}3, I also spend a lot of time constructing some of my self hosted stuff, and also when I'm in my gaming mood (which is kinda rare nowadays) I play terraria (around 1300hr playtime btw) and minecraft modpacks with mekanism. I also go to the gym around 3-5 times a week, running a PPL split focused on strength/powerlifting and especially SBD, lately I've also taken interest in Jiu-Jitsu lessons for self-defense.<span className="cursor-blink"></span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Services Panel */}
|
|
<div className="services-section">
|
|
<div className="tui-panel">
|
|
<span className="tui-panel-label label-green">├─ SERVICES.HTML</span>
|
|
<div className="services-buttons">
|
|
<ServiceButton
|
|
url="https://proxmox.dvorakmortonxd.dev/"
|
|
className="proxmox"
|
|
icon="🖥️"
|
|
name="Proxmox"
|
|
desc="Server Management"
|
|
/>
|
|
<ServiceButton
|
|
url="https://ai.dvorakmortonxd.dev/"
|
|
className="ai"
|
|
icon="🦾"
|
|
name="Ollama"
|
|
desc="Local AI Server"
|
|
/>
|
|
<ServiceButton
|
|
url="https://jelly.dvorakmortonxd.dev/"
|
|
className="jellyfin"
|
|
icon="🎬"
|
|
name="Jellyfin"
|
|
desc="Local Media Server"
|
|
/>
|
|
<ServiceButton
|
|
url="https://fake-pterodactyl.dvorakmortonxd.dev/"
|
|
className="pterodactyl"
|
|
icon="📦"
|
|
name="MCSManager"
|
|
desc="Game Server Panel"
|
|
/>
|
|
<ServiceButton
|
|
url="https://navidrome.dvorakmortonxd.dev/"
|
|
className="funkwhale"
|
|
icon="🎸"
|
|
name="Navidrome"
|
|
desc="Music Streaming"
|
|
/>
|
|
<ServiceButton
|
|
url="https://mailcow.dvorakmortonxd.dev/"
|
|
className="mailcow"
|
|
icon="💌"
|
|
name="Mailcow"
|
|
desc="Email Server"
|
|
/>
|
|
<ServiceButton
|
|
url="https://search.dvorakmortonxd.dev/"
|
|
className="searxng"
|
|
icon="🔦"
|
|
name="SearxNG"
|
|
desc="Private Search"
|
|
/>
|
|
<ServiceButton
|
|
url="https://convert.dvorakmortonxd.dev/"
|
|
className="convertx"
|
|
icon="📽️"
|
|
name="ConvertX"
|
|
desc="File Converter"
|
|
/>
|
|
<ServiceButton
|
|
url="https://git.dvorakmortonxd.dev"
|
|
className="gitdxd"
|
|
icon="🐙"
|
|
name="GitDXD"
|
|
desc="Best Git Hosting OAT"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Softcraft Panel */}
|
|
<div className="services-section" style={{ marginTop: '20px' }}>
|
|
<div className="tui-panel">
|
|
<span className="tui-panel-label" style={{ color: '#d946ef' }}>├─ SOFTCRAFT.JAR</span>
|
|
<div className="services-buttons" style={{ gap: '1rem' }}>
|
|
<ServiceButton
|
|
url="https://dvorakmortonxd.dev/softcraft"
|
|
checkUrl="minecraft://46.30.237.43:6767"
|
|
className="softcraft"
|
|
icon="⛏️"
|
|
name="Softcraft"
|
|
desc="Try my minecraft server"
|
|
/>
|
|
<ServiceButton
|
|
url="https://bluemap.dvorakmortonxd.dev"
|
|
className="bluemap"
|
|
icon="🗺️"
|
|
name="BlueMap"
|
|
desc="SoftCraft Map"
|
|
/>
|
|
<ServiceButton
|
|
url="https://discord-sc.dvorakmortonxd.dev"
|
|
className="discord-sc"
|
|
icon={<Image src="/discord.svg" alt="Discord" width={28} height={28} />}
|
|
name="Discord"
|
|
desc="Join SoftCraft Discord"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{/* GitDXD Panel */}
|
|
<div className="gitdxd-section" style={{ marginTop: '20px' }}>
|
|
<div className="tui-panel">
|
|
<span className="tui-panel-label" style={{ color: '#0ea5e9' }}>├─ GITDXD.GIT</span>
|
|
<div style={{ padding: '24px 16px 16px' }}>
|
|
<h2 style={{ fontSize: '2.4rem', fontWeight: 'bold', color: '#0ea5e9', marginBottom: '16px', textAlign: 'center' }}>GitDXD</h2>
|
|
<p style={{ fontSize: '1.8rem', color: '#0ea5e9', fontWeight: '500', textAlign: 'center' }}>Self-hosted Git Instance</p>
|
|
<div style={{ marginTop: '16px', marginBottom: '16px', borderRadius: '8px', overflow: 'hidden', border: '1px solid rgba(14, 165, 233, 0.4)', boxShadow: '0 0 30px rgba(14, 165, 233, 0.15)' }}>
|
|
<Image
|
|
src="/gitdxd.webp"
|
|
alt="GitDXD Preview"
|
|
width={1280}
|
|
height={720}
|
|
style={{ width: '100%', height: 'auto', display: 'block' }}
|
|
/>
|
|
</div>
|
|
<div style={{ color: '#a3a3a3', marginTop: '12px', lineHeight: '1.6', textAlign: 'center' }}>
|
|
<p>My very own forgejo git instance, feel free to contact me if you wanna join but as of now I've made it exclusively private for me and my friends. Visit it at <span className="text-purple-500"><a href="https://git.dvorakmortonxd.dev">git.dvorakmortonxd.dev</a></span>.<span className="cursor-blink"></span></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Commits Panel */}
|
|
<div className="commits-section" style={{ marginTop: '16px' }}>
|
|
<div className="tui-panel">
|
|
<span className="tui-panel-label" style={{ color: 'var(--green)' }}>├─ CONTRIBUTIONS@GITDXD.GIT</span>
|
|
<div className="commits-content" style={{ padding: '24px 16px 16px' }}>
|
|
<ContributionHeatmap />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{/* RustyWolf Panel */}
|
|
<div className="rustywolf-section" style={{ marginTop: '20px' }}>
|
|
<div className="tui-panel">
|
|
<span className="tui-panel-label" style={{ color: '#f74c00' }}>├─ RUSTYWOLF.RS</span>
|
|
<div style={{ padding: '24px 16px 16px' }}>
|
|
<h2 style={{ fontSize: '2.4rem', fontWeight: 'bold', color: '#f74c00', marginBottom: '32px', textAlign: 'center' }}>Introducing RustyWolf</h2>
|
|
<div style={{ marginTop: '12px', marginBottom: '12px', borderRadius: '8px', overflow: 'hidden', border: '1px solid rgba(255, 255, 255, 0.4)', boxShadow: '0 0 30px rgba(255, 255, 255, 0.15)' }}>
|
|
<Image
|
|
src="/RustyWolfPreview.webp"
|
|
alt="RustyWolf Browser Preview"
|
|
width={1280}
|
|
height={720}
|
|
style={{ width: '100%', height: 'auto', display: 'block' }}
|
|
/>
|
|
</div>
|
|
<p style={{ fontSize: '1.8rem', color: '#f74c00', fontWeight: '500', textAlign: 'center' }}>What makes it so cool???</p>
|
|
<div style={{ color: '#a3a3a3', marginTop: '12px', lineHeight: '1.6' }}>
|
|
<p>A lightweight browser made in Rust with WebKitGTK. It's the successor to my previous project Venturesome, aiming to provide a fast and minimalist browsing experience. It's a perfect browser for old machines that struggle with modern browsers. Check it out at <span className="text-purple-500"><a href="https://git.dvorakmortonxd.dev/dvorakmortonxd/RustyWolf">GitDXD</a></span>.<span className="cursor-blink"></span></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
{/* Projects */}
|
|
<section className="projects">
|
|
{/* Tech Section */}
|
|
<div className="subsection-wrapper">
|
|
<div className="subsection-panel">
|
|
<span className="subsection-panel-label">├─ TECH_LIST.JSON</span>
|
|
<h2 style={{ fontSize: '2rem', fontWeight: 'bold', textAlign: 'center', margin: '4px 0 20px', color: 'darkorange' }}>All my hardware equipment :)</h2>
|
|
<div className="project-grid">
|
|
{techProjects.map((project) => (
|
|
<div key={project.title} className="project-card">
|
|
<div
|
|
className="project-image"
|
|
style={{ backgroundImage: `url(${project.image})` }}
|
|
/>
|
|
<h4 className="project-title">{project.title}</h4>
|
|
<p className="project-desc">{project.desc}</p>
|
|
</div>
|
|
))}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Coding Section */}
|
|
<div className="subsection-wrapper">
|
|
<div className="subsection-panel coding-panel">
|
|
<span className="subsection-panel-label">├─ PROJECTS.DOCX</span>
|
|
<div className="project-grid">
|
|
{codingProjects.map((project, idx) => (
|
|
<a
|
|
key={idx}
|
|
href={project.url}
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className="project-card"
|
|
>
|
|
<div
|
|
className="project-image"
|
|
style={{ backgroundImage: `url(${project.img})` }}
|
|
/>
|
|
<h4 className="project-title">{project.title}</h4>
|
|
<p className="project-desc">{project.desc}</p>
|
|
</a>
|
|
))}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Friends Section */}
|
|
<div className="subsection-wrapper">
|
|
<div className="subsection-panel friends-panel">
|
|
<span className="subsection-panel-label">└─ FRIENDS.TSX</span>
|
|
<div className="services-buttons" style={{ gap: '1rem' }}>
|
|
{friends.map((friend, idx) => (
|
|
<ServiceButton
|
|
key={idx}
|
|
url={friend.realUrl || friend.url}
|
|
className="friend"
|
|
icon={<Image src={friend.img} alt={friend.name} width={68} height={68} className="friend-icon" style={{ borderRadius: '50%' }} />}
|
|
name={friend.name}
|
|
desc={friend.desc}
|
|
/>
|
|
))}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<footer className="footer">
|
|
<span className="footer-label">v1.6.7</span>
|
|
© 2025-2026 Martin Dvořák. All rights reserved (not really I dont care, just follow the GPL3.0 License)
|
|
</footer>
|
|
</div>
|
|
</>
|
|
}
|