Modules

Content
Append Appends the specified content to the existing content of each document.
AutoLink Wyam.Html Replaces occurrences of specified strings with HTML links.
Content Replaces the content of each input document with the string value of the specified content object.
CsvToHtml Wyam.Tables Converts CSV content to HTML tables.
CsvToMarkdown Wyam.Tables Converts CSV content to Markdown tables.
ExcelToCsv Wyam.Tables Transforms Excel content to CSV.
GenerateCloudSearchData Wyam.AmazonWebServices Generates bulk JSON upload data to get documents into Amazon CloudSearch.
GenerateContent Wyam.TextGeneration Procedurally generates content using flexible Rant text templates.
GenerateFeeds Wyam.Feeds Generates syndication feeds including RSS, Atom, and RDF.
GenerateJson Wyam.Json Converts objects stored in metadata or elsewhere to JSON.
Highlight Wyam.Highlight Applies syntax highlighting to code blocks
HtmlEscape Wyam.Html Automatically escapes HTML content.
HtmlInsert Wyam.Html Queries HTML content of the input documents and inserts new content into the elements that match a query selector.
Image Wyam.Images This module manipulates images by applying a variety of operations.
Join Joins documents together with an optional delimiter to form one document.
MinifyCss Wyam.Minification Minifies the CSS content.
MinifyHtml Wyam.Minification Minifies the HTML content.
MinifyJs Wyam.Minification Minifies the JS content.
MinifyXhtml Wyam.Minification Minifies the XHTML content.
MinifyXml Wyam.Minification Minifies the XML content.
Prepend Prepends the specified content to the existing content of each document.
Redirect Handles redirected content by creating pages with meta refresh tags or other redirect files.
Replace Replaces a search string in the content of each input document with new content.
ReplaceIn Replaces a search string in the specified content with the content of input documents.
SearchIndex Wyam.SearchIndex Generates a JavaScript-based search index from the input documents.
Sitemap Generates a sitemap from the input documents.
Control
Branch Evaluates the specified modules with each input document as the initial document and then outputs the original input documents without modification.
Combine Combines all of the input documents into a single output document.
Concat Executes modules and concatenates their output with the input documents.
ConcatBranch Executes a sequence of modules against the input documents and concatenates their results and the original input. This is similar to Wyam.Core.Modules.Control.Branch except that the results of the specified modules are concatenated with the original input documents instead of being forgotten.
Documents Inserts documents into the current pipeline.
ForEach Executes the input documents one at a time against the specified child modules.
FrontMatter Extracts the first part of content for each document and sends it to a child module for processing.
GroupBy Splits a sequence of documents into groups based on a specified function or metadata key.
GroupByMany Splits a sequence of documents into groups based on a specified function or metadata key that returns or contains a sequence of group keys.
If Evaluates a series of child modules for each input document if a specified condition is met.
Merge Replaces the content and merges metadata of each input document with the results of specified modules.
OrderBy Orders the input documents based on the specified key function.
Paginate Splits a sequence of documents into multiple pages.
Sidecar Extracts the content of a Sidecar file for each document and sends it to a child module for processing.
Sort Sorts the input documents based on the specified comparison delegate.
Switch Executes sequences of modules depending on whether the input document contains a specified value.
Take Takes the first X documents from the current pipeline and discards the rest.
Where Filters the current sequence of modules using a predicate.
Extensibility
Execute Executes custom code that returns documents, modules, or new content.
ModuleCollection Executes child modules enabling better reuse.
NamedModule Wyam.Common.Modules Wraps a module and gives it a name for use with Wyam.Common.Modules.ModuleList.
Trace Outputs trace messages during execution.
Input/Output
CopyFiles Copies the content of files from one path on to another path.
Download Downloads from HTTP and outputs the results as new documents.
Include Processes include statements to include files from the file system.
ReadApplicationInput Reads text provided to the application on startup.
ReadFiles Reads the content of files from the file system into the content of new documents.
ReadProject Wyam.CodeAnalysis Reads all the source files from a specified msbuild project. This module will be executed once and input documents will be ignored if a search path is specified. Otherwise, if a delegate is specified the module will be executed once per input document and the resulting output documents will be aggregated. Note that this requires the MSBuild tools to be installed (included with Visual Studio).
ReadSolution Wyam.CodeAnalysis Reads all the source files from a specified msbuild solution. This module will be executed once and input documents will be ignored if a search path is specified. Otherwise, if a delegate is specified the module will be executed once per input document and the resulting output documents will be aggregated. Note that this requires the MSBuild tools to be installed (included with Visual Studio).
UnwrittenFiles Outputs only those documents that have not yet been written to the file system.
ValidateLinks Wyam.Html Performs link validation for HTML elements such as anchors, images, and other resources.
WriteFiles Writes the content of each input document to the file system.
Metadata
AnalyzeCSharp Wyam.CodeAnalysis Performs static code analysis on the input documents, outputting a new document for each symbol.
CopyMeta Copies the specified meta key to a new meta key, with an optional format argument.
DirectoryMeta Applies metadata from specified input documents to all input documents based on a directory hierarchy.
Excerpt Wyam.Html Finds the first occurrence of a specified HTML comment or element and stores it's contents as metadata.
FileName Optimizes a specified metadata key as a filename.
Flatten Flattens a tree structure given child documents are stored in a given metadata key ("Children" by default). The flattened documents are returned in no particular order.
GenerateMeta Wyam.TextGeneration Procedurally generates metadata using flexible Rant text templates.
GitCommits Wyam.Git Outputs documents and metadata for commits in a Git repository.
GitContributors Wyam.Git Outputs documents and metadata for contributors in a Git repository.
GitHub Wyam.GitHub Outputs metadata for information from GitHub.
Headings Wyam.Html Queries HTML content of the input documents and adds a metadata value that contains it's headings.
HtmlQuery Wyam.Html Queries HTML content of the input documents and creates new documents with content and metadata from the results.
Index Adds a one-based index to every document as metadata.
Json Wyam.Json Parses JSON content for each input document and stores the result in it's metadata.
Meta Adds the specified metadata to each input document.
Objects Creates documents from a set of objects. Any input documents will be ignored. The objects can be anything, and the collection can be heterogenous. Dictionary<string, object> will be handled natively and each key-value pair will be added to the output document metdata. Anything else will be reflected and turned into a Dictionary<string, object> with metadata for each property.
Sql Creates documents from the results of a SQL query. Each row is output as a new document and every column is used as the metadata (or content) of the new document. Input documents are ignored.
Title Sets a title metadata key for documents based on their file path or source.
Tree Adds metadata to the input documents that describes the position of each one in a tree structure.
ValidateMeta<T> Tests metadata for existence, typing, and supplied assertions.
Xml Creates new documents from elements within XML. This module will either ignore input documents and use specificed XML content or use the content from input documents depending on how it's configured. An XPath expression can be used to find target XML elements, and the InnerXml of each child element of the target elements as well as the values of each attribute will be placed into the metadata of the generated documents.
Xmp Wyam.Xmp Reads XMP data from the input documents and adds it to the document metadata.
Yaml Wyam.Yaml Parses YAML content for each input document and stores the result in it's metadata.
Templates
Less Wyam.Less Compiles Less CSS files to CSS stylesheets.
Markdown Wyam.Markdown Parses markdown content and renders it to HTML.
Razor Wyam.Razor Parses, compiles, and renders Razor templates.
Sass Wyam.Sass Compiles Sass CSS files to CSS stylesheets.
Xslt Transforms input documents using a supplied XSLT template.
Xslt2 Wyam.Xslt2 Transforms input documents using a supplied XSLT 2 template. Unlike the Xslt module, this one uses a library to support XSLT 2 and therefore needs to be included as a package.
GitHub