For the past three years this website used Jekyll to generate static HTML pages from markdown files. It was great for its simplicity and integration with GitHub Pages, but I found the Liquid template tags clunky to develop with so I rarely took advantage of components, nor did much beyond add new markdown posts. The irony in these new posts is that they describe projects using React, Vue, or other more capable frameworks. While build times and complexity of these projects is greater, they allow me to take advantage of any Node.js package I may need.
New site features include:
- 🖼️ Automated project and tag images from WikiData (more sources could be added, but these are infrequently used at the moment)
- 🖼️ Automatic OpenGraph images for link sharing (see below), using
- 🖼️ Responsive Images in the best formats with Astro
- 🧑💻 Using MDX to enable custom components within specific projects and posts.
- 🎨 Link previews for external pages.
- 🎨 PostCSS for automatic polyfills. Being able to nest CSS makes maintaining it much easier.
- 🎨 Automated accent colors from images, using
color-thief. These are used in CSS variables to theme pages (it may be subtle!).
- 🔍 JSON-LD data for rich search engine results. Using ‘Article’, ‘People’, and ‘SearchBox’ types.
- 🏷️ Tag listing pages for easier content discovery.
- 🌙 Dark mode selector