Static sites don't make search functionality easy, but luckily there are some excellent services that do. I've been messing around with Algolia and finally have it working with Craft and Gatsby the way I want it... on the backend, at least.
It turns out that there are a lot of gotchas to creating a clear category structure for media reviews. Well, after a year of messing around with various setups behind the scenes, I think I'm starting to get somewhere.
Migrating assets to a new CMS can be a complete pain, but working out which files go with each page or article on a website doesn't have to be a nightmare if you start with a solid foundation. For me, that means tightly coupling my folder structure on the server with my content structure on the website, a workflow that Craft is particularly nifty at automating.
Welcome to the third version of theAdhocracy! It's been a long time coming, but the site has finally been rebuilt, rehosted, and re-just-about-everything else, so I figured I'd actually formalise the launch with a new post explaining what's happened and why.
I finally made it to an IndieWebCamp meetup, even if it was remote only due to the increasingly restrictive implications of the coronavirus. I learnt a lot, I had a great time, and I'm ready to start implementing a whole bunch of new ideas right here. I also took a huge number of notes from the speakers and sessions throughout the day.
Notes from the fully remote React Summit 2020 (or at least the talks I tuned in for). Lots covered, from static-site generators and the Jamstack through to React state management and accessibility. What a fun day!
Notes from my second fully remote conference, this time Sparkbox's UnConference. Being able to freely access talks from the US is a rare bonus of everything going on right now, and this did not disappoint. Musical cameos, great talks on UX, accessibility, design systems, and amazing speakers. Great event (despite the time difference).
I got annoyed having to manually markup inline code for blog posts so I dug around in the Redactor documentation and worked out how to create a keyboard shortcut instead.
Heydon has been working on Ga11ery, a neat image portfolio site
generator that's ideal for webcomics. But it's built on the
Jamstack using 11ty and Netlify, which means it isn't so simple to
…
Customising HTML lists often means sacrificing standard browser typesetting bonuses, like hanging indents. But with a little bit of modern CSS, you can get them back again, whilst still getting to use custom counters – like emoji 🚀
Another month, another big and fully remote JavaScript conference. JSNation fit into my schedule a little less (and didn't quite overlap with my interests as neatly) but it was a fun event with some interesting talks on topics that are often only on my periphery. Much to think about!
The new dominant layout methods in CSS – grid and flexbox – have solved a lot of issues. Still, sometimes the ideal layout is somewhere in the middle: a flexible grid-like mashup. With a bit of outside-the-box thinking, you can there from either angle.
What do you do when a website has loaded but the content is still being fetched from an API? One answer is to fill the page with animated placeholders, creating a skeleton of what the user can expect, with a dash of CSS animation to let them know that something's still going on behind the scenes.
🔖
Three ways to autofocus in React (that almost always work)
Whilst accessibility means you largely want to steer clear of
autofocus on web forms, sometimes it can be beneficial. In HTML, we
can now reach for the handy autofocus attribute, but as I recently
…
People joke about Safari being the new IE6 a lot, but I've never
seen as succinct and well-reasoned a take on just how true this is
becoming than what Tim has written. Their argument breaks down into
…
Ahmad has put together some really interesting examples of where
modern CSS techniques can replace traditional use-case for absolute
positioning. I'd be really interested to know how some of them
…
A halfway solution to a design pattern that I see often, but have yet to find an easy way to implement: text that wraps so it is always fattest in the middle, and thinnest at either end.
Harry has created an absolutely phenomenal talk here that
provides an immense amount of depth whilst still being completely
accessible to someone like me who largely doesn't deal with the
technical …
🔖
Modern CSS for dynamic component-based architecture
I'm still enjoying the wombo-combo of Sass and CSS Modules, but my React-ified brain occasionally blanks on how to approach certain problems. The one that catches me out the most: style inheritance.
I have long sought a web-native way to achieve sidenotes with
CSS, and it turns out Eric is in the same boat. The new Anchor
Position API in CSS is seeking to solve that problem, and whilst it
…
Storybook encourages setting the same arguments over and over and over again, but this is a pain to maintain. There is a better, DRYer approach, it's just not well documented.
Migrating content between fields in Craft is not as simple as it might be. In the wake of Craft 5, I've been getting a lot of practice, and wanted to write up some of the techniques I've been using.
Is the term "web component" useful? Or does it simultaneously
obfuscate the power of the related APIs (custom elements, Shadow
DOM, etc.) and confuse their intent/meaning in a way that leaves
…