This website is predominantly statically hosted on Amazon S3 and dynamically distributed using Amazon CloudFront. API endpoints are served using AWS Lambda and the whole thing is generously provided by the wonderful project partners at AWS Elemental to whom we are grateful.
imf-mm-api Website Structure
imf-mm-api Website Source
All the static sources for the site are located on github, along with the scripts for publishing to the s3 origins. This repository is private until late April when the project has been checked and will then be made public.
All the static pages authored in markdown blocks and rendered with Cuttlebelle that uses React to render each block. Blocks are pulled into pages via a yaml metadata file that encourages block re-use. The github repository shows the structure of the cuttlebelle content folders.
Diagrams are rendered in your browser using [svg] with flowcharts, sequence diagrams and gantt charts being rendered using the [mermaid] browser library to convert text into diagrams. This makes it easy to keep the website in github and automate deployment. Basically it allows the maintainer (me) to be lazy.
If you download the source, then you'll need some AWS keys to upload the generated
content to a bucket. The
gulpfile.js contains all the logic needed to automate
- install node v8.x or higher
- install cuttlebelle globally
- clone the github repository
- install development dependencies with
- launch the local watch / preview environment
- fiddle with pages
gulp publishto push HTML to the s3 bucket specified in
gulp lazygitto check changes into github