public void ConfigureMetadata(IDocumentMetadataCollection metadataCollection) { if (_seoConfig == null) { return; } metadataCollection.AddDefault() .Base("~/") .Charset("utf-8") .Viewport("width=device-width, initial-scale=1.0"); if (_seoConfig.RootDemoPages != null) { foreach (var page in _seoConfig.RootDemoPages) { ConfigurePage(metadataCollection, page, page.Title, _seoConfig.TitleFormat ?? "{0}"); } } }
static void ConfigurePage(IDocumentMetadataCollection metadataCollection, DemoPage page, string title, string titleFormat) { if (page.Url != null) { metadataCollection.AddPage(page.Url) .OpenGraph("url", page.OG_Url) .OpenGraph("type", page.OG_Type) .OpenGraph("title", page.OG_Title) .OpenGraph("description", page.OG_Description) .OpenGraph("image", page.OG_Image) .Title(string.Format(titleFormat, title)) .Meta("description", page.Description); } if (page.DemoPages != null) { foreach (var demoPage in page.DemoPages) { ConfigurePage(metadataCollection, demoPage, string.Join('-', title, demoPage.Title), titleFormat); } } }
static void ConfigureMetadata(IServiceProvider sp, IDocumentMetadataCollection metadataCollection) { sp.GetService <DemoConfiguration>().ConfigureMetadata(metadataCollection); }
internal void Initialize(IServiceProvider serviceProvider, IDocumentMetadataCollection registrator) { _initialize?.Invoke(serviceProvider, registrator); }