feat: 美化文章界面 (#3)
All checks were successful
Build blog docker image / Build-Blog-Image (push) Successful in 3m57s

Reviewed-on: #3
This commit is contained in:
2024-07-29 22:32:26 +08:00
parent ca4f6449d3
commit a483ddc671
62 changed files with 771 additions and 388 deletions

View File

@@ -12,6 +12,8 @@ public class BlogEssay : IComparable<BlogEssay>
public required uint WordCount { get; init; }
public required string ReadTime { get; init; }
public List<string> Tags { get; } = [];
public required string HtmlContent { get; init; }
@@ -25,6 +27,7 @@ public class BlogEssay : IComparable<BlogEssay>
PublishTime = PublishTime,
Description = Description,
WordCount = WordCount,
ReadTime = ReadTime,
HtmlContent = newHtmlContent
};
essay.Tags.AddRange(Tags);

View File

@@ -0,0 +1,10 @@
namespace YaeBlog.Core.Models;
public class BlogHeadline(string title, string selectorId)
{
public string Title { get; } = title;
public string SelectorId { get; set; } = selectorId;
public List<BlogHeadline> Children { get; } = [];
}

View File

@@ -10,10 +10,8 @@ public class BlogOptions
public required string Root { get; set; }
/// <summary>
/// 博客作者
/// 博客正文的广而告之
/// </summary>
public required string Author { get; set; }
public required string Announcement { get; set; }
/// <summary>
@@ -22,21 +20,7 @@ public class BlogOptions
public required int StartYear { get; set; }
/// <summary>
/// 博客起始页面的背景图片
/// 博客的友链
/// </summary>
public required string BannerImage { get; set; }
/// <summary>
/// 文章页面的背景图片
/// </summary>
public required string EssayImage { get; set; }
/// <summary>
/// 博客底部是否显示ICP备案信息
/// </summary>
public string? RegisterInformation { get; set; }
public required AboutInfo About { get; set; }
public required List<FriendLink> Links { get; set; }
}

View File

@@ -0,0 +1,16 @@
using System.Text.Encodings.Web;
namespace YaeBlog.Core.Models;
public class EssayTag(string tagName) : IEquatable<EssayTag>
{
public string TagName { get; } = tagName;
public string UrlEncodedTagName { get; } = UrlEncoder.Default.Encode(tagName);
public bool Equals(EssayTag? other) => other is not null && TagName == other.TagName;
public override bool Equals(object? obj) => obj is EssayTag other && Equals(other);
public override int GetHashCode() => TagName.GetHashCode();
}