Blog-Doc, The Simplest Node.js CMS & SSG !

This post is about turning Blog-Doc into a CMS and SSG.


After creating Blog-Doc as a static site generator, Deta got a major upgrade and every app running on Deta Cloud must migrate to Deta Space.
Deta Space comes supercharged with great features allowing developers to bring their ideas to live freely !
The philosophy of Deta Space, in short, is to give everyone a personal computer in the cloud where developers build apps that can be directly installed and used by anyone.
You can browse the available apps running on Deta Space by visiting the Discovery page.

New mindset

Since Blog-Doc had to be updated to be installable and usable on a personal cloud, the code had to be modified in a way allowing any user to make modifications from the app itself !
So, the user should be able to Create, Read, Update and Delete without accessing the source code !
I had to restructure the architecture of a SSG to a CMS, easier said than done !
But, Deta Space is so great that an application can have public routes available to everyone and private routes available to the app's user only !
My task was now to create a private administration to give the user the full control over Blog-Doc from the front-end !
My personal and mandatory requirement was to make an administration in the global spirit of Blog-Doc : SIMPLICITY !


From the beginning of the transformation, I didn't want to remove the fact that Blog-Doc can still be used as a Static Site Generator.
This is why, I refactored Blog-Doc's code in a way allowing to use the built in CMS to generate a static site out of the created content.
I'm not aware of a CMS that does it by default, and this is one of the great features of Blog-Doc !

Blog-Doc's Features

  • Administrate your app from the front-end !
  • Gallery to upload your images
  • Create, Read, Update & Delete your pages and posts
  • Paginated blog with chosen number of posts per page
  • Posts pagination to navigate between your posts
  • Write your content in Markdown
  • Ability to use HTML in Markdown
  • Tag(s) for posts
  • Featured image for pages & posts
  • Archive route for posts
  • Tags list route
  • Individual route for each tag
  • Titles & Meta Descriptions
  • Drag and drop your menu links to sort them
  • RSS feed
  • Sitemap
  • Search
  • Code highlighting with Prism
  • Ids for H2 till H4 in Markdown

You can read more about what Blog-Doc has to offer on it's documentation page.


I'll be maintaining and improving Blog-Doc in every possible aspect.
Stay tuned, next posts will be about how I coded Blog-Doc and how you can use it with your own design !

Nota-Bene : this site is build using Blog-Doc as a proof of concept that Blog-Doc can be adapted to any design !