Laravel based code that runs my personal website https://jonnybarnes.uk
  • PHP 82.5%
  • Blade 14.3%
  • JavaScript 1.8%
  • CSS 1.2%
  • HTML 0.1%
  • Other 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jonny Barnes e08763c526
Migrate outbound HTTP calls from Guzzle to the Http facade
Replaces every raw GuzzleHttp\Client usage (Nominatim, web.archive.org,
webmention fetch/discover/send, Bridgy syndication, IndieAuth client_id
lookup, contact avatar/h-card fetch, profile image download, and the
CloudConvert screenshot pipeline) with Illuminate\Support\Facades\Http,
and enables Http::preventStrayRequests() globally in tests so any
un-faked outbound call now fails loudly instead of silently hitting the
network.

The CloudConvert retry-until-finished middleware in AppServiceProvider
is replaced by a plain polling loop in SaveScreenshot, which also fixes
a latent bug where the old middleware decoded a response object instead
of its body. Bridgy syndication jobs keep their tries=1/no-retry
semantics unchanged to avoid duplicate publishes. Guzzle's PSR-7 helpers
(Header, UriResolver, Utils) stay in SendWebMentions since Http has no
equivalent for them.

Every affected test file's Guzzle MockHandler/HandlerStack boilerplate
is replaced with Http::fake()/Http::sequence().

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P8j7cJhCiYDsGUgB7obKNQ
2026-07-26 09:12:01 +01:00
app Migrate outbound HTTP calls from Guzzle to the Http facade 2026-07-26 09:12:01 +01:00
bootstrap Upgrade to Laravel 13 2026-04-07 09:01:19 +01:00
config Switch Bridgy syndication from Micropub to webmention 2026-07-14 17:36:25 +01:00
database Upgrade to Laravel 13 2026-04-07 09:01:19 +01:00
public Replace abandoned spatie/commonmark-highlighter with tempest/highlight 2026-07-14 18:37:05 +01:00
resources Replace abandoned spatie/commonmark-highlighter with tempest/highlight 2026-07-14 18:37:05 +01:00
routes Redesign v2025.1 2025-12-11 17:17:01 +00:00
scripts Redesign v2025.1 2025-12-11 17:17:01 +00:00
storage Host images locally 2024-10-25 20:40:52 +01:00
tests Migrate outbound HTTP calls from Guzzle to the Http facade 2026-07-26 09:12:01 +01:00
.editorconfig Initial work on adding passkeys 2023-08-25 13:43:51 +01:00
.env.example Switch Bridgy syndication from Micropub to webmention 2026-07-14 17:36:25 +01:00
.gitattributes Remove un-needed config files 2025-04-10 21:03:22 +01:00
.gitignore Remove un-needed config files 2025-04-10 21:03:22 +01:00
.stylelintrc Initial work on adding passkeys 2023-08-25 13:43:51 +01:00
artisan Upgrade to Laravel 11 2024-03-19 20:13:36 +00:00
composer.json Replace abandoned spatie/commonmark-highlighter with tempest/highlight 2026-07-14 18:37:05 +01:00
composer.lock Replace abandoned spatie/commonmark-highlighter with tempest/highlight 2026-07-14 18:37:05 +01:00
docker-compose.yml Switch local setup to PHP8.5 2025-12-13 15:53:00 +00:00
eslint.config.js Update eslint config 2024-06-08 20:55:34 +01:00
helpers.php Upgrade to Laravel 13 2026-04-07 09:01:19 +01:00
jbuk_dev_backup.dump Update dependencies 2026-02-21 17:06:37 +00:00
license.md Add a license file 2016-09-17 21:20:57 +01:00
package-lock.json Update dependencies 2026-06-29 20:13:11 +01:00
package.json Update dependencies 2026-06-29 20:13:11 +01:00
phpcs.xml Fixing various phpcs issues 2019-10-27 19:31:33 +00:00
phpunit.xml Update dependencies 2024-10-23 09:16:11 +01:00
pint.json Upgrade to Laravel 13 2026-04-07 09:01:19 +01:00
readme.md Tweak the readme 2023-04-08 16:18:02 +01:00
server.php Fix files with Laravel Pint 2022-07-09 10:08:26 +01:00

jonnybarnes.uk

This is the code that runs my website, jonnybarnes.uk.

In theory this is usable by others now 🚀

Set up the database, this software needs PostgreSQL, after installing:

$ createdb -E utf8 db_name

First get the code, and make sure youre on the master branch. This branch will only have tagged releases:

$ git clone https://github.com/jonnybarnes/jonnybarnes.uk mysite.com
$ cd mysite.com
$ git checkout master

Then we need to set up the environment variables that the app will use.

$ cp .env.example .env
$ vim .env

Fill in the various variables. Then we can set up the app:

$ composer install
$ php artisan key:generate
$ php artisan migrate

Now we need to edit some config values. In config/app.php edit name.

Some other things that should be changed. Go to resources/views/master.blade.php, you may not want to link to a projects page. Also in the <head> the two last links are to my profile pic and pgp key, ammend/remove as desired.

Now point your server to public/index.php et viola. Essentially this is a Laravel app so debugging things shouldnt be too hard.