refact: add YaeBlog.Abstractions project.

Signed-off-by: jackfiled <xcrenchangjun@outlook.com>
This commit is contained in:
2026-03-14 22:24:08 +08:00
parent 6733bbbd2a
commit 939f2373e8
43 changed files with 70 additions and 59 deletions

View File

@@ -12,6 +12,7 @@
<File Path="README.md" /> <File Path="README.md" />
</Folder> </Folder>
<Folder Name="/src/"> <Folder Name="/src/">
<Project Path="src/YaeBlog.Abstractions/YaeBlog.Abstractions.csproj" />
<Project Path="src/YaeBlog.Tests/YaeBlog.Tests.csproj" /> <Project Path="src/YaeBlog.Tests/YaeBlog.Tests.csproj" />
<Project Path="src/YaeBlog/YaeBlog.csproj" /> <Project Path="src/YaeBlog/YaeBlog.csproj" />
</Folder> </Folder>

View File

@@ -1,7 +1,7 @@
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Abstraction; namespace YaeBlog.Abstractions;
public interface IEssayContentService public interface IEssayContentService
{ {

View File

@@ -1,6 +1,6 @@
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Abstraction; namespace YaeBlog.Abstractions;
public interface IEssayScanService public interface IEssayScanService
{ {

View File

@@ -1,6 +1,6 @@
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Abstraction; namespace YaeBlog.Abstractions;
public interface IPostRenderProcessor public interface IPostRenderProcessor
{ {

View File

@@ -1,6 +1,6 @@
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Abstraction; namespace YaeBlog.Abstractions;
public interface IPreRenderProcessor public interface IPreRenderProcessor
{ {

View File

@@ -1,4 +1,4 @@
namespace YaeBlog.Models; namespace YaeBlog.Abstractions.Models;
/// <summary> /// <summary>
/// 单个博客文件的所有数据和元数据 /// 单个博客文件的所有数据和元数据

View File

@@ -1,7 +1,7 @@
using System.Collections; using System.Collections;
using System.Collections.Concurrent; using System.Collections.Concurrent;
namespace YaeBlog.Models; namespace YaeBlog.Abstractions.Models;
public record BlogContents(ConcurrentBag<BlogContent> Drafts, ConcurrentBag<BlogContent> Posts) public record BlogContents(ConcurrentBag<BlogContent> Drafts, ConcurrentBag<BlogContent> Posts)
: IEnumerable<BlogContent> : IEnumerable<BlogContent>

View File

@@ -1,4 +1,4 @@
namespace YaeBlog.Models; namespace YaeBlog.Abstractions.Models;
public record BlogEssay( public record BlogEssay(
string Title, string Title,

View File

@@ -1,4 +1,4 @@
namespace YaeBlog.Models; namespace YaeBlog.Abstractions.Models;
public class BlogHeadline(string title, string selectorId) public class BlogHeadline(string title, string selectorId)
{ {

View File

@@ -1,6 +1,6 @@
using System.Text; using System.Text;
namespace YaeBlog.Models; namespace YaeBlog.Abstractions.Models;
public record BlogImageInfo(FileInfo File, long Width, long Height, string MineType, byte[] Content, bool IsUsed) public record BlogImageInfo(FileInfo File, long Width, long Height, string MineType, byte[] Content, bool IsUsed)
: IComparable<BlogImageInfo> : IComparable<BlogImageInfo>

View File

@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace YaeBlog.Models; namespace YaeBlog.Abstractions.Models;
/// <summary> /// <summary>
/// 友链模型类 /// 友链模型类

View File

@@ -1,6 +1,6 @@
using System.Text.Encodings.Web; using System.Text.Encodings.Web;
namespace YaeBlog.Models; namespace YaeBlog.Abstractions.Models;
public class EssayTag(string tagName) : IEquatable<EssayTag> public class EssayTag(string tagName) : IEquatable<EssayTag>
{ {

View File

@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace YaeBlog.Models; namespace YaeBlog.Abstractions.Models;
public class GiteaOptions public class GiteaOptions
{ {

View File

@@ -1,4 +1,4 @@
namespace YaeBlog.Models; namespace YaeBlog.Abstractions.Models;
public record GitContributionItem(DateOnly Time, long ContributionCount); public record GitContributionItem(DateOnly Time, long ContributionCount);

View File

@@ -1,4 +1,4 @@
namespace YaeBlog.Models; namespace YaeBlog.Abstractions.Models;
public class MarkdownMetadata public class MarkdownMetadata
{ {

View File

@@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -1,7 +1,7 @@
using DotNext; using DotNext;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Moq; using Moq;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
using YaeBlog.Services; using YaeBlog.Services;
namespace YaeBlog.Tests; namespace YaeBlog.Tests;

View File

@@ -1,6 +1,6 @@
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Moq; using Moq;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Tests; namespace YaeBlog.Tests;

View File

@@ -1,6 +1,6 @@
@using Microsoft.Extensions.Options @using Microsoft.Extensions.Options
@using YaeBlog.Abstraction @using YaeBlog.Abstractions
@using YaeBlog.Models @using YaeBlog.Abstractions.Models
@inject IEssayContentService Contents @inject IEssayContentService Contents
@inject IOptions<BlogOptions> Options @inject IOptions<BlogOptions> Options

View File

@@ -1,5 +1,5 @@
@using System.Text.Encodings.Web @using System.Text.Encodings.Web
@using YaeBlog.Models @using YaeBlog.Abstractions.Models
<div class="flex flex-col p-3"> <div class="flex flex-col p-3">
<div class="text-3xl font-bold py-2"> <div class="text-3xl font-bold py-2">

View File

@@ -1,4 +1,4 @@
@using YaeBlog.Models @using YaeBlog.Abstractions.Models
@using YaeBlog.Services @using YaeBlog.Services
@inject GitHeapMapService GitHeapMapInstance @inject GitHeapMapService GitHeapMapInstance

View File

@@ -1,6 +1,6 @@
@page "/blog/archives" @page "/blog/archives"
@using YaeBlog.Abstraction @using YaeBlog.Abstractions
@using YaeBlog.Models @using YaeBlog.Abstractions.Models
@inject IEssayContentService Contents @inject IEssayContentService Contents

View File

@@ -1,6 +1,6 @@
@page "/blog" @page "/blog"
@using YaeBlog.Abstraction @using YaeBlog.Abstractions
@using YaeBlog.Models @using YaeBlog.Abstractions.Models
@inject IEssayContentService Contents @inject IEssayContentService Contents
@inject NavigationManager NavigationInstance @inject NavigationManager NavigationInstance

View File

@@ -1,7 +1,7 @@
@page "/blog/essays/{BlogKey}" @page "/blog/essays/{BlogKey}"
@using System.Text.Encodings.Web @using System.Text.Encodings.Web
@using YaeBlog.Abstraction @using YaeBlog.Abstractions
@using YaeBlog.Models @using YaeBlog.Abstractions.Models
@inject IEssayContentService Contents @inject IEssayContentService Contents
@inject NavigationManager NavigationInstance @inject NavigationManager NavigationInstance

View File

@@ -1,6 +1,6 @@
@page "/friends" @page "/friends"
@using Microsoft.Extensions.Options @using Microsoft.Extensions.Options
@using YaeBlog.Models @using YaeBlog.Abstractions.Models
@inject IOptions<BlogOptions> BlogOptionInstance @inject IOptions<BlogOptions> BlogOptionInstance
<PageTitle> <PageTitle>

View File

@@ -1,6 +1,6 @@
@page "/" @page "/"
@using YaeBlog.Abstraction @using YaeBlog.Abstractions
@using YaeBlog.Models @using YaeBlog.Abstractions.Models
@inject IEssayContentService EssayContentInstance @inject IEssayContentService EssayContentInstance
<PageTitle> <PageTitle>

View File

@@ -1,7 +1,7 @@
@page "/blog/tags/" @page "/blog/tags/"
@using System.Text.Encodings.Web @using System.Text.Encodings.Web
@using YaeBlog.Abstraction @using YaeBlog.Abstractions
@using YaeBlog.Models @using YaeBlog.Abstractions.Models
@inject IEssayContentService Contents @inject IEssayContentService Contents
@inject NavigationManager NavigationInstance @inject NavigationManager NavigationInstance

View File

@@ -1,8 +1,8 @@
using AngleSharp; using AngleSharp;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
using YaeBlog.Services; using YaeBlog.Services;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
using YaeBlog.Processors; using YaeBlog.Processors;
namespace YaeBlog.Extensions; namespace YaeBlog.Extensions;

View File

@@ -1,4 +1,4 @@
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
using YaeBlog.Processors; using YaeBlog.Processors;
using YaeBlog.Services; using YaeBlog.Services;

View File

@@ -1,8 +1,8 @@
using AngleSharp; using AngleSharp;
using AngleSharp.Dom; using AngleSharp.Dom;
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
using YaeBlog.Extensions; using YaeBlog.Extensions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Processors; namespace YaeBlog.Processors;

View File

@@ -1,7 +1,7 @@
using AngleSharp; using AngleSharp;
using AngleSharp.Dom; using AngleSharp.Dom;
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Processors; namespace YaeBlog.Processors;

View File

@@ -1,9 +1,9 @@
using AngleSharp; using AngleSharp;
using AngleSharp.Dom; using AngleSharp.Dom;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
using YaeBlog.Core.Exceptions; using YaeBlog.Core.Exceptions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Processors; namespace YaeBlog.Processors;

View File

@@ -1,5 +1,5 @@
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Services; namespace YaeBlog.Services;

View File

@@ -1,4 +1,4 @@
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
namespace YaeBlog.Services; namespace YaeBlog.Services;

View File

@@ -1,7 +1,7 @@
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Services; namespace YaeBlog.Services;

View File

@@ -3,9 +3,9 @@ using System.Text.RegularExpressions;
using Imageflow.Bindings; using Imageflow.Bindings;
using Imageflow.Fluent; using Imageflow.Fluent;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
using YaeBlog.Core.Exceptions; using YaeBlog.Core.Exceptions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
using YamlDotNet.Core; using YamlDotNet.Core;
using YamlDotNet.Serialization; using YamlDotNet.Serialization;

View File

@@ -1,7 +1,7 @@
using DotNext; using DotNext;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using YaeBlog.Extensions; using YaeBlog.Extensions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Services; namespace YaeBlog.Services;

View File

@@ -3,7 +3,7 @@ using System.Text.Json;
using DotNext; using DotNext;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using YaeBlog.Core.Exceptions; using YaeBlog.Core.Exceptions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Services; namespace YaeBlog.Services;

View File

@@ -1,7 +1,7 @@
using Imageflow.Fluent; using Imageflow.Fluent;
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
using YaeBlog.Core.Exceptions; using YaeBlog.Core.Exceptions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Services; namespace YaeBlog.Services;

View File

@@ -1,5 +1,5 @@
using YaeBlog.Extensions; using YaeBlog.Extensions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Services namespace YaeBlog.Services
{ {

View File

@@ -3,9 +3,9 @@ using System.Diagnostics;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Markdig; using Markdig;
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
using YaeBlog.Core.Exceptions; using YaeBlog.Core.Exceptions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Services; namespace YaeBlog.Services;

View File

@@ -2,9 +2,9 @@
using System.CommandLine.Invocation; using System.CommandLine.Invocation;
using System.Text; using System.Text;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using YaeBlog.Abstraction; using YaeBlog.Abstractions;
using YaeBlog.Core.Exceptions; using YaeBlog.Core.Exceptions;
using YaeBlog.Models; using YaeBlog.Abstractions.Models;
namespace YaeBlog.Services; namespace YaeBlog.Services;

View File

@@ -13,6 +13,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="../../third-party/BlazorSvgComponents/src/BlazorSvgComponents/BlazorSvgComponents.csproj" /> <ProjectReference Include="../../third-party/BlazorSvgComponents/src/BlazorSvgComponents/BlazorSvgComponents.csproj" />
<ProjectReference Include="..\YaeBlog.Abstractions\YaeBlog.Abstractions.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>