DEV Community

Cover image for Draft: Using DEV.to as CMS for my blog
João Alberto
João Alberto

Posted on

Draft: Using DEV.to as CMS for my blog

Hello everyone, welcome to my blog, this is my first post in a language that are not my mother language and I'm really excited to start this.

First of all, thanks for your time and I hope you enjoy my content.

Before we start

First things first! I decided to create a blog using Dev.to as CMS because I tried everything in the past, believe me, everything, from markdown files to some more complex CMS system like Sanity.

Each options has good and bad points, let me explain why not choose them:

  • Using markdown files is a good option, it's really simple and just works, but I don't like the idea to commit and push manually to update my blog, it should be automatic;

  • Sanity is nice, but is too much for small projects, it's like use a sledgehammer to crack a nut.

  • I even tried to use Notion as CMS and at the first moment it looks nice, but when you try to traverse the Notion api response you see the horror. When you realize you are writing things like this and this.

After a lot of tries with a vary of tools and some POCs I decided that my choice should be based in some points:

  • Automatic update: I want to publish with one click.
  • Simple api: I don't want to read five pages of docs just to render one string.
  • Easy to replace: If the tool don't feel the right one for the job I want to replace them fast.

With this in mind I tried two platforms, Hashnode and Dev.to.

I know that both of them has public API's and a great and easy to use interface to publish new content.
Unfortunately Hashnode does not provide what I need in the API, you can check here.

So, I came to Dev.to API and voilà, everything I need (List publications and publication details) with a simple response, Json and Markdown.

This is what I'm looking for.

Getting started

Once the content platform was chosen I could start working on the code.

My stack for this project is Typescript, Remix, Vercel, Stitches for styling and Radix for some components.

I'll not cover all aspects of the project setup because is very simple and is better to read from the Remix.run documentation.

Top comments (0)