Colophon

Technical website info

Design & Development

The source code repository of this site is hosted at GitLab , and the site's scaffolding and static HTML generation is done using Jekyll . I used the Bootstrap  framework to build the layout, which is compiled from Sass with custom CSS here and there. Minification is done using the Compress HTML  Liquid template.

The base font is Rambla  and the monospace font is JetBrains Mono . The site offers a dark theme via the prefers-color-scheme media feature, which is based on Ayu  (which is my VS Code editor theme!). Syntax highlighting for code blocks is done with Rouge , which is colored using Pygments .

Icons used for the header, footer, etc. are all SVG based, and are taken from the Feather  icon set.

Since this entire site is static, blog comments are achieved using Utterances  which stores them in a public GitHub repo. I'm a supporter of the IndieWeb , and my site's markup is compatible with microformats2 . While comments are in place for regular users, Webmentions on my static site are fully enabled with a combination of Bridgy , Webmention.io , and Webmention.js .

Operations & Deployment

The static site is built locally, unit tested, and optimized for production via custom NPM  scripts. Once built, it's pushed to Netlify  where it is atomically deployed to the domain.

Cloudflare  powers the DNS, HTTPS, WAF, Proxy Cache, etc. — the usual gamut of optimizations that Cloudflare is known for. BunnyCDN  serves up CSS, images, and other static assets, while Cloudinary  handles images specifically for the Bookshelf using image transformations that allow for smaller (compressed) book covers to be shown.

The site doesn't contain any third-party analytics scripts or trackers, for both performance and privacy reasons. Instead, I check Cloudflare's analytics dashboard now and then. The site's uptime and domain/SSL health are monitored by UpDown .

Performance Optimization

I optimize my website as best I can, and as long as I'm in the 90-100 percentile I'm fine. More important than metrics for me is the real-world performance when browsing; as you (hopefully) should have noticed.

I'm proud to have the site be a part of the 1MB Club , which represents a growing collection of performance-focused web pages found across the Internet.

In terms of caching, the control headers set on Netlify's backend are public,s-max-age=604800,max-age=3600 which provides a 1-hour local browser cache and a 1-week proxy cache (via Cloudflare) for HTML. All static assets served up by BunnyCDN are overwritten with 1-month cache-control headers, which comprise mainly of images, JS, and CSS which can have a longer revalidation period as they are seldom updated.

The site uses Bootstrap's JavaScript library, which is delivered by cdnjs , since the odds of that already being cached in a visitor's browser (or at least the DNS resolution for cdnjs.com) is high enough for me not to deliver them from the site's origin.

Webfonts and smaller images are base64 encoded. This gives faster native rendering, reduces the number of HTTP requests, and makes use of the Brotli compression that's in place.

Copyright © Paramdeo Singh. Built with Jekyll and ❤ in Guyana. All Rights Reserved.

Last Site Build on Tue, 13 Apr 2021 16:55:04 -0400

1MB Club Badge