My first blogpost

studen

My Rust Blog

Look, mom, I made a fullstack Rust bloging website
Ferris the rusty crab

Why?

For a long time now I've been wanting to create a blog from scratch, and for a large part of that long time, I've been determined that it should be made with Rust.

I guess it all started some years ago when I helped a friend of mine to host his website with his own domain using WordPress (the website in question is https://buenidioma.com/, you should definitely check it out if you want to learn about the correct usages of the Spanish language). Since then I've been maintaining the technical side of the website and I've even developed a small WordPress plugin just to connect that website with its Telegram channel.

Nonetheless, I've always felt like it would be better to make something entirely from scratch. Well, 😅, actually it's not necessarily "better". WordPress is a fantastic technology with an immense ecosystem and community; in fact, except for that plugin that I made and a few custom CSS lines, the website is built with community plugins that do almost exactly what we were looking for. I might, as well, just learn PHP and tailor the website to our needs while keeping all the benefits from WordPress.

But no, I felt for the Rust hype and now want to learn it. That's the reason why about a year ago I took a Telegram bot I made in Python and rewrote it in Rust. And now I've made this using Actix Web and Yew.

Next steps

I still need to improve this website a lot so that it is even functional:

  • Add editing (and delete) capability. I already created the services, just need to wire them up.
  • Improve the styling.
  • Add comments and likes capability (that's the reason why I implemented the user registration to begin with).
  • Add OAuth login so that people don't accidentally leak their passwords in a website with questionable security (I think I did it relatively secure, but still)
  • Upload media here
  • Many other things...

If you think of features, or spot any issue, or have comments on the code, please contact me on Telegram or open an issue in the GitHub repo.