-
Notifications
You must be signed in to change notification settings - Fork 63
Expand file tree
/
Copy pathStartupExtensions.cs
More file actions
38 lines (30 loc) · 1.72 KB
/
StartupExtensions.cs
File metadata and controls
38 lines (30 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using cloudscribe.SimpleContent.ContentTemplates.Bootstrap5;
using cloudscribe.SimpleContent.ContentTemplates.Configuration;
using cloudscribe.SimpleContent.ContentTemplates.Services;
using cloudscribe.SimpleContent.Models;
using cloudscribe.Versioning;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection.Extensions;
namespace Microsoft.Extensions.DependencyInjection
{
public static class StartupExtensions
{
public static IServiceCollection AddContentTemplatesForSimpleContent(
this IServiceCollection services,
IConfiguration configuration
)
{
services.AddSingleton<IContentTemplateProvider, ContentTemplateProvider>();
services.Configure<GalleryOptions>(configuration.GetSection("ContentTemplateSettings:GalleryOptions"));
services.TryAddScoped<IGalleryOptionsProvider, ConfigGalleryOptionsProvider>();
services.Configure<LinkListOptions>(configuration.GetSection("ContentTemplateSettings:LinkListOptions"));
services.TryAddScoped<ILinkListOptionsProvider, ConfigLinkListOptionsProvider>();
services.Configure<ColumnTemplateOptions>(configuration.GetSection("ContentTemplateSettings:ColumnTemplateOptions"));
services.TryAddScoped<IColumnTemplateOptionsProvider, ConfigColumnTemplateOptionsProvider>();
services.Configure<ImageWithContentOptions>(configuration.GetSection("ContentTemplateSettings:ImageWithContentOptions"));
services.TryAddScoped<IImageWithContentOptionsProvider, ConfigImageWithContentOptionsProvider>();
services.AddScoped<IVersionProvider, VersionProvider>();
return services;
}
}
}