Back to News for Developers

Docusaurus: A Contributor’s Story with Steven Hansel

The “Contributor’s Story” series is intended to provide a face and voice to our major open source contributors and community members, an overview of the projects they are working on, and the successes and challenges contributors face when developing.

In this blog post, we will be talking to Steven, a Docusaurus contributor working on the Docusaurus CLI through the Major League Hacking (MLH) Fellowship.

“I want to learn how to contribute to the open source community by creating impactful projects.”

Tell us a little bit about yourself and your current experience in the MLH Fellowship.

I'm an aspiring software engineer who is currently studying Computer Engineering at Bina Nusantara University. I've always been passionate about software development, and I really enjoy coding. I like that when you are developing software there are an infinite amount of things that you can learn. Personally, I really like being challenged to adapt and learn new stuff on the go.

Lately, I've been developing with JavaScript/TypeScript for about a year and it has been a fantastic journey as the community is really helpful and supportive. Through that community, I have been able to find various opportunities like internships and hackathons, which have ultimately led me to MLH Fellowship. I applied to the Open Source Track, because it was one of my goals to make contributions in the open source space, and contribute to project and community health.

Where did you first learn about open source? How did you get started using/contributing?

I learned open source for the first time when I was learning JavaScript & Node.js, where I was introduced to NPM packages. From there I learned that all the libraries, frameworks, and programming languages that the community is familiar with are made possible by the voluntary contributions of other developers. That's when I realized that open source plays a really big role in the software world.

I think it's really beautiful that random developers come into your project and then make small to impactful contributions. For me personally, I like knowing that my contributions benefit the future open source community.

Prior to the Fellowship, I was trying to contribute into open source, but felt that my skill wasn't enough. After joining the MLH Fellowship, with the help of my technical mentor and the project maintainers, I have managed to pick up my pace and learned how to introduce myself into a new open source project.

Describe the project you are currently working on.

I'm currently working with the Docusaurus project at the MLH Fellowship, which is a library to build technical documentation and content blazingly fast. The main incentive of Docusaurus is that you are able to more quickly focus on the content instead of the code. Usually, with other frontend libraries/frameworks you have to consider a lot of foundational elements like styling, data fetching, and other things before publishing your site or content. Docusaurus eliminates that by giving you lots of buildable, customizable features that are very usable and to allow yourself to build your own content quickly.

How did you initially go about tackling the issue?

Initially, I was assigned to an issue where I had to refactor the starter template for the v2 Docusaurus CLI, because the starter template doesn't really represent real-world documentation. It was difficult for me at first, because I was new to the Docusaurus project and I didn't know how to navigate around the humongous project on my own. But with the support of the technical mentor and the project maintainers, I was able to come up with a solution and opened my first pull request to the project.

What roadblocks or problems have you faced thus far in your contribution?

Time management is definitely a big issue for me because I was trying to balance between university work and open source work. This balance though definitely helped me to force myself to learn about how to manage my time better. Other than that, I think my lack of knowledge with the Docusaurus architecture definitely slowed me down at first, but it is a skill that transcends projects. This takes time, but for people just getting started in open source, I recommend first getting familiar with the jargon within the project so you can identify aspects of the code quickly.

What is the current status of development?

The community and project are really active. Docusaurus just released v2, so the expectation is that there will be many comments, feature requests, and issues to be fixed as the community adopts the new version.

What have you learned about the project, development, or open source thus far?

The most important thing that I learned from the Fellowship, the open source project maintainers, and Docusaurus community, is that I can contribute to open source and be confident with my skills as a software engineer/developer. Personally, I think it's challenging to express your thoughts that could be a pseudocode, an algorithm, or anything else (especially remotely), alongside getting over the fear that my solution wouldn't work. But, I learned a very important thing when I was contributing to Docusaurus, and that thing is that what matters is that you've tried your best to resolve the issue. Yes, maybe the code is ugly, maybe the solution is not optimal, but what matters is that we already tried our best and we can always work together to improve the solution further.

What advice would you give future contributors to the open source project?

Play around with Docusaurus more, try a personal project with Docusaurus, for example building your own personal site/blog or something similar. By using and understanding the open source project you are interested in, you’ll be a part of the community and be more motivated to contribute to the project.

We’d like to thank Steven for their continuous contributions to the Facebook Open Source ecosystem. You can follow Steven’s work through GitHub.

If you’d like to learn more about Facebook Open Source, follow us on Twitter, Facebook, and YouTube for relevant updates, and check out the Docusaurus website, Twitter and GitHub for how to get started.