<!-- TOC -->
- The site platform
- Where do I host the site
- The posts
- My workflow for posting an article
- The newsletter
- That's it!
<!-- /TOC -->
This site is a static site built using Astro.
It was previoulsy built using Hugo and I loved it. I love creating UIs with JSX more though.
Astro, like Hugo, is very fast and generates fast pages that can be deployed on a platform like Netlify or Cloudflare Pages. That's all I need.
I used Netlify, now I use Cloudflare Pages because they provide free unlimited bandwidth.
I write the posts using Markdown. Sometimes I use Notion or Bear or VS Code directly to write them. Markdown is a great format because it's very portable.
I try to publish as much as possible.
I had a daily posting routine, although these days I'm not publishing every day I try to keep posting a lot.
I just enjoy doing it.
Sometimes I'm working on a project and in a day I have 3 post ideas, things I had to search for on Google and dig the answer.
I used to have a week or so of content ahead of time, ready for publishing, but now I just publish when I have content to publish.
I push all my content to a private GitHub repository, which is synchronized to Cloudflare Pages / Netlify thanks to their Git integration.
Every time I push to GitHub, the site is updated.
I make sure all the post images are optimized using ImageOptim, to avoid useless bandwidth usage and a faster page speed.
I have a newsletter. Sometimes I send an email with the list of the posts I wrote, plus any new resource I create that might be interesting.
I use a self-hosted solution called Sendy and AWS SES.
Find out why you should create an email list.
I wrote and distribute a number of ebooks, available on my site. You can read them online or buy them in PDF or epub, I use a tool called Honkit to generate those formats. I detail my process here: https://flaviocopes.com/how-to-create-ebooks-markdown/.
I wrote 15 book so far and I plan to make more in the future.
My tools and workflows are always evolving.
I try to keep this post up to date.