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);
        }
Пример #2
0
        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);
        }