Alexito's World

A world of coding 💻, by Alejandro Martinez

New website redesign, v3 with Publish

Welcome to alejandromp3. As you may have noticed this website has a totally new design! Not only that, but is now using a different static site generator purely in Swift!

This was a tough decision. Since I moved to Gatsby almost two years ago I realised that it was not a good investment of my time to just rebuild websites for the sake of it. I would much rather prefer to sit down and spend that time writing articles.

Gatsby was great and I learned a lot, so there is nothing bad about that. But, for me, it has the same issue that the previous generators that I used had. All these site generators are build on ecosystems that change at a fast pace. That may not be an issue if you are part of the ecosystem and keep up with it, but for me, as an outsider, it's always been a problem. For example, months after I released that version of my site Gatsby 2 came out and I had to spend some time updating it. It was not a big deal since I still had some fresh knowledge about the system, but it was not a walk in the park either.

For a long time after that I was subconsciously afraid of touching the site. I knew I would have to lear again the ecosystem just to have an up to date code before I could add any new functionality, because after some time of not updating nothing works. This resulter in almost 2 years of no updates on the site.

This is not a critique to Gatsby, the same happened with Jekyll before. Is just an observation of how fast things move in certain ecosystems and how software breaks if you are not on top of it almost daily.

So that's why I finally took the decision of migrating the site once again. This time to Publish a static site generator made in Swift. How is that gonna be different? Well, I'm in this ecosystem. I breath Swift. I keep up to date with the language evolution, write posts and make videos about it. Software would probably break anyway, but I will know how to fix it without even thinking about it.

I took some time before starting the migration exploring Publish. I know its internals and I'm comfortable with them. I feel more in control of the situation now than ever before.

New features

This change has allowed me to finally develop some new features that I wanted for a while. My site has always had some special requirements with a taxonomy system. This is because one very important thing to me is that this is NOT a site about one exclusive topic, even if that's the worse decision for marketing purposes ^^'

But thanks to Publish flexibility and a little Swift love I've been able to fully integrate my custom taxonomy system into the site and I'm very happy with the results, which in turn has allowed me to create specific Topic pages.

For example you can see a page only about Swift. That's probably the main topic of this site so it was really important to me to have a URL to which to point to. But if you don't want to focus only on Swift, you also look at the broader Development page. Even more, I was able to create a page to show case my companion articles to my videos.

Hopefully this helps you a bit to navigate the site and focus on the topics you are interested in.

There are other small features across the site that I will be detailing a bit more on future posts so stay tuned for more Publish articles ^^

Deployment

This is still a static site so the deployment keeps being straightforward. I keep using Netlify because it has given me great results without any problem.

One thing to note is that Netlify still doesn't officially support running Swift during deployment (they have a PR for that) but it is not a big deal since you can generate the code locally and just push the Output folder.

One great thing is that to switch the DNS to the new site I just had to change one configuration on their site and that's it, everything worked in seconds. And thanks to their redirect system I've been able to switch the slugs of my site (they don't contain dates anymore) while keeping all the previous links working!

I can’t recommend Netlify enough, the service is great and with all the basics that you need for free.

Conclusion

The switch as taken a couple of weeks to complete (mostly fighting CSS) and it has been really enjoyable without any major roadblocks. I’m more comfortable with the current setup than ever before and I'm really happy with that.

There are some improvements that I expect to be releasing soon and some articles explaining some specific custom parts of the site in hopes to help everybody that wants to use Publish. You can check the Publish tag or even the Youtube playlist to know more.