With the boom of JavaScript frameworks and legends-come-true like the new CSS parent selector, we’ve borne witness to an explosion of new technologies and ways to build for the web. But what tradeoffs have we made for all these new bells and whistles?
I’m still auto-generating ShortURLs for each of my posts using Tantek Çelik’s NewBase60, but in a much more organised fashion and leaning into the JavaScript-based ecosystem of Eleventy.
Here’s a handy CSS technique to make sure your content isn’t obscured by the pesky notch that seems to be present on many phones these days, and it probably already fits nicely into your existing codebase!
I was just working on some styling changes to my website and fell into a rabbit hole on URLs, the <mark> element and :target pseudo-class, and ended up writing an animation as a handy technique for drawing the reader’s attention.
Happy to announce that I’ve released version 1.0.0 of Eleventy Cache Webmentions! Although it introduces some breaking changes for earlier versions, 1.0.0 makes it a lot easier to attach Webmentions to your pages as data using eleventyComputed. Check out my…
Reaching for Grid might feel like overkill for a one-column layout, but I hope this technique shows how useful it is in understanding what your CSS is doing!
Just updated eleventy-cache-webmentions to version 0.2.0, a shallow first attempt at making the package work with any Webmention server, not just Webmention.io.
published
note
I’ve got a quick little nugget of CSS to share today, a selector containing all interactive content.
Happy to say the sparklines are going well—pushed an update yesterday, in fact, to allow them to inherit the color of wherever they are in the DOM for the colour of the line itself.
Still working on posting a bit more!…
It’s been nearly nine years since I last updated my website's logo, the ethereal Raven, but sixteen years since I began my journey into web development. To commemorate reaching a 5-bit milestone, this year seemed like a good one to…
Fun stuff I’m proud of achieving on my website recently:
finished building and released eleventy-cache-webmentions as a working and publicly-avaliable Eleventy plugin, which automates retrieving and sorting of Webmentions as well as being as kind as possible to the Webmention.io API
automatic…
Update: still not caught my own tail—I'll get back to that when I find my way out of these rabbit holes, and on that note, I bumped up to 1.708 commits/day as of today.
Continue to do with that information what…
Finally figured out the problem with how I was caching Webmention avatars. One of those typos that got away for… maybe more than a year?…
published
note
Over the last couple of months I’ve made some small improvements and additions to 🐋 Bowhead, which is now at version 0.2.1. Since last posting about it, I’ve cleaned up the documentation, added some minor bits and pieces, and used…
For a long time I’ve been searching for a sound solution to storing the entire Webmention history of my blog, as packaging it up with the rest of the repository was not cutting it for me. Enter the world of async.
I've been going through @wesbos’ JavaScript30 challenges, enjoying it a lot, and I completed challenge #17 today. Check out my log of completed challenges, follow along with RSS, or even join in if you’re interested!
published
note
Discovered that I can make custom waveforms for use with my noisy sparklines. Swapped from the humble sine wave to a an "Ahh" sound—like I used to go crazy for on early MIDI keyboards!
published
note
🚚 Bowhead is now at version 0.1.8, which adds a few things and fixes others, namely cleaning up what files are packaged for npm so as to send as little as necessary.
If you're looking for a barebones SCSS solution for…
published
note
📦 Packaged up a bit of SCSS I’ve been happily using into a thing called Bowhead (it’s a whale, but I totally swear the filesize is tiny) and I’d love your feedback!
https://chrisburnell.com/bowhead/
Managing spacing between elements and components on your page can be a tiring task if undertaken manually. This is where the lobotomised owl comes in: a short, simple snippet of CSS that simplifies this whole process for you. In this article I’ll explain how I make use of it in a more dynamic way using a SCSS mixin.
🥖 Made some bomb-ass warm and fluffy breadsticks last night. They were far more amazing than my terrible photo of them, honest. 🗒 Recipe here: https://chrisburnell.com/recipe/breadsticks
@RealSnarkyPuppy at @RoyalAlbertHall last night. Unbelievable show!
published
note
Recently tucked away a bulk of the meta information about my posts behind a visibility-toggling button. Not sure it's the best solution for my meta-heavy posts, but cleans things up for now, at least.
Interesting.
Everyone who insists I should be more involved and interested in politics seems to have a very specific context they want me to get involved in. Almost like they have an agenda and what I think doesn't actually matter to…
I recently implemented a colour scheme toggler in the footer of my website, following Andy Bell’s guide, Create a user controlled dark or light mode, and found a wonky but fun alternative solution for styling my dark theme which leverages CSS’s filter property.
Shout-out to @codefundio https://codefund.io for their fantastic service and above-and-beyond team. I cannot state strongly enough how kind and understanding they are—they get the highest possible recommendation from me!
@Anonymous Do you have any ideas how to present this metadata in a way such that information doesn’t get lost?
published
note
@monosnap Figured I’d add to the heap of people reminding you that your subscription model is laughably bad and has lost all trust I ever had in your company.
Providing a useful context to content written in response to someone else's blog post, tweet, toot, etc. helps a reader to understand the conversational nature of these back-and-forths. What abstractions can we make to the data that holds these reply targets, and how can those abstractions make for a richer reading experience and for a leaner publishing workflow?
I think I'm going to try to make this happen. For a long time I have been building my site on a mostly vanilla Jekyll set-up as an example of a complex site that works on GitHub Pages, but I…
published
note
I would love to try switching my site from @jekyllrb onto @eleven_ty, but it looks like such a huge undertaking, as I have heavily customised the way I use Jekyll. Anyone got any pointers or quick changes I can make…
So I decided today to remove trailing slashes from my URLs and forgot that it would affect the URLs of posts in my feeds. Apologies if I’ve bombarded you with old entries!
published
note
Another 🐇 🕳 idea… Input a YouTube channel URL → The channel’s Atom feed is added to your Microsub "YouTube" channel. YouTube subscriptions without a Google account. No idea how original this idea is, but for now I’ve built https://chrisburnell.com/get-youtube-feed/
published
note
I still fail to see what benefits arise from shortened variable names. Why is "currPag" preferable to "currentPage", "btn" preferable to "button"? Without context, I'm guessing what the author intended, and this only makes verbal discussions about it all the…
Up too late, again, working on my latest rabbit hole project. So close!… but got to sleep.
published
note
@untappd_support Who should I contact about my application for an API key? It’s been way more than 10 days, and I don’t think my application has been rejected, but I don’t know for sure…
If I ever get Untappd API access I would love to try writing some code to help people syndicate check-ins, toasts, comments, etc. back to their own websites. Another rabbit hole for another day.
I have started auto-generating ShortURLs for each of my posts, old and new, and opted to implement Tantek Çelik’s NewBase60 for representing the unique URLs, but I've done so with Liquid so it plays nicely with my Jekyll-powered website.
I have been following in the footsteps of Jeremy Keith for a few months now. Dotted around my website, now, are sparklines, representing my activity over time. As an added bonus, a little tune based on the sparkline's values plays when you click on it. With a moderate amount of musical theory under my belt, here's how I accomplished that audio delight.
A handful of my superpowers:
I always sit on the second sock when I sit down to put on the first.
I always check the time at 12:34.
But what happens if my first superpower ever fails? Does my day shift enough to…
Overjoyed to be celebrating the greatest milestone of my life today. Eight wonderful years with my best friend, girlfriend, partner in crime, and love of my life, Rachel. Stoked for the next byte!
Late night coding means I’ve managed to create a clear division between my website’s various post types. And alongside that, I’m now using NewBase60 for my shortened URLs, which happens for each of my posts automatically. 😌
Switched my main browser from Chrome to Firefox this week. Can’t say I miss anything in particular. Only gripe so far is having to change my muscle memory for keyboard shortcuts, which I’m sure will be a quick transition.
I gave a lightning talk in 2016 about writing readable and maintainable code, and @DvBerzon is doing some fantastic research in this area that really intrigues me. I’m eagerly waiting for the next phase of research and results! http://howreadable.com/
Super pleased to say that I just gave a short presentation about #indieweb to my team at work, and I didn’t butcher the explanation too badly, so everyone’s on-board! Feels great to be a part of this community and welcome…
At long last, I’ve managed to add the ability to edit my existing notes through my Micropub endpoint, and given my track record of totally making no mistakes, this is a good thing. #indieweb
Listened to Hardwired, a new EP by @mitch_murder, just about all weekend, and I can’t recommend it enough! Check it out if you’re into punchy 80s synths https://mitchmurder.bandcamp.com/album/hardwired
published
note
I’ve made an average of 1.498 commits/day to my website over the last 5.5 years. ~670 of those commits contained fix in the commit message.
Do with that information what you will while I continue to endlessly chase my own tail.
For a better part of the year, I've been working on a Jekyll-based Progressive Web App, BloodBuilder, for managing my Sorcerer in a game of Pathfinder I've been playing with some friends. One of the many intricate parts of logic involves the ability to convert Arabic numerals to and from Roman numerals, so I wrote a simple Liquid include to handle this.
I’ve sat down with three developers this week to help them diagnose some errors, but as soon as I sat down the errors mysteriously vanished. Anyway, hit me up if you want a quote for me to come sit next…
Now that CSS Custom Properties, or CSS Variables, are becoming a solid standard, I'm using a method to map their values to CSS Variables whilst providing a value-as-is fallback using a straightforward syntax in a SCSS function and mixin.
I went to the woods because I wished to live deliberately, to front only the essential facts of life, and see if I could not learn what it had to teach, and not, when I came to die, discover that…
Couldn't be happier with how #SotB18 turned out this year. It was an honour and a pleasure to be involved in organising such an incredible event. Massive thanks to all of our speakers, attendees, sponsors, and supporters. We couldn't have…
Added Jeremy Keith’s Canvas Sparklines to my site, to further visually demonstrate the vast spaces of time between my posts! Next step: create less vast spaces of time between my posts (read: publish more).
I developed a Sass function to generate a list of unique pairs given a List or Map of data, so I extrapolated the idea and refactored the function to generate a series of unique groups of size n.
published
article
Game night! 😊
published
note
Every rose has its thorn. @CodePen just crashed on me for the first time in over a year.
Still using it everyday though. 😄
In creating a from-scratch grid for a redevelopment project, I was using SCSS to loop through various bits of data to generate a bunch of repetitive CSS, but I realised I had no DRY way of generating a list of unique pairs of items from a given dataset, so I set out to find out how.
Great inspiration can sometimes be found in exploring available opportunities and embracing new ideas. In this article, I'll try to replicate a foreign concept in a familiar way, and explain why I decided to even do it.
If you've dabbled in Sass before, you're likely familiar with @extend and @mixin, but is there any use-case for @extend? Given the benchmark performance of the two, can we still be confident in the cascade when @extending in Sass?
We know that webpages are composed of text and boxes. Lots and lots of boxes. But with the power and might of CSS3 we can do some fancy stuff that never used to be possible.
I haven't published a new article in a while now, but I haven't been twiddling my thumbs. Let's look at what happened behind-the-scenes in the last eight months since my first article.
I've been around the block and seen many variations of variables and syntax in viewport meta tags. What's the correct way to go about it? And maybe I'll comment on the state of browsers today as well.
Navigation is crucial to a functional website. It is how your users find the information they're after; get it right, and your users are happy—get it wrong, and they go insane!
Well, I've finally gotten my site up and running to a point where I can consider it to be a success. What was the process, and what did it involve? What mistakes did I make that you can avoid?