public static Builder UseFallbackPattern(this Builder builder, String matchPattern, String fallbackPattern)
        {
            var nameTransform = new FilenameTransform(matchPattern, fallbackPattern);

            return(builder
                   .Use((filename, provider) => provider.GetContent(filename) ?? provider.GetContent(nameTransform.TrasformFilename(filename)))
                   .IfMatches(nameTransform.Matches)
                   .WithRouterPriority());
        }
 public static Builder Use(this Builder builder, String content)
 => builder.Use((filename, provider) => content);
 public static Builder Use(this Builder builder, Func <String> content)
 => builder.Use((filename, provider) => content());
 public static Builder Use(this Builder builder, Func <String, String> transformation)
 => builder.Use((filename, provider) => transformation(provider.GetContent(filename)));