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 PriorityModifier(this Builder builder, int modify) => builder.WithPriority(builder.Priority + modify);
public static Builder WithPreProcessPriority(this Builder builder) => builder.WithPriority(TransformationPriority.PreProcess);
public static Builder WithStitcherPriority(this Builder builder) => builder.WithPriority(TransformationPriority.Stitcher);
public static Builder WithRouterPriority(this Builder builder) => builder.WithPriority(TransformationPriority.Router);
public static Builder WithMinifierPriority(this Builder builder) => builder.WithPriority(TransformationPriority.Minifier);
public static Builder WithCompilerPriority(this Builder builder) => builder.WithPriority(TransformationPriority.Compiler);
public static Builder IfMatchesExactly(this Builder builder, string filename) => builder.IfMatches(input => input == filename);
public static Builder IfFilenameEndsWith(this Builder builder, string filter) => builder.IfMatches(input => input.EndsWith(filter));
public static Builder IfMatches(this Builder builder, string pattern) => builder.IfMatches(Helpers.PatternToFunction(pattern));
public static Builder IfMatches(this Builder builder, Regex regex) => builder.IfMatches(regex.IsMatch);
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)));
public static Builder UseFallbackToFile(this Builder builder, String pattern, String fallbackFile) => builder .IfMatches(pattern) .Use((filename, provider) => provider.GetContent(filename)) .WithRouterPriority();
public static Builder UseStaticContent(this Builder builder, String pattern, String content) => builder .IfMatches(pattern) .Use(content) .WithPreProcessPriority();