using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using YaeBlog.Core.Models; using YaeBlog.Core.Processors; using YaeBlog.Core.Services; namespace YaeBlog.Core.Extensions; public static class WebApplicationBuilderExtensions { public static WebApplicationBuilder AddYaeBlog(this WebApplicationBuilder builder) { builder.Services.Configure(builder.Configuration.GetSection(BlogOptions.OptionName)); builder.Services.AddHttpClient(); builder.Services.AddMarkdig(); builder.Services.AddYamlParser(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddTransient(); builder.Services.AddTransient(provider => provider.GetRequiredService>().Value); builder.Services.AddHostedService(); return builder; } }