Replace file-based blog with API-backed service

BlogService now fetches from Media.JoshHeaps.Net API via HttpClient
with in-memory caching (5-min TTL) and stale cache fallback.
Removed Markdig/YamlDotNet dependencies. All page models now async.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
This commit is contained in:
Josh-Heaps
2026-03-06 15:33:51 -07:00
co-authored by Claude Opus 4.6
parent 5fd3a5d7c1
commit 8043eee4cc
21 changed files with 949 additions and 235 deletions
@@ -0,0 +1,10 @@
using JoshHeaps.Net.Models;
namespace JoshHeaps.Net.Services.Interfaces;
public interface IBlogService
{
Task<List<BlogPost>> GetAllPostsAsync();
Task<BlogPost?> GetPostBySlugAsync(string slug);
Task<List<BlogPost>> GetPostsByTagAsync(string tag);
}