Today I Learned (June 23, 2024)

That Astro JS has some great features that make it a nice framework to build static websites with

  • It supports MDX via the @astrojs/mdx integration
  • There is an AstroJS VS Code extension that helps with writing .astro components (essentially JSX files with a Markdown-like frontmatter section where you can write some JavaScript code)
  • AstroJS supports content collections (logical content subsections, e.g. blog articles or product pages) and adds some convenience functions like Astro.getCollection to obtain a list of parsed collection files).
  • Using TypeScript, we can add typings for the properties expected by components written via .astro components (component props).
  • Dynamic routes may be defined pretty easily and work really nicely for content collections.