The Now page column

The nowopens in a new tab page is very cool, it's about what you're focusing on at the moment.

Put all program examples as files, test them along each program and distribute to this website automatically.

Edit on GitLab links and SEO.

Release the website.

Write a random sticker SVG generator.

Try out different Japanese fonts, prepare articles.

Prepare everything for website's release.

Patch tests. Website needs more illustrations.

Drawing Codsen logos and star. On the code front, tending ranges-merge API and consumers upstream.

We can't deploy without cache-busting. Let's implement it.

Yay! Apple Pencil came. By the way, Apple store queues are ridiculous.

While porting README's, we noticed ranges-merge returns empty array instead of null when there are no ranges. This will bump ranges-merge to v.5 and require few fixes up the dependency stream.

Until a new pencil comes, illustrations are blocked. Let's sort CSS tasks in the meantime.

Let's release the monorepo — 2 flags were added to package.json's: 1) is default exported; 2) are TypeScript definitions present.

A detour — Jan Rembold reported TS Definition types are missing on string-strip-html. Let's create them.

Apple Pencil won't charge. Need to port and format more articles. Illustrations! Illustrations! Illustrations!

Prepare the articles for website's release.

Homepage's Now column.

Rewrite the string-strip-html API (v.5): return object instead of string, add logging and tag location indexes. Sorry, couldn't help it, let's do this.

Package single page sidebars, especially UMD section.

Can't help it, some package readme's need a copywriting intervention.

old Now entries have faded into oblivion…

Articles

ARTICLE  
Our Cache Busting Setup on Eleventy

Our Cache Busting Setup on Eleventy

Cache busting is necessary because browsers cache the resources, namely, CSS and JS files, and if we update the website, visitors might not see their latest versions.

In theory, implementing web workers should solve the cache busting problem, and there are Eleventy pluginsopens in a new tab for that, but, we decided not to enable the PWA setup until we test it properly.

Here's how we bust the cache in an old-school way, on Eleventy + Nunjucks + Parcel.

Read article Our Cache Busting Setup on Eleventy
ARTICLE  
Our Dark Mode Setup

Our Dark Mode Setup

Conceptually, dark/light mode on a website is driven by the buttons on the UI: whichever mode user picks, a data-theme attribute with that value gets set on <html> tag. We also persist that to browser's local storage.

Automatic mode setting "listens" to system's setting via @media (prefers-color-scheme: dark). Manual dark/light modes' CSS "listens" to <html> tag attribute's value by :root[data-theme='dark'].

That's pretty much it.

Here is the mixin we use.

Read article Our Dark Mode Setup

Open Source

Detergent

Text extraction, cleaning and preparation tool.

Removes invisible characters (“opens in a new tab”), encodes entities and improves the English style.

Find out more

Email Comb

Find out more Unused CSS remover for email templates. Supports all ESP languages, minifies and uglifies.

HTML Crush

Find out more Email template-oriented HTML minifier. Limits line lengths for the best results in Outlook.

string-strip-html

Removes HTML from test/strings. Can be used to produce text versions for multipart emails.

Find out more


The Now page column

The nowopens in a new tab page is very cool, it's about what you're focusing on at the moment.

Put all program examples as files, test them along each program and distribute to this website automatically.

Edit on GitLab links and SEO.

Release the website.

Write a random sticker SVG generator.

Try out different Japanese fonts, prepare articles.

Prepare everything for website's release.

Patch tests. Website needs more illustrations.

Drawing Codsen logos and star. On the code front, tending ranges-merge API and consumers upstream.

We can't deploy without cache-busting. Let's implement it.

Yay! Apple Pencil came. By the way, Apple store queues are ridiculous.

While porting README's, we noticed ranges-merge returns empty array instead of null when there are no ranges. This will bump ranges-merge to v.5 and require few fixes up the dependency stream.

Until a new pencil comes, illustrations are blocked. Let's sort CSS tasks in the meantime.

Let's release the monorepo — 2 flags were added to package.json's: 1) is default exported; 2) are TypeScript definitions present.

A detour — Jan Rembold reported TS Definition types are missing on string-strip-html. Let's create them.

Apple Pencil won't charge. Need to port and format more articles. Illustrations! Illustrations! Illustrations!

Prepare the articles for website's release.

Homepage's Now column.

Rewrite the string-strip-html API (v.5): return object instead of string, add logging and tag location indexes. Sorry, couldn't help it, let's do this.

Package single page sidebars, especially UMD section.

Can't help it, some package readme's need a copywriting intervention.

old Now entries have faded into oblivion…