Static website development project using Astro

I have been using 11ty for a few months to develop all kinds of websites for different use cases. They are mostly example websites used for learning purposes. Through this exercise of creating multiple websites using 11ty I have realized a few best practices that need to be followed when developing websites.

There are a few patterns that keep on recurring in web development. It becomes more productive if you have a template that can be reused across multiple projects instead of restarting from scratch. Copy pasting the existing project and editing doesn’t seem to be the best approach either.

I also came across some issues that 11ty does not directly support. I have been trending towards creating reusable components that can be reused across the same project in multiple locations as well as reusing among multiple projects. One main blocker in making components reusable in 11ty is that I was not using a strictly typed language. I prefer to use something like typescript to defined the parameters a component would accept so that it can be reused.

I managed to create a 11ty project that uses typescript and react components but it seems to be overkill. Therefore researched additional tooling. Came across the other widely used frontend tools like Astro, Svelte, Remix and Qwik. I have decided to give Astro a go.

I aim to create an Astro project with a focus on reusability and strongly-typed component parameters.


View this page on GitHub.