Skip to content
My personal blog. Based on ASP.NET Core, MySQL, Bootstrap
C# HTML CSS Batchfile Shell PowerShell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Developed for my personal blog (and as a practice). Deployed at

Based on ASP.NET Core, MySQL, Bootstrap


  • Markdown based article editing and comments. Frontend render using remarkable at editing time, Backend render using markdig after published
  • Use HtmlSanitizer. Cleans HTML to avoid XSS attacks.
  • Role based authorization, based on ASP.NET Core Identity
  • Login using QQ and GitHub OAuth.
  • Tree based article category
  • Code highlight with highlight.js
  • Ability to find uploaded but unused image
  • Mobile frendly (responsive)

Currently, it is lack of paging. I may add this once I got more article.


  • Install MySQL
  • Open solution with Visual Studio
  • Configure OAuth:
    • right click MyBlog project,click Manage User secrets,输入相关信息,如:
        "Authentication": {
          "QQ": {
            "AppId": "101xxxx9",
            "AppKey": "xxxxxxxxxxxxx"
          "GitHub": {
            "ClientID": "3b0xxxxxxx66",
            "ClientSecret": "xxxxxxxxxxxxxxxxxxx"
    • Or,delete AddQQ/AddGitHub in Startup.cs file.
  • Config Database connection: edit appsettings.json,Update ConnectionStrings.DefaultConnection with your MySQL connection string.


OAuth configure and database connection string should be write to appsettings.Production.json file on server.

Build process I'm using:

dotnet publish --configuration Release --output ...

Run with:

dotnet MyBlog.dll

For more information, refer to

You can’t perform that action at this time.