Blog module

Blog module is based on markdown model just like Documentation module; all contents are stored in wwwroot/blogs folder. Blog index are stored in wwwroot/blogs.json

There is no Web UI for writing blog, I use my favorite code editor (VS Code) to write blog for ShipFast-ASP.NET Blazor app. Then, ship blog content to production just like shipping code; that make me feel like it is a productive day; at least I shipped something at the end of the day, right! :D

Blog Content structure

Inside blogs folder, content are classified by sub-folder. The name of sub-folder should be lower case, it is used as category Id. Below is example blog post json:

[
  {
    "CategoryId": "startup",
    "Id": "learn-fast-ship-fast-important-key-for-startup",
    "Title": "Launch Fast, Learn Faster: Why Speed is Key for Startups",
    "Date": "February 29, 2024",
    "Summary": "Blog summary is displayed on front page",
    "ContentPath": "/blogs/startup/learn-fast-ship-fast-important-key-for-startup.md"
  }
]

Some important keys to know:

  • CategoryId: is folder name and also to make up post URL => /blogs/[categoryId]/[postId]
  • Id: post Id is part of the full URL of the blog post
  • ContentPath: is used for reading markdown content from hard drive. This file path need some change when running on Windows machine.