Wyam.Common.dll Assembly

Class Types

Class Summary
ActionDisposable A simple disposable that calls an action on disposal. This class will also throw an exception on subsiquent disposals.
CachedDelegateMetadataValue This class uses a delegate to get a metadata value. The result of the delegate will be cached and the cached value will be returned for subsequent calls to Wyam.Common.Meta.CachedDelegateMetadataValue.Get(Wyam.Common.Meta.IMetadata).
CollectionExtensions Extensions for working with specific types of collections.
CollectionExtensions Extension methods for collection types.
ConfigExtensions Extensions for dealing with config delegates.
ConfigHelper<T> This class satisfies a common use case for modules where you need to get some configuration value either directly, from a delegate at the module level, or from a delegate at a per-document level and the user should be able to specify any of these possibilities (typically via module constructor overloads).
ContainerModule A base class for modules that contain a collection of child modules.
ContentModule This class can be used as a base class for modules that operate on arbitrary content (as represented by an object).
ConvertingDictionary A dictionary with metadata type conversion superpowers.
Crc32 A helper class to quickly calculate CRC32 codes.
DateTimeCultureExtensions Extensions for working with input and output date cultures.
DelegateMetadataValue This class uses a delegate to get a metadata value.
DirectoryEqualityComparer Compares Wyam.Common.IO.IDirectory equality.
DirectoryPath Represents a directory path.
EmptyDisposable A disposable class that does nothing.
FileContentStreamFactory Provides content streams that are backed by a file in the file system. This trades performance (disk I/O is considerably slower than memory) for a reduced memory footprint.
FileEqualityComparer Compares Wyam.Common.IO.IFile equality.
FilePath Represents a file path.
GroupByExtensions Extensions for performing grouping operations.
GroupByExtensions Extensions grouping document sequences.
Keys Common metadata keys for modules in the core library.
LinkExtensions Extensions to generate web links using global settings.
LinkGenerator Helps generate normalized links.
MemoryContentStreamFactory Provides content streams that are stored in memory without pooling. This trades better performance for increased memory usage.
MetadataConversionExtensions Extensions to make it easier to get typed information from metadata.
MetadataItems A collection of metadata items.
MetadataXmlExtensions
ModuleExtensions Extension methods for Wyam.Common.Modules.IModule.
ModuleList A collection of optionally named modules.
ModuleListExtensions Extensions for use with Wyam.Common.Modules.ModuleList.
NamedModule Wraps a module and gives it a name for use with Wyam.Common.Modules.ModuleList.
NormalizedPath Provides properties and instance methods for working with paths.
PathCollection<TPath> An ordered collection of unique Wyam.Common.IO.NormalizedPath.
PathEqualityComparer Compares Wyam.Common.IO.NormalizedPath instances.
Pipeline A utility class for specifying pipelines. Note that this is not required for pipeline creation and is typically only used when a pipeline needs to be specified outside the context of a configuration file (such as a recipe, though it's not even required for those). Instances of this class are typically assigned to read-only properties in a Wyam.Common.Configuration.Recipe class and by convention the class name should match the property name (an exception will be thrown during recipe application if not). This class also implements string conversions and operators that return the pipeline name (so it can be used as a key for the pipeline it defines). Note that once this pipeline is added to an Wyam.Common.Execution.IPipelineCollection, the actual instance probably won't be what's stored by the collection and should not be used for comparisons.
PipelineCollectionExtensions Extensions for working with pipeline collections.
PipelineExtensions Extension methods for Wyam.Common.Execution.IPipeline.
ReadDataModule<TModule, TItem> A base class for modules that read documents from data that can be turned into a Dictionary<string,object>.
Recipe A utility class that can be used as the base for recipes. It is not necessary to derive from this class to create a recipe, implementing Wyam.Common.Configuration.IRecipe is sufficient. However, this class does provide some helpful functionality such as using reflection to automatically iterate and add all Wyam.Common.Execution.Pipeline static properties.
ShortcodeArgumentException
ShortcodeExtensions
ShortcodeParserException
SitemapItem Represents an item in the site map.
SourceInfoAttribute A clever trick to get source info for declarations during reflection. From http://stackoverflow.com/a/17998371/807064.
StreamExtensions Extension methods for use with System.IO.Stream.
ToLookupExtensions Extensions for creating lookups from document sequences.
ToLookupExtensions
Trace Provides access to tracing functionality. This class is thread safe.
TraceExceptionsExtensions Extensions to send exception messages to trace output with relevant context such as currently executing module and document.

Delegate Types

Delegate Summary
ContextConfig A delegate that uses the execution context.
DocumentConfig A delegate that uses a document and the execution context.

Enum Types

Enum Summary
ChangeFrequency The change frequency for each item in the site map.
PathKind The kind of the path.

Interface Types

Interface Summary
IAsNewDocuments Implement this interface for any module you want to support the AsNewDocuments() extension method, which overrides document creation within the module to always produce new documents instead of cloning existing ones.
IContentStreamFactory Provides streams to use for document content.
IDirectory Represents a directory. Not all implementations will support all available methods and may throw System.NotSupportedException.
IDocument Contains content and metadata for each item as it propagates through the pipeline.
IDocumentCollection Contains a collection of documents output by each pipeline. The documents are populated for each pipeline as it is executed and will contain the most recent set of document outputs for the most recently executed module, even if the pipeline is not complete.
IDocumentFactory Responsible for creating new document instances.
IEngine The engine is the primary entry point for the generation process.
IExecutionCache Provides a cache that can be used by modules during execution to persist data between engine executions. Cached data is keyed by both a document and an optional key string.
IExecutionContext All of the information that represents a given build. Also implements Wyam.Common.Meta.IMetadata to expose the global metadata.
IFile Represents a file. Not all implementations will support all available methods and may throw System.NotSupportedException.
IFileProvider A provider that can instantiate Wyam.Common.IO.IFile and Wyam.Common.IO.IDirectory objects from their paths.
IFileProviderCollection A collection of file providers mapped to schemes.
IFileSystem A file system that can be configured.
IFileSystemEntry Represents an entry in the file system
IIndentedTraceEvent Traces messages and indents all future messages until the returned System.IDisposable is disposed.
IJavaScriptEngine A common interface to a JavaScript engine. Every JavaScript engine is obtained from a Wyam.Common.JavaScript.IJavaScriptEnginePool and will be returned to the pool when it is disposed. Therefore, you must dispose the engine when you are done with it.
IJavaScriptEnginePool Provides a shared pool of JavaScript engine instances. You should dispose the pool when no longer needed to properly dispose of any allocated engines.
IMetadata Contains a set of metadata with flexible runtime conversion methods. Metadata keys are case-insensitive.
IMetadata<T> Contains a set of metadata converted to type T. The conversion is designed to be flexible and several different methods of type conversion are tried. Only those values that can be converted to type T are actually included in the dictionary.
IMetadataDictionary A mutable Wyam.Common.Meta.IMetadata implementation that works like a dictionary.
IMetadataValue Implement this interface to provide lazy metadata values or values based on other metadata.
IModule The primary module interface for classes that can transform or otherwise operate on documents.
IModuleList A collection of optionally named modules. Implementations should "unwrap" Wyam.Common.Modules.NamedModule objects to obtain the module name.
INamespacesCollection A collection of namespace strings used to inform modules of which namespaces should be available during dynamic code generation and/or execution.
IPipeline Represents a named collection of modules that should be executed by the engine.
IPipelineCollection A collection of pipelines.
IPrecompiledJavaScript Represents a pre-compiled JavaScript script that can be executed by different instances of the JavaScript engine.
IRawAssemblyCollection A collection of raw assembly bytes for dynamically compiled assemblies such as the configuration script.
IReadOnlyFileProviderCollection A read-only collection of file providers mapped to schemes.
IReadOnlyFileSystem Represents a file system.
IReadOnlyModuleList A collection of optionally named modules.
IReadOnlyPipeline A read-only pipeline.
IReadOnlySettings Settings that can be globally set.
IReadOnlyShortcodeCollection
IRecipe A recipe configures a Wyam.Common.Execution.IEngine in a predefined way using code. Recipes should have an empty default constructor and shouldn't maintain any state.
ISettings Stores global settings that control behavior and execution.
IShortcode Contains the code for a given shortcode (see the Shortcodes module).
IShortcodeCollection
IShortcodeResult
ITrace An interface for tracing messages to the console and other attached outputs.

Struct Types

Struct Summary
MetadataItem Provides slightly nicer syntax than KeyValuePair<string, object> for working with metadata. Also contains a constructor that makes adding delegate-based metadata easier.
GitHub