My website is live!

My website is live!

Why did I do this?

I figured that it could have been a good idea to have a place where I can put random stuff about a bunch of my projects, mainly to keep it ordered, and while at it, showcase them a little.

How?

The website is made using Astro.js, a framework used by some big companies, that easily generates static pages from markdown (.md and .mdx files) and/or HTML files (in the format of .astro).

This framework promises really fast pages loading times, and is in active development.

The theme is based on the Astrofy theme by Manuel Ernesto, with some modifications.

Improvements

I brought some significant modifications over the base theme, in particular:

Localization (i18n) features

It seems easy from the Astro i18n docs to add i18n features, but in reality that page misses lots of points and caveats that are quite important in order to make it really work.

I then managed to perform that without any NPM package, with just Astro dynamic routing.

BUT: Now i18n is being introduced as experimental feature in Astro 3.5, so I’ll see how that goes.

Firebase Integration

I added integration with Firebase working, probably in the future to add accounts or other stuff if needed. Now it is being mainly used for the Firebase Storage (for videos), and Analytics.

SEO Improvements

I added some SEO stuff to improve the website, like:

  • Structured data (at the time of writing only the Logo is implemented, but I’m working on adding Breadcrumb and Article ones too)
  • Canonical URLs
  • noindex for fallback pages or pages that should not be indexed

Other minor improvements

These include:

  • Breadcrumb navigation (it is on top of the page)
  • Slide to next article (at the bottom of the page you can see a downward arrow, that’s what it does)
Logo

© 2024 Marco Perin