My workflow goes like this: 1) Write blog post in markdown, making sure to include the YAML front-matter (JSON's also an option), 2) Generate the static pages from that blog post using `hexo generate` in my CLI, 3) Use `hexo server` in my CLI to preview my changes locally in my browser, 4) Upload my files to my remote server (I haven't automated this part yet)
Alternatively, I've tried static site generation & deployment with Node, TiddlyWiki [3] and GitHub Pages. Although TiddlyWiki's not meant to be a static site by default (nor a blog), there's a lot of helpful documentation out there [4] that explains how it can be used in that way. I got a static representation of my TiddlyWiki digital garden [5] up and running in an afternoon, whereas Hexo took me a few days to figure out.
[1]: https://hexo.io/
[2]: http://practicing.design/2020/05/02/my-review-of-hexo-a-node...
[4]: https://nesslabs.com/tiddlywiki-static-website-generator
Using a static generator gives structure to your blog content and links, its also easier to maintain a static site compared to any other method.