The blog is forked from the standard Astro blog template you get by running
npm create astro@latest and then choosing
blog when prompted in the multiple choice menu.
I use the font IBM Plex Sans by Mike Abbink and Bold Monday which is amongst my five or so favourite sans-serif typefaces alongside Source Sans Pro and Inter. I believe Plex Sans is just that tiny, tiny bit more attractive for text than Source Sans Pro but it's a very close call. The code font which you can see in action with the NPM command above is the fantastic mononoki by Matthias Tellen. I host both of these with the other static files. It's super easy, improves performance since no new domains have to be contacted and prevents cross-site tracking as opposed to using yet another third-party CDN.
Icons are sourced via astro-icon from the iconify project. I like to use Icônes to find new icons and therefore have icons from different icon packs on this site. This is how you use astro-icon in a way that aligns the icon properly with its text by the way.
I optimize images with Sqooosh by hand by reencoding them as WEBP and testing the quality settings. Usually you can get away with 80 % at no visible quality loss while saving up to 90 % of the file size. If you manually, properly reencode images you don't need multiple sizes and no image CDN.
My stack looks like this:
- Bunny for DNS hosting and for CDN (I host some files occasionally on cdn.moritz.pm)
- Vercel for Astro builds and hosting and for Umami hosting
- Planetscale for the analytics database hosted in Frankfurt
- Tally.so for basically unlimited forms (contact and feedback)
- Infomaniak as registrar and mail host because they have good prices for the .pm TLD and used to have free basic mail hosting