Generating a weekly calendar from JSON data

The original purpose of this blog was for me to document solutions that I spent hours figuring out at work, which means it’s not my code therefore I cannot take it wholesale with me. I just extract the key parts, remove any references (or try to) to the original project and hopef … | Continue reading


@chenhuijing.com | 2 months ago

Creating excerpts in Astro

This blog is running on Hugo. It had previously been running on Jekyll. Both these SSGs ship with the ability to create excerpts from your markdown content in 1 line or thereabouts. /* Hugo */ {{ .Summary | truncate 130 }} # Ruby {{ post.content | markdownify | strip_html | trunc … | Continue reading


@chenhuijing.com | 2 months ago

The value of live web design

Over the years, I’ve regularly seen blog posts or articles talking about “should designers code?” (less of “should developers learn design?” 🤷). I even chimed in with a tangential opinion piece back in the day. Tangential because I never said designers should code. Haha. … | Continue reading


@chenhuijing.com | 2 months ago

Wow, the blog is 10 years old 🥳

Since I conveniently missed my “decade of gainful employment as a web developer” post last year, I’ll make it up with a “oh wow, this blog is a decade old” post. There’s not much to say, considering my output was sorely lacking over the past 3 years. BUT, I still dutifully renewe … | Continue reading


@chenhuijing.com | 3 months ago

My ideal frontend interview

I’ll be the first to admit that I think I’m terrible at tech interviews. I never had a proper computer science education, and if I have never encountered a concept during my day-to-day job, odds are I won’t know how to implement “The Algorithmic-Data-Structure-Universe-Saving Thi … | Continue reading


@chenhuijing.com | 4 months ago

Let's inspect a phishing site

First of all, happy new year! It’s 11 days into 2024 and I just tested positive for COVID. Unlike many people these days who are not sure where they got it from, I’m about 74.3% confident that I got it from my mom. Because she did have it when I was visiting last week, and I know … | Continue reading


@chenhuijing.com | 4 months ago

Pulling content from external API into Drupal 10

If you had read my previous blog post, you’ll have found out that I’m somehow unable to escape Drupal. Not that Drupal is some terrible monster, it’s actually not bad. At this point, I’ll probably end up finishing my career with some Drupal project, who knows? Drupal 42, let’s go … | Continue reading


@chenhuijing.com | 5 months ago

Customising content markdown via frontmatter in Astro

The use case I had for this was to have customisable bits of a content collection that was rendered from markdown. Basically, a newsletter template where every newsletter could potentially have a different top banner and highlight colour. There are different ways to implement thi … | Continue reading


@chenhuijing.com | 6 months ago

Back from blogging hiatus? Maybe…

What is with a sudden publication of blog posts after a seemingly indefinite hiatus? I have no answer except that I do things when I feel like it. More specifically, I do things that are not mandatory (like my job) when I feel like it. That’s why I still have one. Speaking of job … | Continue reading


@chenhuijing.com | 6 months ago

OMG, I'm doing Drupal again

I’ve not written proper blog posts for a while now but I have come nearly full circle back to the start of my web career (albeit with a decade more experience and not necessarily any much smarter) to once again build a Drupal site. This is more a testament to the longevity of Dru … | Continue reading


@chenhuijing.com | 6 months ago

State of CSS survey 2023 is live!

I’m excited to share with everyone that the State of CSS survey for 2023 has gone live! Yes, it is slightly earlier in the year than last year’s iteration, but given the number of CSS features that have shipped in the meantime, we’d love to see if and how folks are using them. Or … | Continue reading


@chenhuijing.com | 11 months ago

Debugging Firefox on Android

I just figured out how to get my Android phone recognised by Android Debug Bridge (adb) on my MacBook, which finally allowed me to remote debug websites on Firefox Android. Just so I don’t forget what I did, this is a short documentation of the steps needed to get everything to w … | Continue reading


@chenhuijing.com | 1 year ago

So your designer wants stuff to overlap

I started my first full-time web developer job back in September of 2013 (not counting the period where I built random sites for random people). So it’s kind of like my 9 year anniversary of being able to earn a stable living by building on the web. Thanks, Sir Tim Berners-Lee. … | Continue reading


@chenhuijing.com | 1 year ago

Hacking background-clip with gradient colour stops

Before we get into all the hacking and unorthodox ways of doing things, let’s talk about background-clip: text properly. If you want an image or a gradient applied to a run of text, like so: You can achieve such an effect without having to use an image. There is CSS you can apply … | Continue reading


@chenhuijing.com | 1 year ago

The horizontal overflow problem

My good friend, Wei, has a pet peeve: unintended horizontal over-scrolling on mobile. Which is very different from intentional horizontal scrolling on mobile. Anyway, we thought it was worth a discussion, from why this phenomenon exists to how we can do our best to avoid it. As y … | Continue reading


@chenhuijing.com | 1 year ago

Can we enterprise CSS grid?

Regardless of whether the title of this blog post is grammatically correct or not, this is a question that I’ve had the opportunity to tackle recently. And after meeting and chatting with a bunch of CSS folks at CSS Day, I figured it’d be a good time to organise my thoughts aroun … | Continue reading


@chenhuijing.com | 1 year ago

CSS card shadow effects

Card-style components are pretty much still a thing these days, and there are many ways to make a bunch of identical rectangles look prettier. I’m quite fond of the pop art, or maybe it’s more of a comic book style art direction that uses thick bold outlines and bright colours. S … | Continue reading


@chenhuijing.com | 1 year ago

CSS animation on button hover state

Recently, I came across an animation prototype on a button hover state and wanted to see if I could build it with just CSS. To explain in words, when you hovered over the pill-shaped button, the background changed from a plain white background to a nice coloured gradient, and the … | Continue reading


@chenhuijing.com | 1 year ago

@font-face fun times

I’m currently a member of the Chinese Text Layout Task Force | 中文排版需求, and we have monthly calls to discuss issues and work related to the Requirements for Chinese Text Layout. There were a number of interesting things discussed in the most recent one, enough for me to want to wr … | Continue reading


@chenhuijing.com | 2 years ago

Random update for 2022

I had a conversation with my brother-from-another-mother, Zell, a couple days ago. Half catch-up and half discussion on the project we’re working on, which I’ll be honest, I have not been keeping up with very well. Project in question being a course called Essential CSS. There ar … | Continue reading


@chenhuijing.com | 2 years ago

The many methods for using SVG icons

Recently at work, I ran into a situation where we had to revisit how SVG icons were being implemented on our pages. | Continue reading


@chenhuijing.com | 2 years ago

DevTools for CSS layouts 2021 edition

As someone who loves and works with CSS on an almost daily basis, DevTools are something near and dear to my heart. | Continue reading


@chenhuijing.com | 3 years ago

Debugging vertical layouts in 2021

This blog has been around for more than 7 years. Where has the time gone? I first started messing around with vertical layouts after discovering the existence of writing-mode. | Continue reading


@chenhuijing.com | 3 years ago

DevTools for CSS layouts 2021 edition

As someone who loves and works with CSS on an almost daily basis, DevTools are something near and dear to my heart. | Continue reading


@chenhuijing.com | 3 years ago

Understanding browser cookies

Even though I’ve been doing web things for a while now, I confess I had never dealt with browser cookies other than clicking those cookie notifications on every other website you visit these days. | Continue reading


@chenhuijing.com | 3 years ago

Setting up umami on Heroku

I migrated this website from Jekyll to Hugo about half a year ago and also took the opportunity to move hosting from GitHub Pages to Netlify. | Continue reading


@chenhuijing.com | 3 years ago

Migrating mLab to MongoDB Atlas

Well, well, well. It’s that time again when I revisit some random thing I built years ago and brace myself for the extent of potential code rot. | Continue reading


@chenhuijing.com | 3 years ago

What is RedViolaPanda?

This is a question that is impossible to explain with a short answer. But let’s give it a try. Red pandas are very cute and very fluffy. | Continue reading


@chenhuijing.com | 3 years ago

Monetizing Your Blog With Coil

I’ve had quite a bit on my plate lately, a sort of bit-off-more-than-I-could-chew situation, which is not an uncommon occurrence for me. | Continue reading


@chenhuijing.com | 3 years ago

Let's talk about Web Monetization

Some of you may have been seeing some buzz around the Web Monetization API recently, especially if you hang out on DEV. | Continue reading


@chenhuijing.com | 3 years ago

On fixed elements and backgrounds

I thought this was going to be a short-ish note on fixed positioning and jank, but as with almost everything I write, it grew into a long-ish post about containing blocks, rendering and scroll performance. | Continue reading


@chenhuijing.com | 3 years ago

Revisiting Drupal 8 After 2 Years

The last time I wrote about Drupal was 2017, when I built the company website for my friend’s husband. It was a proper paid project, which really did come at a good time because I was about eight months fun-employed at the time trying to get my own company off the ground. | Continue reading


@chenhuijing.com | 3 years ago

The one in black and orange

It’s been a couple months since my last proper “ship-to-production” layout project (the last one being the React Knowledgeable website, subscribe to their YouTube channel if you haven’t ❤️). | Continue reading


@chenhuijing.com | 4 years ago

Migrating from Jekyll to Hugo

After 1992 days on Jekyll hosted on GitHub Pages, all the nonsense I have published on my website is now being built on Hugo hosted on Netlify. | Continue reading


@chenhuijing.com | 4 years ago

CSS for Internationalisation

I’ve come across people who do not think that CSS is related to internationalisation at all, but if you think... | Continue reading


@chenhuijing.com | 4 years ago

Flexbox and absolute positioning

Recently, I’ve been trying to build an open source video conferencing application specifically for online meetups. Just like every other... | Continue reading


@chenhuijing.com | 4 years ago

Understanding Positioning in CSS

I was at JSConf China earlier this year, which happened in Shanghai from 19–20 Oct. There was fairly decent representation... | Continue reading


@chenhuijing.com | 4 years ago

Switching from Bash to Zsh

For someone who never learned “computers” in school, I’m actually pretty fond of the command line interface. I was one... | Continue reading


@chenhuijing.com | 4 years ago

Where Did CSS Named Colours Come From?

Talk.CSS, which is Singapore’s monthly CSS meetup, has a segment called CSS colour of the month, where we mention 1... | Continue reading


@chenhuijing.com | 4 years ago

Learning CSS by Reading Specs

Recently I got the chance to do an interview with Vitaly Friedman as part of the run-up to View Source... | Continue reading


@chenhuijing.com | 4 years ago

Recreating the Fool's Mate Chess Move with CSS Grid

When Firefox 66 was released, one of the features that got myself and a couple other layout enthusiasts really excited... | Continue reading


@chenhuijing.com | 4 years ago

Internet Explorer 3, an adventure in cross-browser compatibility

Some of you might know that I run the CSS meetup, Talk.CSS in Singapore together with my best mate, Wei.... | Continue reading


@chenhuijing.com | 4 years ago

Dark mode using CSS blend-mode technique

So I have this friend, Wei, who’s basically an expert with CSS blend modes, right? And she came up with... | Continue reading


@chenhuijing.com | 4 years ago

Windows 3.1, a walk down memory lane

Welcome to yet another edition of Hui Jing doing things that have no practical use but do it anyway because... | Continue reading


@chenhuijing.com | 5 years ago

Using DevTools to understand modern layout techniques

I recently got the opportunity to visit the Mozilla Community Space in Jakarta and speak at MozKopdar JKT with Alex... | Continue reading


@chenhuijing.com | 5 years ago

CSS exclusions with Queen Bey

I recently came across a post by Ben Frain expressing his frustrations about CSS shapes and exclusions. And although I... | Continue reading


@chenhuijing.com | 5 years ago

Math and front-end

If you were one of those kids that wondered why you had to attend all those math classes and learn... | Continue reading


@chenhuijing.com | 5 years ago