* this triggers a lambda function that generates a static website and puts it on s3
* this triggers another lambda function that pokes the CDN and expires anything that changed
By self-hosted I mean I control all the parts. I can change the generation code, the CDN upload/expiration code, I can change the output, I can view the logs, all within my own account.
I don’t know... I have a Github actions workflow that on a commit, it builds a site (mkdocs) and upload it to a gh-pages branch for hosting on Github. You could also push the generated html to S3.
That coupled with Working Copy could be a pretty good mobile workflow.
For me, this was much easier than deploying Lambda code and managing How all of that worked together. Using Github Actions wasn’t much more than setting up a deploy script.
Have that. It sucks. UI on github sucks (need something I can access anywhere, not just my desktop, thought github might cut it, it doesn't). Uploading images sucks. No preview sucks. I suppose I could trigger to staging but that means I have to commit just to see a preview then wait for the entire process vs say wordpress which has instant preview.
Managing posts also sucks. I can pre-date posts but I can't at a glance get a list of posts with data about each one. Instead I just get a file listing and have to open each file and read its headers to see its metadata (date, title). Publish vs unpublished also suck. I have folders for my posts and another folder for drafts but moving something from one to the other is no fun compared to just checking a box in wordpress.
I've build something like this using Hugo as a SSG and a custom Micropub-backend that commits new content to a Git repo and pushes it to a Git hosting platform. That then triggers a CI build for the site generation and upload to the webserver as well as a CDN purge.
* load a web page
* write words
* hit submit
* this triggers a lambda function that generates a static website and puts it on s3
* this triggers another lambda function that pokes the CDN and expires anything that changed
By self-hosted I mean I control all the parts. I can change the generation code, the CDN upload/expiration code, I can change the output, I can view the logs, all within my own account.