Tablog Svelte
An open-source demo blog application showcasing the Tablo theme built with SvelteKit. Features Markdown processing with mdsvex, Tailwind CSS styling, and modern web development best practices for creating fast, beautiful blogs.
Currently accepting new projects and available for hire.
I’ve open‑sourced a tiny deployment system built in PHP that brings GitHub webhook deployments to even the most constrained shared hosting environments — no daemons, no long‑running services, and no vendor lock‑in.
Meet PHP Git Deploy: a single _deploy/
folder you drop into your site that securely pulls your GitHub repo on each push and can run post‑deploy tasks like Composer. It’s designed to be simple, auditable, and production‑ready for small sites and personal projects.
Most deployment tools assume you control the server, can install services, or have SSH access with a writable ~/.ssh
. Many shared hosts don’t. I wanted something that:
X-Hub-Signature-256
and handles push
/ping
cleanly_deploy/keys/
with correct permissionsgit clone
git init
→ git remote add origin
→ git pull
The webhook endpoint lives at _deploy/webhook.php
. On a GitHub push
event:
ping
events receive a friendly 200 response; unsupported events are acknowledged and skipped.
X-Hub-Signature-256
_deploy/keys/
with strict permissions_deploy/
folder into your web root (or a subdirectory next to it)_deploy/config.example.php
to _deploy/config.php
and edit:repository.url
(SSH URL, e.g., git@github.com:username/your-website.git
)repository.branch
(e.g., main
)deployment.target_directory
(usually the parent dir of _deploy
)ssh.key_path
(path to your private key inside _deploy/keys/
)security.deploy_token
(your GitHub webhook secret)https://your-domain.tld/_deploy/webhook.php
application/json
(or x-www-form-urlencoded
)deploy_token
push
(GitHub will send an initial ping
)Optional: Add post‑deploy commands in config.php
, e.g. run Composer and clear cache:
'post_commands' => [
__DIR__ . '/composer.phar install --no-dev --optimize-autoloader --no-interaction',
'find {DIR}/site/cache -mindepth 1 -delete',
],
~/.ssh
writes)application/json
and x-www-form-urlencoded
webhook payloadscomposer.phar
if neededIf you maintain a small site and want reproducible, push‑to‑deploy releases without serverside complexity, give it a spin: lemmon/php-git-deploy.
An open-source demo blog application showcasing the Tablo theme built with SvelteKit. Features Markdown processing with mdsvex, Tailwind CSS styling, and modern web development best practices for creating fast, beautiful blogs.
A tiny PHP library inspired by the popular JavaScript clsx, making it easy to build clean, dynamic class attributes for your HTML. Write neater templates and keep your code readable, no matter how complex your CSS logic gets.