Skip to main content
Dublin Library

The Publishing Project

Import Maps Everywhere

Javascript import maps provide a mapping between local names and external modules. Using Import Maps is a two-step process. First, you create a script with a type="importmap" attribute to...

Node's Permission Model

With the release of Node 20, the team introduces an experimental permissions API. There are two types of permission available with this version of the API: Module-based permissions control which...

Understanding Streams

The Streams API adds a set of tools to the web platform, allowing JavaScript to programmatically access streams of data received over the network and process them as desired by the developer. Basic...

Read and Write Files in Node

Reading, writing, and appending to files in Node is not trivial and has at least three different ways to perform each task: callback, sync callback, and promises. We will look at each of these methods...

Revisiting the TC39 Temporal Proposal

The Javascript Temporal proposal seeks a native fix for long-standing isues with Javascript's Date object as outlined in Fixing JavaScript Date: No support for time zones other than the user’s local...

CSS image-set

CSS provides its own syntax for working with responsive images where it is appropriate. This works in a smiliar way to the srcset attribute in HTML. It lets authors specify images either by resolution...

Building a fuller Starter Kit

I've built a Gulp system to generate HTML and PDF files. It works really well for that purpose. I saw Adam Argyle's Shortstack starter project and it made me think it might be time to revisit bundling...

Why I love @property in CSS

CSS Custom Properties (also known as CSS Variables) rock but they are not without drawbacks. Since you can put any value and change the values, the browser will treat the value as a string and force...

::before and ::after pseudo elements

::before and ::after are interesting but, to me, they are hard to understand and use correctly. These pseudo-elements are primarily used to insert content before and after an element. We can create...

Archive Navigation