Redesign v7
One Designer, One Artist
With the last version burning down the mountain, let’s create a new solution to unsolved problems.
Before we begin, here’s the current page grid:
content the readable column — prose, titles, captionswide galleries, card grids, comparison viewsgutter the shoulder — sticky nav, marginal notesfull edge to edge — heroes, bands, the footerProse stops at sixty-five characters. This paragraph has the whole wide zone available to it and is stopping anyway, right about… there. Where the content column is narrower still, the column wins. Whichever runs out first is the one you feel.
Jan 1 2023, Let’s Do This
…A Blender of Experiments
The last version (6) of this site was, and I say this with love, a mess. Code-wise. The stylesheet alone was quite large. I had gone through years of “I’ll just add one more adjustment or fix” before launching it.
I spent a lot of time up until launch pushing css to feel like it gave me what I wanted and would somehow be a shiny sandbox of experiments. It was successful at pushing me to explore new and advanced CSS in the day, and I mostly ignored making sure it would work in most browsers, had mostly abandoned using vendor prefixes on newer features, etc. It was made for me, trying to explore fun ways of presenting information, like record covers and interactive experiments.
For this version I really wanted to focus on the projects and roles I occupy as well as showcasing my artwork. So I wanna describe how I got there.

The initial form of this article in Kirby v4 alpha (I think), which had a new sidebar and more fully developed tools for creating control panels for sites. This makes writing and interlinking your articles with the rest of your site a dream. — Luke Dorny
The initial form of this article in Kirby v4 alpha (I think), which had a new sidebar and more fully developed tools for creating control panels for sites. This makes writing and interlinking your articles with the rest of your site a dream. — Luke Dorny
Sandboxers
Here’s the thing about how I work: I’m a tinkerer, and I’m excited by pushing ideas to their extremes. I also really enjoy finding out the tasks and features I can create within the system, then I go back and formulate the shape of the project. I find something that bugs me, I start poking, and I try to push it to a spot where it becomes a feature that’s worth saving. Some of that poking has also occurred on CodePen which is fantastic for exploring ideas in a different place and there’s also a few great pens with explorations by others. Sometimes I end up with fourteen tabs open, MDN docs, blog posts, saying wait, you can do that now? Thankfully I have been able to learn by watching people smarter than me use the new stuff, but then I get over-excited about trying it on my own pages, sitting with it until I understand it well enough to do it my own way. Which leads me to…
Constraining
Yes, artistic constraints can be a godsend. Which is mostly great and occasionally a problem, because I usually make all my own constraints. Four type sizes, no JavaScript, this-way-or-nothing — but rules I’ve made for myself over the years. But I also reserve the right to change my constraints if a better idea comes along. Every constraint can become a tiny argument with yourself about whether you’re being disciplined or just stubborn, but also I doubt the direction nearly continually. I’ll get something working and immediately wonder if I picked the right problem to solve or get working. That doubt can be the gas pedal (or electrical potentiometer) and the brake at the same time.
But when something I’m tinkering with lands — like when a new bit of CSS finally clicks into the shape I was after — that’s the whole reason this is so fun.
Dark mode was the first one that got me. I’d watched people start using light-dark() and color-scheme and thought, that can’t be as easy as it looks. It is. No second palette, no data-theme toggling, no cookies or local storage, no JavaScript… the constraints start to form a path. Without going into too much detail, if I just describe each color once and the browser handles the switching based on a persons system choices, my problems are reduced. Effectively, if someone chooses to use dark mode, light mode, day/night automatic mode, the site just respects it. To me that’s a great choice. Is it just a toy for toggling? Sure. Does it respect choice? Mostly. It specifically respects your system choice automatically, but allows me and you to see what it would look like in either case. To me that’s ideal.
When i worked through a few ways of doing the task, I discovered that I like the ability to switch the theme with a button, but do I really need to save a users choice? In my limited view here, I decided that if someone wants to use Light or Dark mode on their computer, I’d just respect that. That reduces the need for a lot of parts. Now I can just leave the theme toggler on the page tucked away, and both I and my visitors can turn the lights off or on at will, but ultimately will respect their system choice. So I modified my whole site theme around this choice moved forward. This also kicked off an entire site theme custom property exploration. But when I arrived where I am now successfully, I decided it was enough. My theory is that the tool I created for testing is enough for me, it’s likely enough for others. AND that means I don’t need to write a lick of Javascript, even if that was surprisingly little JS to write (I try to be honest with myself).
Griddy
CSS Grid has come a long way in a surprising amount of time, but it had been so long since I’d made v6 of the site, that there was so much I wanted to do that was new. The big one: Named Grid Lines.
I created more than a few throwaway CodePens for just this purpose and finally landed on one that got me where I wanted. It really came about after listening to Kevin Powell and a few other notable web teachers about the possibilities available to us.
So, i created a grid on the page body and full-bleed became the named grid lines ‘full’, with little gutters on each side, then that was considered the ‘gutter’. Inside that was a ‘content’ area that was a natural 65 characters or so as the standard approach to creating text that read well in a natural measure. 65 characters based on the font size means this could vary, but it doesn’t. Then just outside of the ‘conten’t, I made a ‘wide’ grid zone. Want images or videos or anything to break out a little from the ‘content’ area? You got it. Subgrid helps this, and that means that we need to define which elements on the page listen to the page’s grid. After some tinkering, it worked out great. Making some of the other measurements respect eh browser sizing/viewport widths means the content is always nicely tucked into the page at any breakpoint.
Satsified with that means I could change any specific breakpoints with media queries to be container queires instead. That means things listen to not just the browser size, but using clamp() on font sizes makes the font-size change based on where they sit on the page, too. A real BOON. Confusing to write, until it’s not. ish.
So for this grid, there are four named zones for the page with start and stop markers:
- Full
- Gutter
- Wide
- Content

The Fluid-fixed Grid?
CSS Named Grid Lines are a strategy within the latest Grid spec and is super handy.
There is a name for it: RAM. “Repeat, Auto, Minmax” which was coined by Una Kravets. And this grid is based off of that and the workings and samples of Kevin Powell (
https://www.kevinpowell.co), Jen Simmons (
https://jensimmons.com), Una Kravets (
https://web.dev/articles/one-line-layouts), and more.
https://www.joshwcomeau.com/css/subgrid/
//RAM
grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
full edge to edge — heroes, bands, the footer gutter the shoulder — sticky nav, marginal notes wide magazine breakoutcontent the readable column — prose, titles, captions break left text that goes out leftbreak righttext that goes out rightProse stops at sixty-five characters. This paragraph has the whole wide zone available to it and is stopping anyway, right about… there. Where the `content` column is narrower still, the column wins. Smorts.
blockquote wide font3Truer words were never spoken, and ’twas ever thus.
— unknownish
So I started with this grid:
body {
display: grid;
grid-template-columns:
[full-start]
minmax(0, 1fr)
[gutter-start]
minmax(var(--padding), 1fr)
[content-start]
minmax(0, 39rem)
[content-end]
minmax(var(--padding), 1fr)
[gutter-end]
minmax(0, 1fr)
[full-end];
}
But by the time I was done i ended up with an even more powerful one that looks like this:
body {
--edge: min(1rem, 2vw);
--content: 39rem;
/* --content: clamp(17rem, 92vw, 39rem); */ /* updated to allow 'content' to expand first */
--wide: 71rem;
display: grid;
grid-template-columns:
[full-start]
minmax(0, 1fr)
[gutter-start]
var(--edge)
[wide-start]
minmax(0, calc((var(--wide) - var(--content)) / 2))
[content-start]
min(calc(100% - var(--edge) * 2), var(--content))
[content-end]
minmax(0, calc((var(--wide) - var(--content)) / 2))
[wide-end]
var(--edge)
[gutter-end]
minmax(0, 1fr)
[full-end];
}
Each one houses page data by the CSS Grid, and the space between Full and Gutter is the edge of the page that slowly shrinks in time with the device width.
The Content zone houses the bulk of the site, and is capped at a determined width so as to make the text measure readable, but words and images can always breakout in several ways by adding classes to text and images in the control panel while editing: full-bleed and edge to edge, Gutter keeps page items in the safe trim zone (hahah, print design joke), and Wide allows things to change up the layout, magazine style.
But you can also start at the left edge of any zone and end at the right edge of any zone. Break left starts at the Wide and ends in the right edge of Content, etc., etc. It’s fun. Doing this with Tables would’ve taken a ton of long breather breaks and several all-nighters.
▲▲ NEW — end of moved block. ▲▲
Shadowcasting
The shadows came out of the same itch. I’d hoarded a pile of them: a glow, a shine, a drop, a cast shadow, which actually all came from the codepen I wrote for rotating skate decks on hover (which was fun!), but these were all now hand-tuned and not consistent. Then I read enough about relative color syntax and I couldn’t go back. Then I asked a dumb question: what is a shadow? I decided that things I’ve learned in art like painting that I had some info to bring to the task. A shadow exists on the surface underneath, darkened, and I wanted the shadow to increase color saturation a bit instead of just going darker (and actually the highlights should do the opposite?)
“Opposite?”
Wait, in fine art painting, sometimes the shadows go cool instead of warmer. That might be a step to far for a simple website. That’s actually a nice sidequest to experiment with further some day. For now, the shadow will increase the temperature via saturation. Then I remembered a few people who experimented with combo shadows and that was the solution!
So now there’s one shadow that reads whatever surface it’s sitting on with oklch(from …), it lowers the lightness, bumps up the chroma, and all based off the color of the page background. Problem solved, and now i can custom apply the various sizes of the shadow based off of the themed page or element background. Love it. Here are a few places that helped me learn how:
https://www.joshwcomeau.com/css/introducing-shadow-palette-generator/
https://css-tools.com/shadow-generator
I even checked to see what the Kirby design code uses for drop shadows:
https://lab.getkirby.com/public/lab/basics/design/shadow
One bonus idea, I decided that since we have both light and dark modes, why not create a reflectance shadow from above for certain situations? Sure, so mix in a wall color with the light color in your colors and cast it upwards. Now we can apply one or the other or both with a simple box-shadow: var(—shadow-lg), var(—reflectup-lg) on a permanent fixture like the site logo, adding to the whole gallery mood I’m going for. Lights on? Obvious shadow casting. Lights off? a nice moody reflection on the top. Change the wall color in either light or dark mode and this adapts to your choice.
More On Color Palettes
As I mentioned the custom color palette setup I was creating, the colors became a slow, happy rabbit hole. Using oklch(), color-mix(), and my favorite but fairly unsupported Display P3 colorspace, I watched all of these features in CSS go from “that looks complex” or “whoa, that’s going too far” become possible once I familiarzed myself with them. It’s already paying off within the shadows. So I developed a color palette using various tools to explore combinations, color theory such as a the recently common 60-30-10 formula for colors, and a few other ideas.
One catch early in 2026 was that the colors orange, cream, and serif’d text caught fire and nearly burned the list of top ten website trends for …various reasons. I had no intention of using serifs in this design, so I decided to stick it out and use the setup I’d worked so hard on: beige ‘wall’, sepia ‘ink’, red-orange accent in the Display P3 color range, falling back to normal OKLCH if it wasn’t supported. I also have already dug in to using a more complete color palette instead of 3 colors. But that will come when it’s ready.
The current palette is pretty lean now, but I am able to create mixtures of colors to create adjacent or supportive complimentary and secondary colors to help. I’ve even explored making a new palette to employ in the future, with real color names now, using common color names based on physical objects: plaster, sand, kraft paper, walnut, copper… with an additional color that leans towards verdigris, one persimmon accent color, etc. Hoping to get that wired up after launch, I think.
Wiring up the P3 versions so the orange runs genuinely hot on a quality digital screen that supports it, but falls back to more common version of it on a more common display, and it all only cost me an entire evening. Okay, I won’t say how much time I spent exploring colors.
Common tools I use for colors were online and local Mac tools such as the very handy Coolers.co (https://coolors.co), the very high-tech ColorPalette.pro (
https://colorpalette.pro/?color=oklch%2862%25+0.119+49.8%29&paletteType=tet&paletteStyle=square&colorFormat=oklch&effects=0%2C0%2C0%2C0&mode=palette and the app ColorSlurp (
https://colorslurp.com) and a few others. There are ways to take a photo you love and extract the colors from it with ColorSlurp, but ultimately finding your colors may be as simple or difficult as you make it. Having a local paint store nearby or a Pantone palette book is really fun to peruse. Friends recently pointed me to
https://colorsnapper.com as well.
Card interface
Cards. It’s so common to have page link cards as an interface but i can’t help not using them for my own site. Using them as a metaphor for a thing is really gratifying. I find I also can’t help but use square cards everywhere, even though I broke out a little bit, like on some of the artwork collection cards for the Series. It’s just, you know, Album Covers, CD covers, and… i can’t think of anything else at the moment, but the ability to use aspect-ratio on the web now is a really attractive way to get what I want visually.
But the cards I have were rebuilt so many times. By the time I was finding my path on how to code up the various cards on the site, I ended up with five different cards as code snippets, all with various options and settings. But much later I managed to reduce all of them to nearly 1 to 1.5 kinds of card code snippet, unifying a ton of logic for the site code. That was satisfying. The hovering transparent background skate deck idea I’d had for years using CodePen and webflow to tinker around with let me to a solid approach for the :hover treatment.
The record half-out of its sleeve with animation I had on the previous version of the site for record albums was really satisfying to make. Those may show up here at some point. I love those. I had even saved colors from the color of the vinyl or cover design to my its page in the control panel and I could pull those in to the page to make the vinyl record actually have those colors in the vinyl. So satisfying.
Type
The type scale, four sizes, is the one I’m proud of, out of self control, and mostly because sticking to it was so hard. There was always a fifth size that would’ve served a great purpose. Not adding another was a simple self-imposed constraint that led to a simpler site, and that alone is worth a reward. So make the sound of a arcade game gem clinking in my favor.
Approach: Art & Design
The site is now split into two separate areas, one for the designer, and one for the artist. Here’s why and how I did it.
Let’s go back to where my notes started on this project.
November 11, 2023.
You know, now was as good a time as ever to start integrating two ideas into one (actually 3, but more on that later).
With the imminent arrival of version 4 of the Kirby CMS, I got sucked back into upgrading my site. But I’m getting ahead of myself.
Version 6 on the books
Redesigning back in 2019 was a fantastic journey. Not a short one, either. I really put my trackpad and PHP knowledge to the test to wrap my brain around the file-based CMS that is Kirby. I would say it went pretty successfully, too, with several bits of it developed further and three real sections of the site dedicated to a somewhat structured post and blogging style. But again, despite the efforts, it was still not fully baked. Several things contributed to the update path I’ve taken here and there was a big one.
Purpose
I spoke with a potential client earlier this year who said that “Yes”, they did in fact visit my website, but that they were confused.
This pointed at one of the guilty pleasures some web folks indulge in when making their own site: sandboxing. This site is for me, of course, but it should serve that purpose while still representing me to the world. A view of my talents and my style of creation, …without confusing anyone. It was one of those “Ooof, they’re totally correct” moments, and I needed to hear it.
So I put the paintbrushes aside and began making a hybrid site that I haven’t seen anyone else do before, but I’m sure it’s not so unique: A site that represents me in my dual roles. My dual personas. As I crossed the idea of exposing that vague boundary of Artist and Designer, I had to make the same site show that I’m a working artist, but also be the device that shows where I am, personally, and professionally, and where my interests lay.
But I absolutely wanted the Artwork to be front and center. More on that later.
Steps
Creating the structure from the crumbs of the old site, I started using some of the tech from the new features of the recently upgraded site engine Kirby. I downloaded the alpha for Kirby 4 and began tinkering: check. Reassessed what the heck was I doing and why was I spending so much time on this again. Yes, it had to serve two purposes.
So let’s get these parts down:
- get two site structures working together
- a different navigation list for each side of it,
- a homepage for both,
- shut down the parts that aren’t fully baked,
- improve the existing sections
- add in new features like newsletter and RSS
- go nearly ‘naked’ of design for now, let’s tinker with the design next month
- enter in all of my art and descriptions
- prep a potential built-in store should I go in that direction
That’s good enough for a launch.
I scrapped all of the plugins that were outdated and only have two now, and hopefully I can whittle that down to one for simplicity. Kirby has matured to another level and some of the powerful built-in features are still lean (from what I can tell) but remove the need for a few of these plugins.
Features
Reviewing some of the blueprint files from v6 of the site revealed that there are better ways to create entries, allowing for a more straightforward entry method, using defaults I’ve created, that streamline some of the tasks I do most often: captions, photo credits, related entries, etc. I’d also revised quite a few of the templates to improve them as well, adding in image resizing to streamline a nice minimum load on people with low bandwidth, no need to send them 5MB image files with location and metadata when they’re not needed. That was another massive reason for the redesign.
All of this for making a modern website makes quite the lengthy task list for this painter. ARIA accessability roles, data microformats for data detection and reuse, the latest (ever-increasing!) CSS3, HTML5 semantic elements, it goes on and on.
JayEss
One thing that continues to be my push here is the “no-JS” camp/mentality. For whatever it’s worth to you, my disinterest in learning any Javascript over the years and sticking to what I’m good at has helped me stay in my own arena of sorts. Yes, of course, JS is the language of browsers, but I’m not creating a web app, nor am I creating a browser. I’m sticking with what I know and doing my best at improving upon it. And I’m comfortable with this decision. It pushes me to explore ways to solve design and function problems with pure CSS.
Apps
I’ve learned quite a bit more in the last month or so, researching alternatives to javascript lightboxes with only CSS, revisiting Webflow, Figma, Figma to Webflow plugin, Framer, Squarespace, Wix, Weebly, and several other tracks that have also improved in their own right over the years.
But, despite all of those things, I still like my way. Even after all of these years blogging and designing, I am still coding this entire site by hand in just HTML and CSS, with PHP of course as needed, using a few apps that serve me well:
- Panic’s Nova text editor, with SCSS compiler (Actually, not any more, mid 2026)
- BareBones BBEdit text/code/scripted editor
- MAMP PRO (because I manage several sites remotely and locally) (Actually, not any more, mid 2024)
- Panic’s Transmit (still love it) (Actually, ssh rsync is really smart and much faster, so 50/50 Transmit and rsync, mid 2025)
The result is I can still sign into my site from my phone, from my tablet, and from my laptop, desktop, or anywhere I have web access, and make edits on the fly, new entries, etc., and do it however I like. (Actually, not anymore, it’s all local at home, synced to the server, mid 2025)
Shouting
Shoutouts go out to the Kirby Discord and support forum, which is so active, I usually find all of the information I need to complete a new-to-me task without much searching or asking! To Scott Boms and Greg Storey who spur me along exploring the potential of Kirby and other services, the process of writing, publishing, and sharing, all the while growing my other skills which clearly need it. To Anthony Baker who is a shot of caffeine at a moment’s notice and with insight into tech and the direction of the web. To, actually, Scott’s inspiration, for his ‘somehow-he-posts-a-million-more-times-a-week-than-I-realized’ and always has wise words about art, projects, analog tech, coffee, printing, media, and mediums, and when we’re lucky: Taco Tuesdays here at the house. To the rest of the
Butter crew, too, for listening to my nonsense and smiling along with me, Scott, of course, and
Xerx,
Grant, Mark, and
Brian. Coffee and burgers again soon!
Shell game
The site is still a shell and will gain some newer features, including webmentions possibly, IndieAuth?, and posting to Mastodon automatically?, along with the standard JSON & RSS feed and hopefully a newsletter. You can find those at the bottom soon.
April 7, 2024
Kirby 4 launched and the interface for the control panel is beautiful. Everything has gone so smoothly on that end.
I’ve started designing and developing this site without git this version. That means I push files to remote via SFTP only.
One caveat about the early phase of this redesign is that K4 creates page ID numbers for smart interlinking of pages and assets and it’s brilliant because you can rename or move a page and all of the internal links to it follow it to its new destination without much fuss. But as I started to manage a local redesign of the site alongside actual publishing, I realized that I had a remote site and a local site, and the IDs for new pages and files didn’t coincide. If I entered something in the live site’s control panel as well as the local, the file and page IDs would be different. That’s a problem. This break required double-checking links during the redesign. Eventually, the entire remote directory of files will be replaced with my local, and I will likely stick with the ‘local-only’ control of files, and upload changes to the live remote site when publishing. (Yeah, that’s when I made that decision, Luke 2026)
Since October 2023 or so I’d composed quite a few sketches of the site design in its various forms, and at this point, since there are a ton of templates and content types, I could go simple or complex, and anywhere in between really. Balance is a constant issue.
Tinker
The tempting situation when diving back into a site that has up until now been a sandbox of design and development explorations is to review all of the ‘What Ifs’ and ‘Oh, But Wait…!’s bullet points and limit them to just the bare necessities.
I continually let this get out of hand, and as I moved along, I discovered lots of other personal sites and agency sites that had features and details that I liked. There’s a page I discovered via Mastodon around January 2024 that had “100 things to add to your personal site”, and you just don’t want to go there while you’re deep into the redesign. Oh no. It turns out there are a few additional pages about these ideas, too. That turns into at least 300 things “I could do”! …moving on.
https://jamesg.blog/2024/02/19/personal-website-ideas (and many others)
So here are a few items that I tackled as best I could, not letting them slow me down too much but also allowing the additional tasks to create the site I’d like to have.
- Sitemap page and XML source linked
- RSS for all page collections in one feed
- Blogroll on its own page
See? That wasn’t so bad. Such restraint!
Art / Design & a SHOP!
As I’m finishing up the site in between all of life’s business, I’ve gone and refined all of the logic throughout the site to only show page links that have published pages, whereas during production, I had to have unpublished pages with my future features so that I could test and design them.
As I approach the finish line, I’ll insert a few screenshots in here that I’ve taken during the process.
As of this month, actually, seven days ago, all three major browsers now support a new method of managing light and dark mode so I’ve implemented this into the site, for the most part. Thanks, browsers!
https://web.dev/articles/light-dark and you can see the actual sample code here:
https://codepen.io/web-dot-dev/pen/zYXdRKW
I was going to try out the switch attribute for theme switching which recently turned on as well (see Jen Simmon’s Webkit article https://webkit.org/blog/15063/webkit-features-in-safari-17-4/#css and codepen here:
https://codepen.io/jensimmons/pen/GReLKWg to see how simple it is to implement.
Alas, I need radio buttons not checkboxes and so I ditched the switch design.
Speaking of Jen Simmon’s work with Webkit, we now have a proper method for making text run sideways down the page with ease, which really furthered the magazine layout I was creating for the Design-side, with a much more simple approach. Again, see her sample work here: https://codepen.io/jensimmons/pen/gOEVZbw

The panel for posting this article as of June 18 2025, Kirby’s new darkmode is kind on the eyes for those twenty minutes in the dark office right before bed. — Luke Dorny · CC BY-NC-ND 4.0 · lukedorny.com
June 2025
Whoa, another new version of Kirby, version 5 (it’s grown so much!) is launching later than expected but perhaps I can launch this site before that? Not likely. Kirby has finished all the betas and release candidate 5 is out this week!
I’m finding that despite Kirby having some great resources for making custom pages with custom snippets for the Blocks system, I prefer keeping the content files readable and not JSON. That’s just a personal preference, but it prevents me from using Blocks too much, and they are very powerful. Put a page selector inside a structure field and have a custom block be available, too! Yeah, well, the content file I use for scanning text and finding typos and grammer issues is disturbed that way. Just a person preference.
July 1, 2025
Things have changed:
- Don’t need SCSS anymore, we have modern native nested CSS!
Having managed to tinker away at a perfect starting point, I’m getting closer. You know, had I started with a blank slate, and iterated, that would be a smart way to go, but me, since my site was already up, and because I wanted specific things, I began tinkering locally on my machine to create a website that serves several purposes still. And it’s just evolved so much.
- The Magazine idea, despite all of the work that I’m very proud of, is now off the shelf. Maybe some day soon. I’d actually gone so far with it, it had issues and sponsored ads (to my own work), etc.!
- The Projects section is coming along nicely with site tasks and project tasks
- The Shop is coming along nicely, just need final integration for ecommerce
- The Art Gallery, which is what I’m calling it now, is setup, pulling data from the shop to keep things DRY
- The Posts area, taking over where the Magazine was, is now a fully functioning blog system, no authors (that was never really necessary), with allowances to get to related pages that were important to me.
- Pixes is the new photography section, and it pulls in EXIF data when uploading a photo, lovely
- Sitemap is functional, but that’ll undergo a revision to match the new Gallery motif
- Now is the page where I update things most, although, this is less and less important to me now
- Shelf is now the area where I share books, movies, devices, tools, magazines, etc., that I really enjoy

The Posts section as it was in development for version 7 of this site as of June 18, 2025 — Luke Dorny · CC BY-NC-ND 4.0 · lukedorny.com
That’s all for now. Plugging away as best as I can, when I can.
Update July 9, 2026
That’s a brief list of the parts that survived the process. But things changed again.
Some of those pages won’t be available at launch.
- Now isn’t happening yet
- Pixes photos need some sifting and fine-tuning
- Projects has taken on a different path, and needs a bit of work
- Art Gallery is now called Gallery and is part of the Art Studio
- Posts is now the temporary entrance to the Design Studio, a new home is coming for “Design’s” true purpose
- Hello absorbs all of the other meta pages for now, too: Contact, etc.
Art & Design
With all of the effort put into making the new Artwork pages for the “Art Studio” and the various other page for its Design counterpart, I concluded that only a minor link to the Design side was worth pushing on people who would view my front page to be that of an artist. Which works out really well, and I placed a tiny little ad at the bottom of the page that links to the Design side. The reverse is true, though, for the Design side, that has various footer ‘ads’ that link to various main Site Sections all over the site.
Artwork.
For now, more Artwork can be added to the art side, but it’s ready to go. When the Shop is lit up, those pages will connect. Setting up that logic for the entire site worked really easy in Kirby. with various if clauses.
Design.
This side was the catchall for everything else, the photos, the projects, the tasks, the shelf of items and places, events, etc., as well as the Fonts I want to release into the world. Yes, we need more fonts. Using a typeface made by someone else is like using their voice, in a way, and my rationale was that I’d like to create a voice for ideas from my brain/heart/quirks.
Posts live here, too. Wrapping the old Articles and Updates from the old site into one saved a lot of work and unified a lot of code. Even the fun NowPlaying section of the old site is wrapped in here, too! Then any of these pages can link to the Shelf items at will. Each artifact on the shelf is documented for reference.
Lots of the extra bits were lopped off with a welding torch, including the sweeping second-hand SVG clock that would set itself to the current time on the server, the math all done, without any javascript.
Update Sept 14, 2027
So, after an amount of spraying self-doubt with baking soda and vinegar, and all of life’s crazy distractions and silly foibles, comes a pile of fun code that represents a flat filed version of my mind. More will come with time, I’m sure.
My goodness, that’s way too much info, with hardly any payoff.
Conclusion
Oh, wait, there is one payoff which I’ve linked to in the footer on the Design side using the 🌲emoji:

Some of these topics are covered in the Colophon page but not nearly as timeline-y as this.

So with this post, I consider this site ‘launched’. Small edits and tweeks are endless, but at last I’m proud of what I’ve made… anew.
Cheers.
Thank you for reading,
— Luke
Contact Sheet
The panel for posting this article as of June 18 2025, Kirby’s new darkmode is kind on the eyes for those twenty minutes in the dark office right before bed. — Luke Dorny · CC BY-NC-ND 4.0 · lukedorny.com
The Posts section as it was in development for version 7 of this site as of June 18, 2025 — Luke Dorny · CC BY-NC-ND 4.0 · lukedorny.com
The initial form of this article in Kirby v4 alpha (I think), which had a new sidebar and more fully developed tools for creating control panels for sites. This makes writing and interlinking your articles with the rest of your site a dream. — Luke Dorny