Open Source Projects and Contributions

Contributing to open-source projects is the most fun hobby. You get to make your own experience of using the software more enjoyable, as well as having other people appreciate your contributions.

Diving into a new codebase can be a real challenge sometimes, you get to discover different patterns, how people think about structuring their projects. Which is why it feels so rewarding to make your first pull request. I always come out of it having learned a thing or two and I love it.

Helix #

I love and use Helix as my primary editor for everything. It is extremely powerful and comes with everything you need built-in. A breath of fresh air for someone who surely spent too much time configuring their NeoVim, and now I use that time to contribute to Helix instead:

Patchy #

I built a command line tool that makes it easy to declaratively configure personal forks of repositories.

Say I want to use the Helix editor but also use features from certain pull requests like #12309, #12285, #8908 and #11164.

I want to keep my branch and those merged PRs up to date aswell, easily add and remove pull requests.

With patchy, doing that is really easy and automated. So with this config:

repo = "helix-editor/helix"
remote-branch = "master"
local-branch = "patchy"
pull-requests = [
  "12309",
  "11285",
  "8908",
  "11164"
]

Then just running a single command:

patchy run

Will “build” a new branch that contains the up-to-date clone with all the merged pull requests.

Link: patchy

Semantic Blockquotes Plugin #

There is a certain correct way to @mention an author of a quote when using the <blockquote> HTML element. Unfortunately, it involves quite a lot of boilerplate and a lot of people don’t know about it.

That’s why I created rehype-semantic-blockquotes, which operates on the HTML syntax tree to transform the following markdown:

> We cannot solve our problems with the same thinking we used when we created them.
>
> @ Albert Einstein

Into the following HTML:

<figure data-blockquote-container="">
  <blockquote data-blockquote-content="">
    <p>
      We cannot solve our problems with the same thinking we used when we
      created them.
    </p>
  </blockquote>
  <figcaption data-blockquote-credit="">
    <p>Albert Einstein</p>
  </figcaption>
</figure>

Link: rehype-semantic-blockquotes

Odin Project #

The Odin Project is an open-source curriculum for learning web development which is focusing on building projects. Unlike most other courses I tried which were about following a tutorial.

That’s what got me hooked on programming. When a challenge is presented in front of you and you are challenged with a task to overcome it.

I also made my first open-source contributions here. While I was completing this course, I made several contributions by writing new content, improving material and more. Some examples:

Contributing to the Odin Project was an extremely valuable experience. It made me a better technical writer.

Catppuccin #

I’m an avid user of the Catppuccin color theme and I love it. They have ports for hundreds of apps and sites, some of which I personally themed as well:

  • Slidev – a presentation tool for developers.
  • Nushell – a modern shell.
  • Docsify – instant documentation website generator from READMEs with no build step required.