public static ICollection <UIStylesheet> GetCustomStylesheets(this UIResource resource, Options options) { List <UIStylesheet> styleSheets = new List <UIStylesheet>(); if (!options.CustomStylesheets.Any()) { resource.Content = resource.Content.Replace(Keys.HEALTHCHECKSUI_STYLESHEETS_TARGET, string.Empty); return(styleSheets); } foreach (var stylesheet in options.CustomStylesheets) { styleSheets.Add(UIStylesheet.Create(options, stylesheet)); } var htmlStyles = styleSheets.Select (s => { var linkHref = options.UseRelativeResourcesPath ? s.ResourcePath.AsRelativeResource() : s.ResourcePath; return($"<link rel='stylesheet' href='{linkHref}'/>"); }); resource.Content = resource.Content.Replace(Keys.HEALTHCHECKSUI_STYLESHEETS_TARGET, string.Join("\n", htmlStyles)); return(styleSheets); }
private IEnumerable <UIResource> ParseEmbeddedResources(string[] embeddedFiles) { const char SPLIT_SEPARATOR = '.'; var resourceList = new List <UIResource>(); foreach (var file in embeddedFiles) { var segments = file.Split(SPLIT_SEPARATOR); var fileName = segments[segments.Length - 2]; var extension = segments[segments.Length - 1]; using (var contentStream = _assembly.GetManifestResourceStream(file) !) using (var reader = new StreamReader(contentStream)) { string result = reader.ReadToEnd(); resourceList.Add( UIResource.Create($"{fileName}.{extension}", result, ContentType.FromExtension(extension))); } } return(resourceList); }