public static IMarkdownContext SetDependency(this IMarkdownContext context, HashSet <string> dependency)
 {
     if (context == null)
     {
         throw new ArgumentNullException(nameof(context));
     }
     return(context.CreateContext(context.Variables.SetItem(DependencyKey, dependency)));
 }
 public static IMarkdownContext SetBaseFolder(this IMarkdownContext context, string baseFolder)
 {
     if (context == null)
     {
         throw new ArgumentNullException(nameof(context));
     }
     return(context.CreateContext(context.Variables.SetItem(BaseFolderKey, baseFolder)));
 }
 public static IMarkdownContext SetFilePathStack(this IMarkdownContext context, ImmutableStack <string> filePathStack)
 {
     if (context == null)
     {
         throw new ArgumentNullException(nameof(context));
     }
     return(context.CreateContext(context.Variables.SetItem(FilePathStackKey, filePathStack)));
 }
 public static IMarkdownContext SetIsInclude(this IMarkdownContext context)
 {
     if (context == null)
     {
         throw new ArgumentNullException(nameof(context));
     }
     return(context.CreateContext(context.Variables.SetItem(IsIncludeKey, null)));
 }
        public static IMarkdownContext SetFallbackFolders(this IMarkdownContext context, IReadOnlyList <string> fallbackFolders)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            return(context.CreateContext(context.Variables.SetItem(FallbackFoldersKey, (IReadOnlyList <string>)fallbackFolders.Select(folder => folder.Replace('/', '\\')).ToList())));
        }
 public IMarkdownContext GetInlineContext()
 {
     return(_inlineContext.CreateContext(_inlineContext.Variables.SetItems(Variables)));
 }