Switching to 11ty

Why switch?

Previously most of the websites I maintained were created using either Laravel or gatsby.

The main problem here is that they don't often have any need for dynamic content , and they don't change very often. This makes maintaining these sites quite a challenge because I often have one or two major version upgrades to do when it comes time to update them.

Gatsby wasn't too bad at first, however most templates are quite complicated and I don't benefit much from using react components. I really only need to reuse a couple of layouts and maybe paginate some items such as blog posts.

Laravel is something I've worked with a TON in my career, so it made sense to use this just for development speed regardless of whether I needed all the features.

Summer 2022 it's time to update some of my sites. The most traffic I get is on a website I host for a youtuber Killrbuckeye and a year or two ago I updated the website to use laravel, so I could share layouts for many of the pages.

Aside from the templating, the entire website is static content. My main hesitation from using a static content generator in the past was the burden of using something react based as it's quite a bit more overhead than what I need.

Enter 11ty

This is when I discovered @11ty/eleventy. It's something you run using npx and is pretty configurationless out of the box. With this in mind it means updating major versions here should be fairly painless compared to others.

I figured the best way to test this out was by upgrading my personal website first to see how things go. Then I'll eventually get around to doing the rest of the websites.

The biggest bonus here is I'm able to host these sites for free on cloudflare pages. Thus reducing my hosting cost to be nearly free. In the future I may even write a github action to automatically publish the main branch.

Conclusion

I've switched to @11ty/eleventy for this page and so far it's been an absolute joy to work with. I went from 1500~ files for a laravel install, not including node_modules and vendor, to less than 100 files total, and it's nearly all content related.