IFileSystem Interface
A file system that can be configured.
Namespace
Statiq.Common
Interfaces
Implementing Types
graph BT Type-.->Interface0["IReadOnlyFileSystem"] click Interface0 "/api/Statiq.Common/IReadOnlyFileSystem" Type["IFileSystem"] class Type type-node Implementing0["TestFileSystem"]-.->Type click Implementing0 "/api/Statiq.Testing/TestFileSystem" Implementing1["FileSystem"]-.->Type click Implementing1 "/api/Statiq.Core/FileSystem"

Syntax

public interface IFileSystem : IReadOnlyFileSystem

Properties

Name Property Type Summary
CachePath NormalizedPath
Gets or sets the cache file path.
ExcludedPaths PathCollection
Gets the excluded paths collection which can be used to excluded specific paths from the input paths. Any IDirectory or IFile within an excluded path will appear to be non-existing.
FileProvider IFileProvider
Gets the file provider.
InputPathMappings IDictionary<NormalizedPath, NormalizedPath>
Gets the input path mapping dictionary which can be used to add or remove input path mappings.
InputPaths PathCollection
Gets the input paths collection which can be used to add or remove input paths.
OutputPath NormalizedPath
Gets or sets the output path.
RootPath NormalizedPath
Gets or sets the root path.
TempPath NormalizedPath
Gets or sets the temporary file path.

Extension Methods

Name Value Summary
GetCacheDirectory(NormalizedPath) IDirectory
Gets a directory representing cache files.
GetCacheDirectory() IDirectory
Gets a directory representing cache files.
GetCacheFile(NormalizedPath) IFile
Gets a file representing a cache file.
GetCacheFile() IFile
Gets a file representing a cache file with a random file name.
GetCachePath(NormalizedPath) NormalizedPath
Gets a cache path by combining it with the root path and cache path.
GetCachePath() NormalizedPath
Gets the cache path.
GetContainingInputPath(NormalizedPath) NormalizedPath
Gets the absolute input path that contains the specified file or directory. If the provided file or directory path is absolute, this returns the input path that contains the specified path (note that the specified file or directory does not need to exist and this just returns the input path that would contain the file or directory based only on path information). If the provided path is relative, this checks all input paths for the existence of the file or directory and returns the first one where it exists.
GetDirectory(NormalizedPath) IDirectory
Gets an absolute directory.
GetFile(NormalizedPath) IFile
Gets an absolute file.
GetFiles(IDirectory, IEnumerable<string>) IEnumerable<IFile>
Gets matching files based on globbing patterns and/or absolute paths. If any absolute paths are provided, only those that actually exist are returned.
GetFiles(IDirectory, string[]) IEnumerable<IFile>
Gets matching files based on globbing patterns and/or absolute paths. If any absolute paths are provided, only those that actually exist are returned.
GetFiles(IEnumerable<string>) IEnumerable<IFile>
Gets matching files based on globbing patterns from the root path or absolute paths.
GetFiles(string[]) IEnumerable<IFile>
Gets matching files based on globbing patterns from the root path or absolute paths.
GetInputDirectories() IEnumerable<IDirectory>
Gets all absolute input directories.
GetInputDirectory(NormalizedPath) IDirectory
Gets a directory representing an input.
GetInputDirectory() IDirectory
Gets the root virtual input directory.
GetInputFile(NormalizedPath) IFile
Gets a file representing an input.
GetInputFiles(IEnumerable<string>) IEnumerable<IFile>
Gets matching input files based on globbing patterns and/or absolute paths. If any absolute paths are provided, only those that actually exist are returned.
GetInputFiles(string[]) IEnumerable<IFile>
Gets matching input files based on globbing patterns and/or absolute paths. If any absolute paths are provided, only those that actually exist are returned.
GetOutputDirectory(NormalizedPath) IDirectory
Gets a directory representing an output.
GetOutputDirectory() IDirectory
Gets a directory representing an output.
GetOutputFile(NormalizedPath) IFile
Gets a file representing an output.
GetOutputPath(NormalizedPath) NormalizedPath
Gets an output path by combining it with the root path and output path.
GetOutputPath() NormalizedPath
Gets the output path.
GetRelativeInputPath(NormalizedPath) NormalizedPath
Gets a path to the specified file relative to it's containing input directory. If no input directories contain this file, then a null path is returned.
GetRelativeOutputPath(NormalizedPath) NormalizedPath
Gets a path to the specified file relative to the output directory. If this path is not relative to the output directory, then a null path is returned.
GetRelativeOutputPathOrSelf(NormalizedPath) NormalizedPath
Gets a path to the specified file relative to the output directory. If this path is not relative to the output directory, then the original path is returned.
GetRootDirectory(NormalizedPath) IDirectory
Gets a directory representing a root directory.
GetRootDirectory() IDirectory
Gets a directory representing a root directory.
GetRootFile(NormalizedPath) IFile
Gets a file representing a root file.
GetRootPath(NormalizedPath) NormalizedPath
Gets a path by combining it with the root path.
GetRootPath() NormalizedPath
Gets the root path.
GetTempDirectory(NormalizedPath) IDirectory
Gets a directory representing temp files.
GetTempDirectory() IDirectory
Gets a directory representing temp files.
GetTempFile(NormalizedPath) IFile
Gets a file representing a temp file.
GetTempFile() IFile
Gets a file representing a temp file with a random file name.
GetTempPath(NormalizedPath) NormalizedPath
Gets a temp path by combining it with the root path and temp path.
GetTempPath() NormalizedPath
Gets the temp path.
GetUnmappedInputPaths(NormalizedPath, HashSet<NormalizedPath>) IEnumerable<NormalizedPath>
Given a relative input path this "unmaps" it for each input path.
ThrowIfNull<IFileSystem>(string) T
ToDocument<IFileSystem>(IContentProvider) IDocument
ToDocument<IFileSystem>(IEnumerable<KeyValuePair<string, object>>, IContentProvider) IDocument
ToDocument<IFileSystem>(NormalizedPath, IContentProvider) IDocument
ToDocument<IFileSystem>(NormalizedPath, IEnumerable<KeyValuePair<string, object>>, IContentProvider) IDocument
ToDocument<IFileSystem>(NormalizedPath, NormalizedPath, IContentProvider) IDocument
ToDocument<IFileSystem>(NormalizedPath, NormalizedPath, IEnumerable<KeyValuePair<string, object>>, IContentProvider) IDocument