The plan was to use hugo to generate the site but due to some issues with theme and css deploymnent, I’m falling back to Jekyll.

This new site uses Jekyll to generate static site, stores them in S3, and adding cloudflare to offload SSL and content. This makes the site management quite simple, and easy to write and push the content.

Overall Design

The below illustration shows how the site is constructed. I store the files in github and use s3_website to publish contents. I am not using CloudFront as I’d rather let CloudFlare handle the content distribution securely.

Site Deployment and Services

Deployment

Preview locally before publishing

This also applies any configuration or plugins and generate static contents.

jekyll serve --watch

Synchronize the published assets to S3 target

This is what I do for a single line deployment

Update configuration if you are updating s3_website.yml

s3_website cfg apply

Then publish contents

s3_website push (--force)

Site Crawling

In order to add the site to google bot, I used jekyll_sitemap and registered the sitemap generated.