Starting a new blogging journey with Docusaurus
Tags: webdev, typescript, opensource, programming
Published: 2022-11-29 17:38:43

For a really looooong time I wanted to start blogging. I had something in my heart that just kept pounding and I just didn't do anything with it. 

About more than a year ago I watched a video of [Ali Abdaal](https://www.youtube.com/@aliabdaal) - [How Writing Online Made me a Millionaire](https://www.youtube.com/watch?v=vyVpRiqOvt4) and he recommended a book that's called [Show Your Work!](https://www.bookdepository.com/Show-Your-Work-Austin-Kleon/9780761178972?ref=grid-view&qid=1669199888199&sr=1-1) by [Austin Kleon](https://austinkleon.com/) and I immediately ordered it. Once I read it, all I wanted to do is to start blogging and sharing my knowledge and creating a small community. But as I said earlier, I just didn't do anything with it.

And **now** it's the time! Actually, 3 weeks ago I started blogging and I uploaded my [first blog](https://dev.to/seanyasno/how-to-structure-react-project-files-31dg) (I also post these blogs on medium) and I just fell in love with writing blogs. So now every Tuesday I'm going to upload a new blog.

I got a new plan and my plan is to create a new website under my own custom domain and upload all my blogs and my portfolio to that website. And to build that website I chose [Docusaurus](https://docusaurus.io/).

## 🦖 What is actually Docusaurus?
Basically it's a template website project created by Facebook in React that supports markdown files to upload documents, blogs and more. It also supports localization so you can translate your website to multiple languages, has document versioning and content search throughout the website. Also it supports **dark mode** out the box!

If you look sometimes in some NPM packages docs website, it might came to your head that a lot of these website looks very similar, and one of the reason is that they might be using Docusaurus!

## ✍🏻 Why I chose Docusaurus to write blogs?
I've been a Full-Stack developer for the last couple years and one thing that I learnt as a Full-Stack developer is that to become a Senior you need to become a lazy developer. Let me explain.

Lazy developer is developer that uses the right tools to create something great in a short time without the need to write it by yourself from scratch. At the end you're being paid by your project quality and by time delivery, and if you can't deliver both, then you need to get better. 

So since I'm a lazy developer, I tried to find a tool that would help me to create a blogging website but still I would have the ability to customize and code the website. And Docusaurus answers it all!

- It has super responsive UI with mobile support
- It supports localization
- I can add blogs and portfolio and other pages
- I can create my own custom pages and components
- I can code it with React and TypeScript
- It supports dark mode

## 🏁 Let's get started!
So how do you exactly start a new Docusaurus project? The answer is - with one line of code:

```bash
npx create-docusaurus@latest my-website classic --typescript
```

Since I'm using **TypeScript** (and you should too) I added the `--typescript` flag but if from some reason you prefer to write in **JavaScript**, then you can omit `--typescript`.

After that you can start your new website by running:

```bash
npm run start
```

It will start your website and you can see it by going to the url `localhost:3000`. Then you will see your new homepage:

![New Docusaurus Home Page Template](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p5coasehozyvfjwjxclo.png)

## 🎯 My Current Plan
As I said in the beginning, I want to create a blogging website and also I want to upload my portfolio to that website too. So for now I made a little list to what I should do next:

- Change website theme
- Modify project configuration
- Work on custom Design and Layout
- Add a search bar
- Upload my first blog post
- Deploy site in Vercel
- Create an about page

As the project grows, new todos will be added to that list and I can't wait to see how it is going to be! 

I will continue updating you about this project and since it's going to be an open source project I'll share the link with you as soon as it goes live!

---

I hope you find this article useful and that you learn something new that you didn't know before. I'm more than happy to reply to any questions that you have on your mind :)