After reviewing open-source options for static website content creation, I rediscovered jekyll, a static web content management platform supported by a strong community with a good variety of available site templates and extensions.
Here’s a quick set of instructions on how to set-up and publish a static website, leveraging the official docker jekyll container and amazon s3 to host.
First you’ll want docker installed and then select a template from the substantial catalogue available.
docker pull jekyll/jekyll
download and unzip your theme & cd into it then…
docker run --rm --label=jekyll --volume=$(pwd):/srv/jekyll -it -p 127.0.0.1:4000:4000 jekyll/jekyll jekyll serve --incremental
Open your browser and navigate to localhost:4000 to view the demo pages
Modify _config.yml and anything else you wish to, jekyll will detect the change and regenerate the pages, refresh your browser (ctrl/command shift +r) and view the change
If you’re happy with the changes you can ctrl C to kill the jekyll docker process and publish the pages to git, and or amazon s3.
aws s3 sync _site s3://mybucket.redgrid.net --region=ap-southeast-2
The important part other than a bucket policy is a cname from the intended DNS record mybucket.redgrid.net to mybucket.redgrid.net.s3-website-ap-southeast-2.amazonaws.com