my blogging stack in 2020

by Christian Fei @ 2019-10-27

336 words, 2 minutes reading time

#post #js #general #featured 

this

tldr;

11ty

Eleventy is a simpler static site generator..

to bring the point home, i don't even have @11ty/eleventy npm package in my package.json. i can use npx to serve and build my site.

development

this was important to me, since i didn't want to have to deal with pandoc, haskell and latex to build my site ever again.

i learned from my mistakes and decided to go with something that i was familiar with: javascript.

so the most natural thing was to run npx @11ty/eleventy --serve. and this is how my site is available and live-reloaded at http://localhost:8080.

eleventy

i have a custom eleventy configuration with a few additional features and build steps:

a post that explains how to deploy an 11ty static site with github actions on aws s3

uat

cypress is now my choice when it comes to user acceptance tests.

in the cypress/integration you can find the following tests:

in runs on the ci with npx cypress run, alongside a running http server listening on port http://localhost:8080.

deployment

similar as above, i use npx @11ty/eleventy to build this site to the static directory _site.

aws s3 cp follows and updates my aws s3 bucket with the new static files.

finally, cloudflare's http api comes in handy to purge the cdn.

automation

an absolutely refreshing idea is to have a pretty stable ci/cd pipeline running quite easily.

i have written in another post how i deploy my site with github actions

what i delegate to github actions are the following commands:

each of these lego pieces make the full cd pipeline.

conclusion

i simply love this setup.

11ty gives me great flexibility, similar to jekyll and conceptually the same. i will always love jekyll, it was the static site generator that got me into blogging in the first place.

give 11ty a try, a let me know on twitter @christian_fei what you think about it and if you have any suggestions!

this

Leave a comment

Better web scraping with node.js My blogging stack in 2020 Run cypress integration tests with github actions workflow Simple telegram message with github actions Deploy eleventy site with github actions on aws s3 Simple ad and trackers blocking with dns Build for a slow connection Upgrade mongodb 3 to 4 on ubuntu Publishing org scoped npm packages with travis A story about npm publish / unpublish