chore: cleanup and refactor

This commit is contained in:
Cory Dransfeldt 2023-12-11 11:00:39 -08:00
parent b6fb54ab98
commit 5295a6eacc
No known key found for this signature in database
37 changed files with 285 additions and 356 deletions

34
src/pages/404.html Normal file
View file

@ -0,0 +1,34 @@
---
title: 404
layout: default
permalink: /404.html
---
{% image './src/assets/img/404.jpg', title, 'border border-blue-600 dark:border-blue-400 rounded-lg overflow-hidden [&>*]:w-full' %}
<div class="text-center w-full">
<h2
class="m-0 text-4xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-6xl mb-4"
>
{{ title }}
</h2>
<h3
class="m-0 text-xl font-bold leading-tight tracking-normal dark:text-gray-200 md:text-2xl mb-6"
>
What kind of idiots do you have working here?
</h3>
<div class="flex justify-center">
<a
href="/"
class="[&>svg]:h-5 [&>svg]:w-5 [&>svg]:inline icon--bold font-semibold py-2 px-4 rounded-full !no-underline !text-white dark:text-gray-900 bg-blue-600 dark:bg-blue-400 hover:bg-blue-800 dark:hover:bg-blue-200"
>
{% tablericon "receipt-2" "Receipt" %} Skip out on the room service bill
</a>
</div>
</div>
<hr />
{% render "partials/popular-posts.liquid", posts: collections.posts, analytics: analytics %}
<script>
document.addEventListener('DOMContentLoaded', function () {
plausible('404', { props: { path: document.location.pathname } })
})
</script>

21
src/pages/about.md Normal file
View file

@ -0,0 +1,21 @@
---
title: About
layout: default
permalink: /about.html
---
<div class="flex items-center justify-center w-full not-prose mb-6">
<div class="border border-blue-600 dark:border-blue-400 bg-white rounded-full overflow-hidden p-4 w-64 h-64 md:w-96 md:h-96 flex items-center [&>*]:w-full [&>*]:h-auto">
{% capture about_alt %}{{ meta.siteName }} - image by David Neal / @reverentgeek{% endcapture %}
{% image './src/assets/img/avatar.webp', about_alt %}
</div>
</div>
<h1 class="text-xxl font-black -leading-tight tracking-normal dark:text-gray-200 md:text-3xl text-center">Hi, I'm Cory</h1>
I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, [music](https://last.fm/user/coryd_), writing, [reading](https://app.thestorygraph.com/profile/coryd), [tv](https://trakt.tv/users/cdransf) and [movies](https://trakt.tv/users/cdransf).
I build, maintain and design web applications. I've been coding professionally since 2010 with a focus on frontend technologies. I help organize [the Eleventy Meetup](https://11tymeetup.dev) and mentor for [Underdog Devs](https://www.underdogdevs.org).
I tend to write about whatever strikes me, with a focus on development, technology, automation or issues I run into with these things. This is all typically light on editing with and heavy on spur of the moment thoughts.
[You can also see what I'm doing now](/now) or [check out the webrings I'm a member of](/webrings).

26
src/pages/blogroll.md Normal file
View file

@ -0,0 +1,26 @@
---
title: Blogroll
layout: default
permalink: /blogroll.html
description: 'These are awesome blogs that I enjoy and you may enjoy too.'
---
<h2
class="m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mb-2"
>
{{ title }}
</h2>
- [Ashur Cabrera](https://multiline.co/mment)
- [fLaMEd](https://flamedfury.com/)
- [Joe Steel](https://joe-steel.com)
- [Keenan](https://gkeenan.co/avgb)
- [Łukasz Wójcik](https://lukaszwojcik.net)
- [Matt Birchler](https://birchtree.me)
- [Mike Haynes](https://mikehaynes.blog)
- [Paul Anthony Webb](https://webb.page)
- [Raymond Camden](https://raymondcamden.com)
- [Robb Knight](https://rknight.me)
- [Sia Karamalegos](https://sia.codes)
- [Stephanie Eckles](https://thinkdobecreate.com)
- [Zach Leatherman](https://www.zachleat.com)

View file

@ -0,0 +1,28 @@
---
title: Success
layout: default
permalink: /contact/success.html
---
<div class="text-center w-full">
<h2
class="m-0 text-4xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-6xl mb-4"
>
{{ title }}
</h2>
<h3
class="m-0 text-xl font-bold leading-tight tracking-normal dark:text-gray-200 md:text-2xl mb-6"
>
I'll be in touch soon!
</h3>
<div class="flex justify-center">
<a
href="/"
class="[&>svg]:h-5 [&>svg]:w-5 [&>svg]:inline icon--bold font-semibold py-2 px-4 rounded-full !no-underline !text-white dark:text-gray-900 bg-blue-600 dark:bg-blue-400 hover:bg-blue-800 dark:hover:bg-blue-200"
>
{% tablericon "home-2" "Home" %} Head home
</a>
</div>
</div>
<hr />
{% render "partials/popular-posts.liquid", posts: collections.posts, analytics: analytics %}

39
src/pages/contact.md Normal file
View file

@ -0,0 +1,39 @@
---
title: Contact
layout: default
permalink: /contact.html
description: 'How to contact me.'
---
<h2
class="m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mb-2"
>
{{ title }}
</h2>
<div class="flex flex-col md:flex-row">
<div class="w-full md:w-1/2 md:pr-6">
<p class="mt-0">Fill out the form to get in touch. Or I've got other options 👇🏻</p>
<ul>
<li>Ping me on <a href="https://social.lol/@cory">Mastodon</a></li>
<li>Message me on Signal or iMessage (if you have my phone number)</li>
<li><a href="mailto:{{ meta.authorEmail }}">Email me directly</a> if you have a client set up to use <code>mailto:</code> links</li>
<li>File an issue on the appropriate repo over at <a href="https://github.com/cdransf">GitHub</a></li>
</ul>
</div>
<form class="mt-3 md:mt-0 flex flex-col items-center justify-center w-full md:w-1/2" method="POST" action="/contact/success" name="contact" netlify netlify-honeypot="bot-field">
<label class="hidden">
Don't fill this out if you're human: <input name="bot-field" />
</label>
<label class="w-full">
<span class="hidden">Name</span>
<input type="text" name="name" placeholder="Name" class="w-full outline-none bg-white dark:bg-gray-900 p-2 mb-6 rounded-sm border border-blue-600 focus:border-blue-800 dark:border-blue-400 dark:focus:border-blue-200 transition-colors ease-in-out duration-300" required />
</label>
<label class="w-full">
<span class="hidden">Email</span>
<input type="email" name="email" placeholder="Email" class="w-full outline-none bg-white dark:bg-gray-900 p-2 mb-6 rounded-sm border border-blue-600 focus:border-blue-800 dark:border-blue-400 dark:focus:border-blue-200 transition-colors ease-in-out duration-300" required />
</label>
<textarea name="message" placeholder="Message" class="w-full h-40 resize-none outline-none bg-white dark:bg-gray-900 p-2 mb-6 rounded-sm border border-blue-600 focus:border-blue-800 dark:border-blue-400 dark:focus:border-blue-200 transition-colors ease-in-out duration-300" required></textarea>
<button class="pill--button w-1/2" type="submit">Send message</button>
</form>
</div>

19
src/pages/feeds.md Normal file
View file

@ -0,0 +1,19 @@
---
title: Feeds
layout: default
permalink: /feeds.html
description: 'Content feeds exposed by and generated from my site.'
---
<h2
class="m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mb-2"
>
{{ title }}
</h2>
These are web feeds, also known as [RSS](https://en.wikipedia.org/wiki/RSS) or [Atom](<https://en.wikipedia.org/wiki/Atom_(web_standard)>) feeds. Subscribe by copying the URL from the address bar into your newsreader. Visit [About Feeds](https://aboutfeeds.com) to get started with newsreaders and subscribing. It's free.
- Posts ([RSS](https://feedpress.me/coryd) • [JSON](https://feedpress.me/coryd.json)): posts from my site.
- Links ([RSS](https://feedpress.me/coryd-links) • [JSON](https://feedpress.me/coryd-links.json)): links I've liked.
- Books ([RSS](https://feedpress.me/coryd-books.xml) • [JSON](https://feedpress.me/coryd-books.json)): books I'm currently reading.
- Follow ([RSS](https://feedpress.me/coryd-follow) • [JSON](https://feedpress.me/coryd-follow.json)): my activity from around the web.

35
src/pages/now.html Normal file
View file

@ -0,0 +1,35 @@
---
title: Now
layout: now
permalink: /now.html
description: "See what I'm doing now."
---
<h2 class="[&>svg]:h-5 [&>svg]:w-5 [&>svg]:md:h-7 [&>svg]:md:w-7 [&>svg]:-mt-1 [&>svg]:md:-mt-1.5 [&>svg]:inline icon--bold m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mt-8 mb-4">
{% tablericon "clock-heart" "Currently" %}
Currently
</h2>
<div class="pl-4 md:pl-8">
{% render "partials/now/status.liquid", status:status %}
<p class="my-2 [&>svg]:h-5 [&>svg]:w-5 [&>svg]:inline">
{% tablericon "map-2" "Map" %}
Living in Camarillo, California with my beautiful family, 4 rescue dogs and a guinea pig.
</p>
<p class="my-2 [&>svg]:h-5 [&>svg]:w-5 [&>svg]:inline">
{% tablericon "play-basketball" "NBA - Lakers" %}
Rooting for the <a href="https://lakers.com">Lakers</a>. 💜💛
</p>
</div>
<h2 class="[&>svg]:h-5 [&>svg]:w-5 [&>svg]:md:h-7 [&>svg]:md:w-7 [&>svg]:-mt-1 [&>svg]:md:-mt-1.5 [&>svg]:inline icon--bold m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mt-8 mb-4">
{% tablericon "terminal-2" "Making" %}
Making
</h2>
<div class="pl-4 md:pl-8">
<p class="my-2 [&>svg]:h-5 [&>svg]:w-5 [&>svg]:inline">
{% tablericon "code" "Hacking" %}
Hacking away on projects like this page, my <a href="/">blog</a>, and whatever else I can find time for.
</p>
<p class="my-2 [&>svg]:h-5 [&>svg]:w-5 [&>svg]:inline">
{% tablericon "hand-stop" "Ad and tracker-blocking" %}
Assembling lists of <a href="https://github.com/cdransf/awesome-adblock">ad and tracker-blocking tools</a>.
</p>
</div>

20
src/pages/referrals.md Normal file
View file

@ -0,0 +1,20 @@
---
title: Referrals
layout: default
permalink: /referrals.html
description: 'Referral links for services that I use.'
---
<h2
class="m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mb-2"
>
{{ title }}
</h2>
Referral links for services I use. I save some money, and you do as well if you choose to use them.
- <a class="plausible-event-name=NextDNS+referral" href="https://nextdns.io/?from=m56mt3z6">NextDNS</a>
- <a class="plausible-event-name=DNSimple+referral" href="https://dnsimple.com/r/3a7cbb9e15df8f">DNSimple</a>
- <a class="plausible-event-name=bunny+referral" href="https://bunny.net?ref=revw3mehej">Bunny.net</a>
- <a class="plausible-event-name=Feedpress+referral" href="https://feedpress.com/?affid=34370">Feedpress</a>
- <a class="plausible-event-name=DigitalOcean+referral" href="https://m.do.co/c/3635bf99aee2">DigitalOcean</a>

37
src/pages/search.html Normal file
View file

@ -0,0 +1,37 @@
---
title: /Search
layout: default
permalink: /search.html
---
<link href="https://coryd.dev/pagefind/pagefind-ui.css" rel="stylesheet" />
<style>
:root {
--pagefind-ui-font: silka, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji,
Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
--pagefind-ui-primary: #374151;
--pagefind-ui-text: #374151;
}
@media (prefers-color-scheme: dark) {
:root {
--pagefind-ui-primary: #e5e7eb;
--pagefind-ui-text: #e5e7eb;
--pagefind-ui-background: #152028;
--pagefind-ui-border: #152028;
--pagefind-ui-tag: #152028;
}
}
</style>
<div id="/search" class="/search"></div>
<script
src="https://coryd.dev/_pagefind/pagefind-ui.js"
onload="new PagefindUI({ element: '#/search', showImages: false, processTerm: (term) => {
try{
plausible('/Search', {props: {method: 'Text', term}});
} catch(e){};
return term;
}
});"
></script>
{% render "partials/popular-posts.liquid", posts: collections.posts, analytics: analytics %}

14
src/pages/sitemap.md Normal file
View file

@ -0,0 +1,14 @@
---
permalink: /sitemap.xml
eleventyExcludeFromCollections: true
---
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for page in collections.all %}
<url>
<loc>{{ meta.url }}{{ page.url | url }}</loc>
<lastmod>{{ page.date }}</lastmod>
<changefreq>{{page.data.changeFreq}}</changefreq>
</url>
{% endfor %}
</urlset>

34
src/pages/tagList.md Normal file
View file

@ -0,0 +1,34 @@
---
layout: default
pagination:
data: collections
size: 1
alias: tag
permalink: /tags/{{ tag }}/
eleventyComputed:
title: '{{ tag }}'
templateEngineOverride: liquid,md
---
{% assign posts = collections[tag] | reverse %}
{% for post in posts %}
<div class="mb-8 border-b border-gray-200 pb-4 dark:border-gray-700">
<a class="!no-underline" href="{{ post.url }}">
<h2
class="m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl"
>
{{ post.data.title }}
</h2>
</a>
<div class="my-2 text-sm">
<time class="dt-published" datetime="{{ post.date }}">
{{ post.date | date: "%m.%Y" }}
</time>
</div>
{% if post.data.post_excerpt %}
<p class="p-summary mt-0">{{ post.data.post_excerpt | markdown }}</p>
{% endif %}
<div class="mt-4 flex items-center justify-between">
<a class="flex-none font-normal !no-underline" href="{{ post.url }}">Read more &rarr;</a>
</div>
</div>
{% endfor %}

14
src/pages/tags.md Normal file
View file

@ -0,0 +1,14 @@
---
title: Tags
layout: default
permalink: /tags.html
---
{% for tag in collections.tagList %}
<span>
<a href="/tags/{{ tag }}" class="!no-underline">
<button class="pill--button">
{{ tag }}
</button>
</a>
</span>
{% endfor %}

82
src/pages/uses.md Normal file
View file

@ -0,0 +1,82 @@
---
title: Uses
layout: default
permalink: /uses.html
description: 'Software, tools and services that I use regularly.'
image: https://coryd.dev/assets/img/pages/uses.jpg
---
<h2
class="m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mb-2"
>
{{ title }}
</h2>
Software and services that I use for work and my own enjoyment.
{% image 'https://coryd.dev/assets/img/pages/uses.jpg', 'My desk', 'border border-blue-600 dark:border-blue-400 rounded-lg overflow-hidden [&>*]:w-full', 'eager' %}
<h3 className="text-xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-2xl sm:leading-10 md:text-4xl md:leading-14">Computer setup</h3>
- Midnight MacBook Air (2022 - M2)
- 27" Dell Monitor
- Apple Magic Keyboard with Touch ID + number pad
- Apple Magic Trackpad
- Homepod Mini for audio
- Raspberry Pi for Homebridge
<h3 className="text-xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-2xl sm:leading-10 md:text-4xl md:leading-14">Desk and chair</h3>
- My desk is a custom made corner desk I bought on Etsy years ago. It's sturdy, has tons of storage and finally arrived with a chip on the surface to add some character after the first one got lost by the freight company on the journey from Michigan to Los Angeles. I probably _wouldn't_ repeat the experience, but I do love the desk.
- [Herman Miller Aeron chair](https://www.hermanmiller.com/products/seating/office-chairs/aeron-chairs/): it's pretty comfortable and makes swiveling around my corner desk easy.
<h3 className="text-xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-2xl sm:leading-10 md:text-4xl md:leading-14">macOS + iOS</h3>
- [Bear](https://bear.app): native, fast and flexible — it's a breeze to use across Apple's ecosystem.
- [Doppler](https://brushedtype.com/doppler): a beautiful, simple native music player that supports scrobbling to Last.fm.
- [Fantastical](https://flexibits.com/fantastical): the best and most powerful calendaring app for the Apple ecosystem, bar none.
- [Ivory](https://tapbots.com/ivory): a beautifully designed and extremely well built Mastodon app — I use it as my go-to client across all of my devices.
<h3 className="text-xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-2xl sm:leading-10 md:text-4xl md:leading-14">iOS</h3>
- [FontCase](https://apps.apple.com/us/app/fontcase-manage-your-type/id1205074470): for managing/installing fonts.
<h3 className="text-xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-2xl sm:leading-10 md:text-4xl md:leading-14">macOS</h3>
- [Gmail Desktop](https://github.com/timche/gmail-desktop): yes it's Electron, but it's thoughtfully developed and built (be sure to opt into the latest beta updates ahead of the next major version).
- [Rectangle](https://rectangleapp.com): to quickly move around/organize/snap application windows. Using a Mac without it now feels like it's broken.
- [Keyboard Maestro](https://www.keyboardmaestro.com): an endlessly flexible app that I underutilize for quick macros and keyboard shortcuts in a number of different apps.
- [AirBuddy](https://v2.airbuddy.app): finer-grained control over AirPods and other wireless devices.
- [Meta](https://www.nightbirdsevolve.com/meta): the _best_ utility for tagging and organizing music files on macOS.
- [Permute](https://software.charliemonroe.net/permute): a useful utility for quickly converting files to different formats.
- [SoundSource](https://rogueamoeba.com/soundsource): a handy utility for better, more granular control on macOS.
- [Sleeve](https://replay.software/sleeve): a lightweight music controller (that happens to support Doppler).
<h3 className="text-xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-2xl sm:leading-10 md:text-4xl md:leading-14">Dev tools</h3>
- [Visual Studio Code](https://code.visualstudio.com): the reigning industry standard for web development work.
- [iTerm2](https://iterm2.com): a more configurable terminal than the one macOS ships with. I've used it for a long time now and it's still my go-to.
- [Catppuccin](https://github.com/catppuccin): nearly as ubiquitous as Dracula but lighter and more playful, I've started using this theme wherever I'm looking at/reading/writing code.
- [Mono Lisa](https://monolisa.dev): a relatively new find, I've been enjoying how pleasant and readable this font is (and have even gone so far as to install it on iOS via [FontCase](https://apps.apple.com/us/app/fontcase-manage-your-type/id1205074470)).
<h3 className="text-xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-2xl sm:leading-10 md:text-4xl md:leading-14">Services</h3>
- [Gmail](https://www.google.com/gmail/about): it's exceedingly well established and Google's apps are so ubiquitous that it's hard to avoid.
- <a class="plausible-event-name=NextDNS+referral" href="https://nextdns.io/?from=m56mt3z6">NextDNS</a>: a privacy-focused, set it and forget it DNS service. I use their security features on my home network and a profile with strict ad-blocking rules on all of my devices.
- <a class="plausible-event-name=DNSimple+referral" href="https://dnsimple.com/r/3a7cbb9e15df8f">DNSimple</a>: a robust, user-friendly DNS provider and registrar. I moved my domains here after my old provider was acquired.
- <a class="plausible-event-name=bunny+referral" href="https://bunny.net?ref=revw3mehej">Bunny.net</a>: a powerful and affordable CDN. I use it to serve assets on my personal site (most notable my now page — raw assets are fetched by Eleventy and then optimized to webp).
- [Plausible](https://plausible.io): powerful, well-designed and privacy-respecting analytics.
- <a class="plausible-event-name=Feedpress+referral" href="https://feedpress.com/?affid=34370">Feedpress</a>: they've been around for a while now and don't change much (nor do they need to), but look no further for reliable, helpful feed analytics.
- [IVPN](https://www.ivpn.net): my VPN of choice for browsing outside of my home network. Privacy-focused and trustworthy.
- [Kagi](https://kagi.com): search that's actually helpful and ad-free. It's lenses feature and the ability to up/downvote and block results from different sites are indispensable.
- [Readwise Reader](https://readwise.io/read): an impressive RSS reader that handles all the functionality you'd expect from a read it later app beautifully. It's as powerful as it is flexible.
- [Todoist](https://todoist.com): the task manager I always return to for it's flexibility and endless integrations.
- [forwardemail.net](https://forwardemail.net): a simple and reliable service for forwarding and routing emails from a few of the domains I own.
- [Last.fm](https://last.fm): as it turns out, the best music recommendations still come from dedicated fans.
- [Trakt](https://trakt.tv): my preferred TV and movie tracking service — it has a strong community (and isn't owned by a private equity firm).
- [The Storygraph](https://thestorygraph.com): an excellent, focused and community driven book tracking app. All it needs is RSS/Atom feeds and/or an API.
- [Slack](http://slack.com): I have a family Slack set up to avoid group text messages and am in a few other community Slacks.
- [Discord](http://discord.com): I don't _like_ Discord but, for better or worse, it's where some communities I frequent are.
- [Arq](https://arqbackup.com): I back up my MacBook and attached drives to both Backblaze's B2 and Google's cloud storage — Arq even has the option to download files in cloud storage like iCloud Drive and Google Drive to then be properly included in backups.
Check out [uses.tech](https://uses.tech) for more lists like this one.

18
src/pages/webrings.md Normal file
View file

@ -0,0 +1,18 @@
---
title: Webrings
layout: default
permalink: /webrings.html
description: "Webrings are awesome! These are the ones I'm a member of."
---
<h2
class="m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mb-2"
>
{{ title }}
</h2>
[Webrings](https://en.wikipedia.org/wiki/Webring) are _awesome_. I'm a member of a few that follow. Check them out!
{% render "webrings/the-claw.liquid" %}
<hr />
{% render "webrings/css-joy.liquid" %}