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.