Updated a lot

This commit is contained in:
2026-02-27 02:48:23 -05:00
parent 7a5f04497b
commit 76f26454d3
21 changed files with 76 additions and 42 deletions
+11 -3
View File
@@ -1,5 +1,6 @@
<?php <?php
$title = 'About'; $title = 'About';
$description = "The self bleeds into creation.";
include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'; include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php';
?> ?>
<body class="bg-[#0a0a0a] text-white min-h-screen"> <body class="bg-[#0a0a0a] text-white min-h-screen">
@@ -7,9 +8,16 @@ include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php';
<main class="pt-16"> <main class="pt-16">
<div class="max-w-3xl mx-auto px-4 sm:px-6 py-12"> <div class="max-w-3xl mx-auto px-4 sm:px-6 py-12">
<h1 class="text-2xl font-semibold mb-12">About</h1> <h1 class="text-2xl font-semibold mb-8">About</h1>
<div class="space-y-5 text-neutral-300 leading-relaxed text-sm"> <div class="space-y-5 text-neutral-300 leading-relaxed text-base">
<p>I'm sistav, I host this site.</p> <p>Welcome to sistav.com,</p>
<p>I'm Sistav, assuming you haven't figured that out already.</p>
<p>I'm a developer. I like Linux, Counter-Strike, and BMWs. I don't do web development very often, but I don't mind it for my own domain, it's quite fun trying to figure out what fits best.</p>
<p>I bought this domain to sit on. Eventually it became something more. The site was down for a year or two but in February 2026 I found the time to rebuild it.</p>
<p>The site has and always will be changing. I hope it brings you as much joy as it brings me. I like to think of it as a never ending expression of the person I am at the time</p>
<p>Feel free to contact me, about the site, something written on it, or anything else.</p>
<p>All The Best,</p>
<p>Sistav</p>
</div> </div>
</div> </div>
</main> </main>
+9
View File
@@ -0,0 +1,9 @@
{
"projects": [
{
"title": "MonKEYS",
"url": "https://monkeys.sistav.com",
"note": "Finally, a use for monkey labour."
}
]
}

Before

Width:  |  Height:  |  Size: 469 KiB

After

Width:  |  Height:  |  Size: 469 KiB

Before

Width:  |  Height:  |  Size: 319 KiB

After

Width:  |  Height:  |  Size: 319 KiB

Before

Width:  |  Height:  |  Size: 6.2 MiB

After

Width:  |  Height:  |  Size: 6.2 MiB

Before

Width:  |  Height:  |  Size: 14 MiB

After

Width:  |  Height:  |  Size: 14 MiB

Before

Width:  |  Height:  |  Size: 581 KiB

After

Width:  |  Height:  |  Size: 581 KiB

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

Before

Width:  |  Height:  |  Size: 6.5 MiB

After

Width:  |  Height:  |  Size: 6.5 MiB

Before

Width:  |  Height:  |  Size: 6.4 MiB

After

Width:  |  Height:  |  Size: 6.4 MiB

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Before

Width:  |  Height:  |  Size: 354 KiB

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

+11 -10
View File
@@ -1,5 +1,6 @@
<?php <?php
$title = 'Contact'; $title = 'Contact';
$description = 'The wise man does not hide. He simply waits to be found.';
include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'; include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php';
?> ?>
<body class="bg-[#0a0a0a] text-white min-h-screen"> <body class="bg-[#0a0a0a] text-white min-h-screen">
@@ -8,37 +9,37 @@ include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php';
<main class="pt-16"> <main class="pt-16">
<div class="max-w-3xl mx-auto px-4 sm:px-6 py-12"> <div class="max-w-3xl mx-auto px-4 sm:px-6 py-12">
<h1 class="text-2xl mb-4">Contact</h1> <h1 class="text-2xl mb-4">Contact</h1>
<p class="text-neutral-300 text-sm mb-16 text-center">Get in touch. Feel free to send me gifs.</p> <p class="text-neutral-300 text-base mb-16 text-center">Get in touch. Feel free to send me gifs.</p>
<ul class="space-y-4"> <ul class="space-y-5">
<li> <li>
<a href="mailto:admin@sistav.com" class="group"> <a href="mailto:admin@sistav.com" class="group">
<span class="flex items-baseline gap-2"> <span class="flex items-baseline gap-2">
<span class="text-neutral-300 text-sm group-hover:text-white transition-colors">Email</span> <span class="text-neutral-300 text-base group-hover:text-white transition-colors">Email</span>
<span class="text-neutral-500 text-xs">admin@sistav.com</span> <span class="text-neutral-400 text-base">admin@sistav.com</span>
</span> </span>
</a> </a>
</li> </li>
<li> <li>
<a href="https://github.com/sistav" target="_blank" rel="noopener" class="group"> <a href="https://github.com/sistav" target="_blank" rel="noopener" class="group">
<span class="flex items-baseline gap-2"> <span class="flex items-baseline gap-2">
<span class="text-neutral-300 text-sm group-hover:text-white transition-colors">GitHub</span> <span class="text-neutral-300 text-base group-hover:text-white transition-colors">GitHub</span>
<span class="text-neutral-500 text-xs">sistav</span> <span class="text-neutral-400 text-base">sistav</span>
</span> </span>
</a> </a>
</li> </li>
<li> <li>
<a href="https://fosstodon.org/@Sistav" target="_blank" rel="noopener" class="group"> <a href="https://fosstodon.org/@Sistav" target="_blank" rel="noopener" class="group">
<span class="flex items-baseline gap-2"> <span class="flex items-baseline gap-2">
<span class="text-neutral-300 text-sm group-hover:text-white transition-colors">Mastodon</span> <span class="text-neutral-300 text-base group-hover:text-white transition-colors">Mastodon</span>
<span class="text-neutral-500 text-xs">@Sistav</span> <span class="text-neutral-400 text-base">@Sistav</span>
</span> </span>
</a> </a>
</li> </li>
<li> <li>
<a href="https://twitter.com/NotSistav" target="_blank" rel="noopener" class="group"> <a href="https://twitter.com/NotSistav" target="_blank" rel="noopener" class="group">
<span class="flex items-baseline gap-2"> <span class="flex items-baseline gap-2">
<span class="text-neutral-300 text-sm group-hover:text-white transition-colors">Twitter</span> <span class="text-neutral-300 text-base group-hover:text-white transition-colors">Twitter</span>
<span class="text-neutral-500 text-xs">@NotSistav</span> <span class="text-neutral-400 text-base">@NotSistav</span>
</span> </span>
</a> </a>
</li> </li>
+2
View File
@@ -4,4 +4,6 @@ if (empty($gif_files)) { http_response_code(404); exit; }
$file = basename($gif_files[array_rand($gif_files)]); $file = basename($gif_files[array_rand($gif_files)]);
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Pragma: no-cache');
header('Location: https://sistav.com/assets/gifs/' . rawurlencode($file), true, 302); header('Location: https://sistav.com/assets/gifs/' . rawurlencode($file), true, 302);
+11 -8
View File
@@ -3,12 +3,15 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?= isset($title) ? htmlspecialchars($title) . ' — sistav.com' : 'sistav.com' ?></title> <title><?= isset($title) ? htmlspecialchars($title) : 'sistav.com' ?></title>
<?php if (isset($description)): ?>
<meta name="description" content="<?= htmlspecialchars($description) ?>">
<?php endif; ?>
<link rel="icon" href="/assets/favicon/favicon.ico" sizes="any"> <link rel="icon" href="/assets/favicon/favicon.ico" sizes="any">
<link rel="apple-touch-icon" href="/assets/favicon/apple-touch-icon.png"> <link rel="apple-touch-icon" href="/assets/favicon/apple-touch-icon.png">
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=DM+Serif+Display&display=swap" rel="stylesheet"> <link href="https://api.fontshare.com/v2/css?f[]=clash-display@400,500,600,700&f[]=satoshi@400,500,600,700&display=swap" rel="stylesheet">
<script src="https://cdn.tailwindcss.com"></script> <script src="https://cdn.tailwindcss.com"></script>
<script> <script>
tailwind.config = { tailwind.config = {
@@ -21,21 +24,21 @@
</script> </script>
<style> <style>
/* Global text softening */ /* Global text softening */
body { color: #e6dfd8 !important; background-color: #0b0a09 !important; } body { color: #e6dfd8 !important; background-color: #0b0a09 !important; font-family: 'Satoshi', sans-serif !important; }
/* Headings */ /* Headings */
h1 { h1 {
font-family: 'DM Serif Display', Georgia, serif !important; font-family: 'ClashDisplay-Variable', sans-serif !important;
font-weight: 400 !important; font-weight: 400 !important;
font-size: 2.25rem !important; font-size: 2rem !important;
color: #e6dfd8; color: #e6dfd8;
letter-spacing: -0.01em; letter-spacing: 0.05em;
text-align: center; text-align: center;
} }
article h2 { article h2 {
font-family: inherit !important; font-family: 'Satoshi', sans-serif !important;
font-weight: 400 !important; font-weight: 400 !important;
font-size: 0.75rem !important; font-size: 1rem !important;
color: #d4d4d4 !important; color: #d4d4d4 !important;
letter-spacing: 0.1em !important; letter-spacing: 0.1em !important;
text-transform: uppercase !important; text-transform: uppercase !important;
+2 -2
View File
@@ -18,9 +18,9 @@ $_nav_pages = [
?> ?>
<nav class="fixed top-0 left-0 right-0 z-50 bg-[#0a0a0a] border-b border-[#1c1c1c]"> <nav class="fixed top-0 left-0 right-0 z-50 bg-[#0a0a0a] border-b border-[#1c1c1c]">
<div class="max-w-5xl mx-auto px-4 sm:px-6 flex items-center justify-between h-16"> <div class="max-w-5xl mx-auto px-4 sm:px-6 flex items-center justify-between h-16">
<a href="/" class="text-base font-semibold tracking-wide">sistav.com</a> <a href="/" style="font-family: 'Satoshi', sans-serif; font-size: 1.2rem; font-weight: 600; letter-spacing: 0.02em;">sistav.com</a>
<div class="hidden md:flex items-center gap-8 text-base"> <div class="hidden md:flex items-center gap-8 text-lg">
<?php foreach ($_nav_pages as $href => $label): ?> <?php foreach ($_nav_pages as $href => $label): ?>
<a href="<?= $href ?>" class="<?= _nav_active($href) ? '' : 'text-neutral-400 hover:text-[#e6dfd8]' ?> transition-colors duration-150"><?= $label ?></a> <a href="<?= $href ?>" class="<?= _nav_active($href) ? '' : 'text-neutral-400 hover:text-[#e6dfd8]' ?> transition-colors duration-150"><?= $label ?></a>
<?php endforeach; ?> <?php endforeach; ?>
+1
View File
@@ -1,4 +1,5 @@
<?php <?php
$description = 'Always changing. Always here.';
$gif_files = glob($_SERVER['DOCUMENT_ROOT'] . '/assets/gifs/*.gif'); $gif_files = glob($_SERVER['DOCUMENT_ROOT'] . '/assets/gifs/*.gif');
$gifs = array_map(fn($f) => '/assets/gifs/' . basename($f), $gif_files); $gifs = array_map(fn($f) => '/assets/gifs/' . basename($f), $gif_files);
$default = !empty($gifs) ? $gifs[0] : ''; $default = !empty($gifs) ? $gifs[0] : '';
+7 -6
View File
@@ -1,5 +1,6 @@
<?php <?php
$title = 'Links'; $title = 'Links';
$description = 'Links.';
include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'; include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php';
$data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/assets/data/links.json'), true); $data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/assets/data/links.json'), true);
@@ -10,13 +11,13 @@ $categories = $data['categories'] ?? [];
<main class="pt-16"> <main class="pt-16">
<div class="max-w-3xl mx-auto px-4 sm:px-6 py-12"> <div class="max-w-3xl mx-auto px-4 sm:px-6 py-12">
<h1 class="text-2xl font-semibold mb-4">Links</h1> <h1 class="text-2xl font-semibold mb-6">Links</h1>
<p class="text-neutral-300 text-sm mb-16 text-center">A collection of interesting and useful websites.</p> <p class="text-neutral-300 text-lg mb-16 text-center">A collection of interesting and useful websites.</p>
<div class="space-y-12"> <div class="space-y-12">
<?php foreach ($categories as $cat): ?> <?php foreach ($categories as $cat): ?>
<section> <section>
<h2 class="text-xs text-neutral-300 uppercase tracking-widest mb-5"><?= htmlspecialchars($cat['name']) ?></h2> <h2 class="text-base text-neutral-300 uppercase tracking-widest mb-5"><?= htmlspecialchars($cat['name']) ?></h2>
<ul class="space-y-4"> <ul class="space-y-4">
<?php foreach ($cat['links'] as $link): <?php foreach ($cat['links'] as $link):
$domain = preg_replace('/^www\./', '', parse_url($link['url'], PHP_URL_HOST)); $domain = preg_replace('/^www\./', '', parse_url($link['url'], PHP_URL_HOST));
@@ -24,11 +25,11 @@ $categories = $data['categories'] ?? [];
<li> <li>
<a href="<?= htmlspecialchars($link['url']) ?>" target="_blank" rel="noopener" class="group"> <a href="<?= htmlspecialchars($link['url']) ?>" target="_blank" rel="noopener" class="group">
<span class="flex items-baseline gap-2"> <span class="flex items-baseline gap-2">
<span class="text-neutral-300 text-sm group-hover:text-white transition-colors"><?= htmlspecialchars($link['title']) ?></span> <span class="text-neutral-300 text-base group-hover:text-white transition-colors"><?= htmlspecialchars($link['title']) ?></span>
<span class="text-neutral-500 text-xs"><?= $domain ?></span> <span class="text-neutral-400 text-base"><?= $domain ?></span>
</span> </span>
<?php if (!empty($link['note'])): ?> <?php if (!empty($link['note'])): ?>
<span class="block text-neutral-500 text-xs mt-0.5"><?= htmlspecialchars($link['note']) ?></span> <span class="block text-neutral-400 text-base mt-0.5"><?= htmlspecialchars($link['note']) ?></span>
<?php endif; ?> <?php endif; ?>
</a> </a>
</li> </li>
+9 -8
View File
@@ -1,5 +1,6 @@
<?php <?php
$title = 'Log'; $title = 'Log';
$description = "A running tab of what I've been into.";
include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'; include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php';
$data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/assets/data/log.json'), true); $data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/assets/data/log.json'), true);
@@ -11,24 +12,24 @@ $fields = ['listening', 'watching', 'reading', 'working on', 'thinking'];
<main class="pt-16"> <main class="pt-16">
<div class="max-w-3xl mx-auto px-4 sm:px-6 py-12"> <div class="max-w-3xl mx-auto px-4 sm:px-6 py-12">
<h1 class="text-2xl font-semibold mb-4">Log</h1> <h1 class="text-2xl font-semibold mb-6">Log</h1>
<p class="text-neutral-300 text-sm mb-16 text-center">What I've been doing recently. Don't expect this to be updated recently</p> <p class="text-neutral-300 text-lg mb-16 text-center">What I've been spending my time on. It's most likely not upto date.</p>
<div class="space-y-12"> <div class="space-y-12">
<?php if (empty($entries)): ?> <?php if (empty($entries)): ?>
<p class="text-neutral-700 text-sm">Nothing yet.</p> <p class="text-neutral-700 text-base">Nothing yet.</p>
<?php endif; ?> <?php endif; ?>
<?php foreach ($entries as $entry): ?> <?php foreach ($entries as $entry): ?>
<article> <article>
<h2 class="mb-5"><?= htmlspecialchars($entry['title']) ?></h2> <h2 class="text-xl text-neutral-300 uppercase tracking-widest mb-5"><?= htmlspecialchars($entry['title']) ?></h2>
<p class="text-[#a3a3a3] text-xs font-mono mb-6"><?= date('F j, Y', strtotime($entry['date'])) ?></p> <p class="text-[#a3a3a3] text-sm font-mono mb-6"><?= date('F j, Y', strtotime($entry['date'])) ?></p>
<dl class="space-y-3"> <dl class="space-y-3">
<?php foreach ($fields as $field): ?> <?php foreach ($fields as $field): ?>
<?php if (!empty($entry[$field])): ?> <?php if (!empty($entry[$field])): ?>
<div class="grid grid-cols-[90px_1fr] gap-4"> <div class="grid grid-cols-[110px_1fr] gap-4">
<dt class="text-neutral-500 text-xs"><?= $field ?></dt> <dt class="text-neutral-400 text-base"><?= $field ?></dt>
<dd class="text-neutral-200 text-sm"><?= htmlspecialchars($entry[$field]) ?></dd> <dd class="text-neutral-200 text-base"><?= htmlspecialchars($entry[$field]) ?></dd>
</div> </div>
<?php endif; ?> <?php endif; ?>
<?php endforeach; ?> <?php endforeach; ?>
+13 -5
View File
@@ -1,5 +1,8 @@
<?php <?php
$title = 'Projects'; $title = 'Projects';
$description = "He who calls his work done has mistaken the horizon for a wall.";
$data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/assets/data/projects.json'), true);
$projects = $data['projects'] ?? [];
include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php'; include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php';
?> ?>
<body class="bg-[#0a0a0a] text-white min-h-screen"> <body class="bg-[#0a0a0a] text-white min-h-screen">
@@ -7,18 +10,23 @@ include $_SERVER['DOCUMENT_ROOT'] . '/includes/head.php';
<main class="pt-16"> <main class="pt-16">
<div class="max-w-3xl mx-auto px-4 sm:px-6 py-12"> <div class="max-w-3xl mx-auto px-4 sm:px-6 py-12">
<h1 class="text-2xl font-semibold mb-12">Projects</h1> <h1 class="text-2xl font-semibold mb-6">Projects</h1>
<p class="text-neutral-300 text-lg mb-12 text-center">He who mistakes completion for mastery has learned only the shape of his own ignorance.</p>
<div class="space-y-6"> <div class="space-y-6">
<a href="https://monkeys.sistav.com" target="_blank" rel="noopener noreferrer" class="group block border border-[#1c1c1c] hover:border-[#333] bg-[#0f0f0f] hover:bg-[#111] transition-colors p-6"> <?php foreach ($projects as $project): ?>
<a href="<?= htmlspecialchars($project['url']) ?>" class="group block border border-[#1c1c1c] hover:border-[#333] bg-[#060606] hover:bg-[#0d0d0d] transition-colors p-6">
<div class="flex items-start justify-between gap-4"> <div class="flex items-start justify-between gap-4">
<div> <div>
<h2 class="text-base font-semibold mb-1 group-hover:text-[#e6dfd8] transition-colors">MonKEYS</h2> <h2 class="text-sm font-semibold mb-1 group-hover:text-[#e6dfd8] transition-colors"><?= htmlspecialchars($project['title']) ?></h2>
<p class="text-neutral-400 text-sm leading-relaxed">Finally, a use for monkey labour.</p> <?php if (!empty($project['note'])): ?>
<p class="text-neutral-400 text-base leading-relaxed"><?= htmlspecialchars($project['note']) ?></p>
<?php endif; ?>
</div> </div>
<span class="text-neutral-600 text-xs shrink-0 mt-1">monkeys.sistav.com ↗</span> <span class="text-neutral-400 text-base shrink-0 mt-1"><?= htmlspecialchars(parse_url($project['url'], PHP_URL_HOST)) ?></span>
</div> </div>
</a> </a>
<?php endforeach; ?>
</div> </div>
</div> </div>
</main> </main>