From b2b00df260e6a326d98296e7a10f8f7f6c899b97 Mon Sep 17 00:00:00 2001 From: Jason Hilder Date: Fri, 22 May 2026 13:02:57 +0200 Subject: [PATCH] Initial commit of simple php site. --- deploy.sh | 20 +++++++++++++ index.php | 3 ++ src/router.php | 43 ++++++++++++++++++++++++++++ static/css/app.css | 4 --- web/pages/404.php | 6 ++++ web/pages/home.php | 33 +++++++++++++++++++++ web/partials/footer.php | 4 +++ web/partials/head.php | 13 +++++++++ {static => web/static}/css/index.css | 10 +++++-- {static => web/static}/css/reset.css | 0 {static => web/static}/js/index.js | 0 11 files changed, 129 insertions(+), 7 deletions(-) create mode 100755 deploy.sh create mode 100644 index.php create mode 100644 src/router.php delete mode 100644 static/css/app.css create mode 100644 web/pages/404.php create mode 100644 web/pages/home.php create mode 100644 web/partials/footer.php create mode 100644 web/partials/head.php rename {static => web/static}/css/index.css (98%) rename {static => web/static}/css/reset.css (100%) rename {static => web/static}/js/index.js (100%) diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..0cde4bc --- /dev/null +++ b/deploy.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e + +REMOTE_PATH="/home/admin/www/jasonhilder.dev/" + +echo "Deploying to server..." + +# Sync local project to server over SSH, only transferring changed files. +# -a = archive mode (preserves permissions, timestamps etc) +# -v = verbose output +# -z = compress data during transfer +# --delete = remove files on server that no longer exist locally +# --exclude = skip these files/dirs, they don't belong on the server +rsync -avz --delete \ + --exclude='.git' \ + --exclude='README.md' \ + --exclude='deploy.sh' \ + ./ "server:$REMOTE_PATH" + +echo "Deploy complete." diff --git a/index.php b/index.php new file mode 100644 index 0000000..c550b4c --- /dev/null +++ b/index.php @@ -0,0 +1,3 @@ + 'web/pages/home.php', + '/about' => 'web/pages/about.php', +]; + +$base = realpath(ROOT . '/web/pages'); + +if ($base === false) { + http_response_code(500); + exit; +} + +if (array_key_exists($uri, $routes)) { + $real = realpath(ROOT . '/' . $routes[$uri]); + + if ($real !== false && str_starts_with($real, $base . DIRECTORY_SEPARATOR)) { + require $real; + } else { + http_response_code(403); + exit; + } +} else { + http_response_code(404); + require ROOT . '/web/pages/404.php'; +} diff --git a/static/css/app.css b/static/css/app.css deleted file mode 100644 index 136769c..0000000 --- a/static/css/app.css +++ /dev/null @@ -1,4 +0,0 @@ -body { - background-color: #191919; - color: #ffffff; -} diff --git a/web/pages/404.php b/web/pages/404.php new file mode 100644 index 0000000..00fceff --- /dev/null +++ b/web/pages/404.php @@ -0,0 +1,6 @@ + + +

404

+

Seems this is not what you are looking for...

+ + diff --git a/web/pages/home.php b/web/pages/home.php new file mode 100644 index 0000000..f16fb12 --- /dev/null +++ b/web/pages/home.php @@ -0,0 +1,33 @@ + + +
+

Hi, I'm Jason

+

Software engineer.

+

+ I build backend systems, data pipelines, and internal tooling. I have a bias toward simplicity and the shortest path + to something solid — built to last, not just to ship. I'd rather understand a system deeply than paper over it with abstractions. +

+

+ When I'm not working, I'm either in the water surfing, spending time with my girlfriend, playing games, or digging into systems programming + — CPU simulators, indie game experiments, and the custom tooling that tends to grow around them. I run Linux, daily-drive a + Happy Hacking Keyboard, and have strong opinions about my desktop setup — some might call it a problem, I call it a hobby. +

+
+

Values I hold in work and life


+ Simplicity.
+ Pragmatism.
+ Minimalism.
+ Right tool for the job.
+ Unix philosophy
+
+

----------------------------------------------

+
+ Codeberg + Github + LinkedIn +

Active work lives on Codeberg — GitHub is kept as an archive of older projects.

+
+
+ + + diff --git a/web/partials/footer.php b/web/partials/footer.php new file mode 100644 index 0000000..b01e9b9 --- /dev/null +++ b/web/partials/footer.php @@ -0,0 +1,4 @@ + + + + + + Jason Hilder + + + + + + + + + diff --git a/static/css/index.css b/web/static/css/index.css similarity index 98% rename from static/css/index.css rename to web/static/css/index.css index 8f4f0ce..b574028 100644 --- a/static/css/index.css +++ b/web/static/css/index.css @@ -148,7 +148,7 @@ table { th, td { border: var(--border-thickness) solid var(--text-color); - padding: + padding: calc((var(--line-height) / 2)) calc(1ch - var(--border-thickness) / 2) calc((var(--line-height) / 2) - (var(--border-thickness))) @@ -277,7 +277,7 @@ ul ul { padding: 0 0 0 3ch; margin: 0; } -ol li:before { +ol li:before { content: counters(item, ".") ". "; counter-increment: item; font-weight: var(--font-weight-medium); @@ -298,7 +298,7 @@ li::marker { input, button, textarea { border: var(--border-thickness) solid var(--text-color); - padding: + padding: calc(var(--line-height) / 2 - var(--border-thickness)) calc(1ch - var(--border-thickness)); margin: 0; @@ -465,3 +465,7 @@ label input { .debug-toggle-label { text-align: right; } + +/* ADDITIONAL */ +.main-title { margin-bottom:0px !important; } +.sub-title { margin-top:10px !important; } diff --git a/static/css/reset.css b/web/static/css/reset.css similarity index 100% rename from static/css/reset.css rename to web/static/css/reset.css diff --git a/static/js/index.js b/web/static/js/index.js similarity index 100% rename from static/js/index.js rename to web/static/js/index.js