From 02855b42dc479019c08b6ff5e31438bd42145a31 Mon Sep 17 00:00:00 2001 From: Taqi Date: Fri, 15 May 2026 22:12:19 +0330 Subject: [PATCH 01/16] Update to dotnet 10 --- BoneLog.sln | 15 +++++++++++++++ global.json | 2 +- src/BoneLog.Blazor/BoneLog.Blazor.csproj | 14 +++++++------- test/BoneLog.Tests/BoneLog.Tests.csproj | 15 +++++++++------ 4 files changed, 32 insertions(+), 14 deletions(-) diff --git a/BoneLog.sln b/BoneLog.sln index b69adf0..4dbd02a 100644 --- a/BoneLog.sln +++ b/BoneLog.sln @@ -11,6 +11,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{9C8CDFCA-7 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BoneLog.Tests", "test\BoneLog.Tests\BoneLog.Tests.csproj", "{ADC7FA48-B270-4B4F-8AC1-E1B885612536}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BoneLog", "src\BoneLog\BoneLog.csproj", "{339F10EE-430B-4B14-A2F0-582486225567}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -45,6 +47,18 @@ Global {ADC7FA48-B270-4B4F-8AC1-E1B885612536}.Release|x64.Build.0 = Release|Any CPU {ADC7FA48-B270-4B4F-8AC1-E1B885612536}.Release|x86.ActiveCfg = Release|Any CPU {ADC7FA48-B270-4B4F-8AC1-E1B885612536}.Release|x86.Build.0 = Release|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Debug|Any CPU.Build.0 = Debug|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Debug|x64.ActiveCfg = Debug|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Debug|x64.Build.0 = Debug|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Debug|x86.ActiveCfg = Debug|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Debug|x86.Build.0 = Debug|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Release|Any CPU.ActiveCfg = Release|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Release|Any CPU.Build.0 = Release|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Release|x64.ActiveCfg = Release|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Release|x64.Build.0 = Release|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Release|x86.ActiveCfg = Release|Any CPU + {339F10EE-430B-4B14-A2F0-582486225567}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -52,6 +66,7 @@ Global GlobalSection(NestedProjects) = preSolution {05399B60-9B81-411D-ADBA-C23B0F37E7FA} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} {ADC7FA48-B270-4B4F-8AC1-E1B885612536} = {9C8CDFCA-7503-4193-A32A-5AC7ED985175} + {339F10EE-430B-4B14-A2F0-582486225567} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {10272B7A-92FA-4BBD-A6B7-1E65BD5617B4} diff --git a/global.json b/global.json index f2f4b02..9769786 100644 --- a/global.json +++ b/global.json @@ -1,5 +1,5 @@ { "sdk": { - "version": "8.0.410" + "version": "10.0.300" } } diff --git a/src/BoneLog.Blazor/BoneLog.Blazor.csproj b/src/BoneLog.Blazor/BoneLog.Blazor.csproj index 2a00c2a..b20edf1 100644 --- a/src/BoneLog.Blazor/BoneLog.Blazor.csproj +++ b/src/BoneLog.Blazor/BoneLog.Blazor.csproj @@ -1,18 +1,18 @@  - net8.0 + net10.0 enable enable - - - - - - + + + + + + diff --git a/test/BoneLog.Tests/BoneLog.Tests.csproj b/test/BoneLog.Tests/BoneLog.Tests.csproj index 8422b99..7ce41ac 100644 --- a/test/BoneLog.Tests/BoneLog.Tests.csproj +++ b/test/BoneLog.Tests/BoneLog.Tests.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 false enable @@ -11,11 +11,14 @@ - - - - - + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + From 739c92f3d6d9ee99e646709af30e17005e7bed91 Mon Sep 17 00:00:00 2001 From: Taqi Date: Sat, 16 May 2026 12:28:25 +0330 Subject: [PATCH 02/16] full rewrite --- BoneLog.sln | 4 +- src/BoneLog.Blazor/BoneLog.Blazor.csproj | 4 + .../Components/PostPreview.razor | 49 +++--- src/BoneLog.Blazor/Dtos/AboutHeaderDto.cs | 8 - src/BoneLog.Blazor/Dtos/PostHeaderDto.cs | 9 - src/BoneLog.Blazor/Dtos/PostIndexDto.cs | 4 - src/BoneLog.Blazor/Dtos/SiteSettingsDto.cs | 6 - src/BoneLog.Blazor/Layout/Footer.razor | 22 +-- src/BoneLog.Blazor/Layout/Header.razor | 9 +- src/BoneLog.Blazor/Layout/NavMenu.razor | 7 +- src/BoneLog.Blazor/Pages/About.razor | 67 +++++--- src/BoneLog.Blazor/Pages/About.razor.cs | 43 ----- src/BoneLog.Blazor/Pages/CatchAll.razor | 28 +++- src/BoneLog.Blazor/Pages/CatchAll.razor.cs | 41 ----- src/BoneLog.Blazor/Pages/Home.razor | 81 +++++---- src/BoneLog.Blazor/Pages/Home.razor.cs | 155 +++++++++--------- src/BoneLog.Blazor/Pages/Post.razor | 45 ----- src/BoneLog.Blazor/Pages/Post.razor.cs | 44 ----- src/BoneLog.Blazor/Pages/PostPage.razor | 71 ++++++++ src/BoneLog.Blazor/Program.cs | 26 ++- .../Services/SiteSettingsService.cs | 24 --- src/BoneLog.Blazor/SiteConfig.cs | 15 ++ .../{Services => }/ThemeService.cs | 0 src/BoneLog.Blazor/_Imports.razor | 6 +- src/BoneLog.Blazor/wwwroot/config.json | 27 +++ .../wwwroot/data/{About.md => AboutMe.md} | 6 - .../wwwroot/data/site-settings.json | 19 --- src/BoneLog/Abstractions/IPostReader.cs | 10 ++ src/BoneLog/BoneLog.csproj | 14 ++ src/BoneLog/Models/Category.cs | 7 + src/BoneLog/Models/PathSettings.cs | 3 + src/BoneLog/Models/Post.cs | 18 ++ src/BoneLog/Models/PostIndex.cs | 15 ++ src/BoneLog/Services/PostReader.cs | 59 +++++++ .../Tools/MarkdownHelper.cs} | 12 +- test/BoneLog.Tests/BoneLog.Tests.csproj | 8 +- test/BoneLog.Tests/FileReaderHelperTests.cs | 16 +- 37 files changed, 510 insertions(+), 472 deletions(-) delete mode 100644 src/BoneLog.Blazor/Dtos/AboutHeaderDto.cs delete mode 100644 src/BoneLog.Blazor/Dtos/PostHeaderDto.cs delete mode 100644 src/BoneLog.Blazor/Dtos/PostIndexDto.cs delete mode 100644 src/BoneLog.Blazor/Dtos/SiteSettingsDto.cs delete mode 100644 src/BoneLog.Blazor/Pages/About.razor.cs delete mode 100644 src/BoneLog.Blazor/Pages/CatchAll.razor.cs delete mode 100644 src/BoneLog.Blazor/Pages/Post.razor delete mode 100644 src/BoneLog.Blazor/Pages/Post.razor.cs create mode 100644 src/BoneLog.Blazor/Pages/PostPage.razor delete mode 100644 src/BoneLog.Blazor/Services/SiteSettingsService.cs create mode 100644 src/BoneLog.Blazor/SiteConfig.cs rename src/BoneLog.Blazor/{Services => }/ThemeService.cs (100%) create mode 100644 src/BoneLog.Blazor/wwwroot/config.json rename src/BoneLog.Blazor/wwwroot/data/{About.md => AboutMe.md} (62%) delete mode 100644 src/BoneLog.Blazor/wwwroot/data/site-settings.json create mode 100644 src/BoneLog/Abstractions/IPostReader.cs create mode 100644 src/BoneLog/BoneLog.csproj create mode 100644 src/BoneLog/Models/Category.cs create mode 100644 src/BoneLog/Models/PathSettings.cs create mode 100644 src/BoneLog/Models/Post.cs create mode 100644 src/BoneLog/Models/PostIndex.cs create mode 100644 src/BoneLog/Services/PostReader.cs rename src/{BoneLog.Blazor/Utilites/FileReaderHelper.cs => BoneLog/Tools/MarkdownHelper.cs} (89%) diff --git a/BoneLog.sln b/BoneLog.sln index 4dbd02a..21d4803 100644 --- a/BoneLog.sln +++ b/BoneLog.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 +# Visual Studio Version 18 +VisualStudioVersion = 18.6.11806.211 stable MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}" EndProject diff --git a/src/BoneLog.Blazor/BoneLog.Blazor.csproj b/src/BoneLog.Blazor/BoneLog.Blazor.csproj index b20edf1..f14cff5 100644 --- a/src/BoneLog.Blazor/BoneLog.Blazor.csproj +++ b/src/BoneLog.Blazor/BoneLog.Blazor.csproj @@ -20,4 +20,8 @@ + + + + diff --git a/src/BoneLog.Blazor/Components/PostPreview.razor b/src/BoneLog.Blazor/Components/PostPreview.razor index abef523..596c270 100644 --- a/src/BoneLog.Blazor/Components/PostPreview.razor +++ b/src/BoneLog.Blazor/Components/PostPreview.razor @@ -1,27 +1,27 @@ 
- @if(ShowImage && !string.IsNullOrWhiteSpace(ThumbnailUrl)) + post-preview + flex flex-col md:flex-row @(ImageOnRight ? "md:flex-row-reverse" : "") + bg-white dark:bg-stone-950 + rounded-xl overflow-hidden + transition-all duration-300 ease-in-out + hover:shadow-lg shadow-indigo-900/50 + shadow-sm hover:shadow-indigo-900/50 + hover:-translate-y-1 + "> + @if (ShowImage && !string.IsNullOrWhiteSpace(ThumbnailUrl)) {
Post thumbnail + w-full h-full object-cover + md:rounded-none + " />
}
@@ -50,10 +53,10 @@ @code { [Parameter] public string Title { get; set; } = string.Empty; [Parameter] public string Description { get; set; } = string.Empty; - [Parameter] public string Url { get; set; } = "#"; + [Parameter] public string Path { get; set; } = "#"; [Parameter] public string? ThumbnailUrl { get; set; } - [Parameter] public List? Tags { get; set; } - [Parameter] public DateTime PublishDate { get; set; } = DateTime.UtcNow; + [Parameter] public string[]? Tags { get; set; } + [Parameter] public DateTime? PublishDate { get; set; }; [Parameter] public bool ImageOnRight { get; set; } = true; private bool ShowImage = true; diff --git a/src/BoneLog.Blazor/Dtos/AboutHeaderDto.cs b/src/BoneLog.Blazor/Dtos/AboutHeaderDto.cs deleted file mode 100644 index 9502aa9..0000000 --- a/src/BoneLog.Blazor/Dtos/AboutHeaderDto.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace BoneLog.Blazor.Dtos; - -public record class AboutHeaderDto -{ - public string Name { get; init; } = null!; - public string? Headline { get; init; } - public string? Avatar { get; init; } -} diff --git a/src/BoneLog.Blazor/Dtos/PostHeaderDto.cs b/src/BoneLog.Blazor/Dtos/PostHeaderDto.cs deleted file mode 100644 index 82d6594..0000000 --- a/src/BoneLog.Blazor/Dtos/PostHeaderDto.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace BoneLog.Blazor.Dtos; - -public record class PostHeaderDto -{ - public string Title { get; init; } = null!; - public string Date { get; init; } = null!; - public List? Tags { get; init; } - public string? Cover { get; init; } -} diff --git a/src/BoneLog.Blazor/Dtos/PostIndexDto.cs b/src/BoneLog.Blazor/Dtos/PostIndexDto.cs deleted file mode 100644 index 0811375..0000000 --- a/src/BoneLog.Blazor/Dtos/PostIndexDto.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace BoneLog.Blazor.Dtos; - -public record PostIndexDto(string Title,string FileName,DateTime Date,string[] Tags,string ShortDescription,string Thumbnail); - diff --git a/src/BoneLog.Blazor/Dtos/SiteSettingsDto.cs b/src/BoneLog.Blazor/Dtos/SiteSettingsDto.cs deleted file mode 100644 index 0133dc6..0000000 --- a/src/BoneLog.Blazor/Dtos/SiteSettingsDto.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace BoneLog.Blazor.Dtos; - - -public record NavItemDto(string Title,string Url); -public record SocialLinkDto(string Url,string IconClass); -public record SiteSettingsDto(string Title,List? NavItems,List? SocialLinks); diff --git a/src/BoneLog.Blazor/Layout/Footer.razor b/src/BoneLog.Blazor/Layout/Footer.razor index 5f88174..7b7b778 100644 --- a/src/BoneLog.Blazor/Layout/Footer.razor +++ b/src/BoneLog.Blazor/Layout/Footer.razor @@ -1,14 +1,12 @@ -@using BoneLog.Blazor.Components -@using BoneLog.Blazor.Dtos -@using System.Text.Json +@using BoneLog.Blazor.Dtos @inject HttpClient Http -@inject SiteSettingsService SiteSettings +@inject SiteConfig Config - - - - -@code { - protected override async Task OnInitializedAsync() - { - await SiteSettings.LoadAsync(); - } -} + \ No newline at end of file diff --git a/src/BoneLog.Blazor/Layout/Header.razor b/src/BoneLog.Blazor/Layout/Header.razor index 9c3ff40..9d8c010 100644 --- a/src/BoneLog.Blazor/Layout/Header.razor +++ b/src/BoneLog.Blazor/Layout/Header.razor @@ -1,14 +1,14 @@ @using BoneLog.Blazor.Components @inject HttpClient Http @inject NavigationManager Nav -@inject SiteSettingsService siteSettings; +@inject SiteConfig Config;
@@ -34,10 +34,5 @@ private bool menuOpen = false; private void ToggleMenu() => menuOpen = !menuOpen; - - protected override async Task OnInitializedAsync() - { - await siteSettings.LoadAsync(); - } } diff --git a/src/BoneLog.Blazor/Layout/NavMenu.razor b/src/BoneLog.Blazor/Layout/NavMenu.razor index d1bc7db..23b72da 100644 --- a/src/BoneLog.Blazor/Layout/NavMenu.razor +++ b/src/BoneLog.Blazor/Layout/NavMenu.razor @@ -1,16 +1,15 @@ @using BoneLog.Blazor.Dtos -@using System.Text.Json @inject HttpClient Http -@inject SiteSettingsService siteSettings +@inject SiteConfig Config