first post

Welcome to my “blog”! I don’t want to repeat too much of the information on the home page, so I’ll use this first post just to explain why I have a website, how I made it, and what I plan to use it for.

Why?

The most obvious question first: why having a website in current times? Maybe it’s my way of contributing to an Internet with more original (and people-made) content, instead of simply consuming content generated by others. Maybe it will also help me organize, convey and remember my own ideas. And hopefully it will make for a good time both when writing these posts, and for you when reading them.

The second question is: why not just use social networks then? And while that might seem “easier”, I also have other goals with this website:

  • Showing that websites are not necessarily expensive, complex, or difficult to manage. Demonstrating that you can have an accessible website, without putting “form over function”.
  • Promoting a “decentralized” idea of the Internet, where content isn’t exclusively hosted on big platforms.
  • Exploring other uses for a personal domain, such as email or homelabs.
  • (To create more content in Portuguese, bridging it with the English version).

These are all topics that are very significant to me. I will probably come back to them in future posts.

How?

It may seem like a contradiction with my “decentralization” goal, but I started by hosting my website with Cloudflare, one of the Internet’s “big players”. In the beginning of this journey, I started by using Cloudflare Pages, a free service. It’s similar to GitHub Pages (the https://<nome>.github.io websites). Both allow you to host static pages (i.e., without any server-side code/logic). For my goals (and for many other websites, honestly), it’s more than enough.

The content of these pages is written in simple text files, in Markdown format. Afterwards, it is converted to Web content using Jekyll. The source code and the generated Web content are both stored in a Git repository. This way, the content is not tied to a platform or framework, and it can be easily exported, migrated or converted.

GitHub or Cloudflare?
Both integrate with Git. They connect to a repository, with updates triggered by commits. Here’s a table with some of the differences I found:

  GitHub Pages Cloudflare Pages
Git provider GitHub (claro) GitHub or GitLab
Private repositories Only with a Pro plan Yes
External domains Yes, managed somewhere else Yes, managed within Cloudflare
Free domain option Yes, .github.io Yes, .pages.dev
Supported frameworks Jekyll Many (React, Vue, Hugo, Jekyll,…)


When it comes to “builds” (converting the text documents into an actual website), GitHub can handle that automatically using GitHub Actions (which are free for public projects or with the 2000/3000 monthly minutes included in Free/Pro plans for private repos). Or you can let Cloudflare Pages handle the conversion, with the 500 monthly builds that are included for free.

You can check out more details on pricing and limits for Cloudflare Pages, or the limits on the free use GitHub Actions depending on your plan.

TLDR;

  • You already use GitHub and you want to set up a simple online presence for free. You are comfortable using a github.io domain and a public repository for your website → GitHub Pages.
  • You have your own domain, and you want to manage it in a single place. You want to use a private repo, or another framework besides Jekyll → Cloudflare Pages.

I went for the second option, and I’m using a Jekyll theme based on multi-language-al-folio. This is also something I’ll probably come back to on a future post.

What for?

In the end, I wanted a page on the Internet where I could share some technical content (snippets of code, tips, tutorials) but also one that I could use for personal, not-so-technical posts in a blog style (random thoughts, interesting facts, etc.).

All of this without being “locked” to a specific platform or social network. And without forcing potential readers to create an account to get access to content.

If you are interested in this type of content, stay tuned. If you have any question in specific, you can find my contact information in the home page.