From 9aa30172bdd36d172f119f05a54756d906a4a316 Mon Sep 17 00:00:00 2001 From: Ryan Freeman Date: Fri, 2 May 2025 22:26:19 +0100 Subject: [PATCH] Drop uses page add not found --- app/not-found.tsx | 52 +++++++++++++ app/sitemap.ts | 3 +- app/uses/page.tsx | 143 ----------------------------------- components/common/Footer.tsx | 1 - components/ui/Navigation.tsx | 2 - 5 files changed, 53 insertions(+), 148 deletions(-) create mode 100644 app/not-found.tsx delete mode 100644 app/uses/page.tsx diff --git a/app/not-found.tsx b/app/not-found.tsx new file mode 100644 index 0000000..4c071ff --- /dev/null +++ b/app/not-found.tsx @@ -0,0 +1,52 @@ +import React from 'react' +import sitemap from '@/app/sitemap' +import {SimpleLayout} from '@/components/layouts/SimpleLayout' +import {Card} from '@/components/ui/Card' + +const meta = { + title: 'Ryan Freeman - Software engineer based in Dublin, Ireland.', + heading: 'Sorry, the page you were looking for could not be found.', + description: 'The page you requested may have been removed, renamed, or never existed. Verify the URL is correct or check the sitemap below to find what you were looking for.', + type: 'website', + alternates: { + canonical: '/' + } +} + +export let metadata: { + [p: string]: string | Object + heading: string + description: string + title: string + type: string + openGraph: { + images: string | Object + description: string + title: string + type: string + } +} + +export default async function NotFound() { + const pages = await sitemap() + + return ( + +
+ +
+
+ ) +} \ No newline at end of file diff --git a/app/sitemap.ts b/app/sitemap.ts index cff81db..017c5ed 100644 --- a/app/sitemap.ts +++ b/app/sitemap.ts @@ -8,8 +8,7 @@ export default async function sitemap(): Promise { 'https://ryanfreeman.dev/services', 'https://ryanfreeman.dev/reading', 'https://ryanfreeman.dev/writing', - 'https://ryanfreeman.dev/projects', - 'https://ryanfreeman.dev/uses' + 'https://ryanfreeman.dev/projects' ] const pages = urls.map(url => ({ diff --git a/app/uses/page.tsx b/app/uses/page.tsx deleted file mode 100644 index 711edb9..0000000 --- a/app/uses/page.tsx +++ /dev/null @@ -1,143 +0,0 @@ -import React, {ReactNode} from 'react' -import {SimpleLayout} from '@/components/layouts/SimpleLayout' -import {Card} from '@/components/ui/Card' -import {Section} from '@/components/ui/Section' -import {metadata as _metadata} from '@/lib/generateMetadata' - -const meta = { - title: 'Uses', - heading: 'Software I use, equipment that makes my job easier, and other things I recommend.', - description: 'I get asked a lot about the things I use to build software and stay productive. Here’s a big list of all of my favourite gear.', - type: 'website', - alternates: { - canonical: '/uses' - } -} - -export let metadata: { - [p: string]: string | Object - heading: string - description: string - title: string - type: string - openGraph: { - images: string | Object - description: string - title: string - type: string - } -} - -metadata = _metadata({...meta, heading: meta.heading}) - -function ToolsSection({children, title}: { children: ReactNode, title: string }) { - return ( -
-
    - {children} -
-
- ) -} - -function Tool({title, href, children}: { title: string, href: string, children: ReactNode }) { - return ( - - - {title} - - {children} - - ) -} - -export default function Uses() { - return ( - -
- - - This is my main Intel-based computer which I built in 2022. I've recently added more storage and - a new monitor. Click here to see a comprehensive listing of all the parts used in this build on - PCPartPicker. - - - I bought this chair second-hand when I started working for Apple, it's extremely comfortable and - ergonomic for those long hours spent at the desk. - - - I was on the fence about standing desks for a while but after some research I decided to give the - Maidesite T2 Pro Standing Desk Frame a try. This allows me to easily transition between sitting and - standing. - - - - - I use a mix of JetBrain apps for my IDEs depending on what I'm working on. For JavaScript - projects, I use WebStorm. PyCharm for python and IntelliJ IDEA Ultimate for Java. I use the same - keyboard shortcuts across these apps which is great for productivity. - - - Good tool for designing and testing REST APIs. I used to use Postman but I found the interface too - cluttered and prefer the simplicity of Insomnia. - - - - - Great app for Windows which allows you share a region of the screen, handy for single monitor - set ups such as ultrawides when you don't want to share the entire screen. - - - - - I use this software for creating low-fidelity wireframes and interfaces. It's great for - experimenting with ideas. - - - Color Picker is included in the PowerToys set of enhancements for Windows. Using the eye dropper you - can easily identify colours on the screen and copy the colour's code to your clipboard for use - in other applications. - - - - - AutoHotKey features it's own scripting language and allows you to create keyboard macros for - automating common tasks. For example, I use AutoHotKey to toggle between dark and light themes in - Windows on the fly. - - - - - Bitwarden is a free, open-source password manager, this Chrome Extension connects to a self-hosted - instance of Bitwarden which lives on my Raspberry Pi. It is really useful for syncing passwords across - devices. - - - Great extension for blocking those annoying YouTube ads and nasty tracking scripts. - - - Floccus syncs your bookmarks across browsers and devices. It connects to my Nextcloud server via - WebDAV and keeps my bookmarks in sync, so no matter which device I'm using, I always have the - same set of bookmarks. - - - This extension removes unwanted/annoying cookie warnings/pop-ups from almost all websites! - - - Removes intrusive context boxes on YouTube. - - -
-
- ) -} diff --git a/components/common/Footer.tsx b/components/common/Footer.tsx index 2b24059..cc916b8 100644 --- a/components/common/Footer.tsx +++ b/components/common/Footer.tsx @@ -20,7 +20,6 @@ export function Footer() { Reading Writing Projects - Uses

diff --git a/components/ui/Navigation.tsx b/components/ui/Navigation.tsx index b13b769..f3e93fe 100644 --- a/components/ui/Navigation.tsx +++ b/components/ui/Navigation.tsx @@ -69,7 +69,6 @@ export function MobileNavigation(props: Props) { Reading Writing Projects - Uses @@ -114,7 +113,6 @@ export function DesktopNavigation(props: Props) { Reading Writing Projects - Uses )