IModule Interface
The primary module interface for classes that can transform or otherwise operate on documents.
Namespace
Statiq.Common
Implementing Types
graph BT Type["IModule"] class Type type-node Implementing0["MinifyHtml"]-.->Type click Implementing0 "/api/Statiq.Minification/MinifyHtml" Implementing1["CountModule"]-.->Type click Implementing1 "/api/Statiq.Testing/CountModule" Implementing2["ParseYaml"]-.->Type click Implementing2 "/api/Statiq.Yaml/ParseYaml" Implementing3["ResolveXrefs"]-.->Type click Implementing3 "/api/Statiq.Web.Modules/ResolveXrefs" Implementing4["MergeContent"]-.->Type click Implementing4 "/api/Statiq.Core/MergeContent" Implementing5["FilterDocuments"]-.->Type click Implementing5 "/api/Statiq.Core/FilterDocuments" Implementing6["ReadFiles"]-.->Type click Implementing6 "/api/Statiq.Core/ReadFiles" Implementing7["ReadXml"]-.->Type click Implementing7 "/api/Statiq.Core/ReadXml" Implementing8["SyncChildDocumentsModule"]-.->Type click Implementing8 "/api/Statiq.Common/SyncChildDocumentsModule" Implementing9["JoinDocuments"]-.->Type click Implementing9 "/api/Statiq.Core/JoinDocuments" Implementing10["MultiConfigModuleBase"]-.->Type click Implementing10 "/api/Statiq.Common/MultiConfigModuleBase" Implementing11["ExecuteSwitch"]-.->Type click Implementing11 "/api/Statiq.Core/ExecuteSwitch" Implementing12["SetContent"]-.->Type click Implementing12 "/api/Statiq.Core/SetContent" Implementing13["MinifyJs"]-.->Type click Implementing13 "/api/Statiq.Minification/MinifyJs" Implementing14["ExtractFrontMatter"]-.->Type click Implementing14 "/api/Statiq.Core/ExtractFrontMatter" Implementing15["MinifyXhtml"]-.->Type click Implementing15 "/api/Statiq.Minification/MinifyXhtml" Implementing16["EnumerateValues"]-.->Type click Implementing16 "/api/Statiq.Core/EnumerateValues" Implementing17["RenderScriban"]-.->Type click Implementing17 "/api/Statiq.Scriban/RenderScriban" Implementing18["GenerateLunrIndex"]-.->Type click Implementing18 "/api/Statiq.Lunr/GenerateLunrIndex" Implementing19["ReadXmp"]-.->Type click Implementing19 "/api/Statiq.Xmp/ReadXmp" Implementing20["CreateDocuments"]-.->Type click Implementing20 "/api/Statiq.Core/CreateDocuments" Implementing21["MinifyXml"]-.->Type click Implementing21 "/api/Statiq.Minification/MinifyXml" Implementing22["GenerateSitemap"]-.->Type click Implementing22 "/api/Statiq.Core/GenerateSitemap" Implementing23["InsertHtml"]-.->Type click Implementing23 "/api/Statiq.Core/InsertHtml" Implementing24["SyncConfigModule<TValue>"]-.->Type click Implementing24 "/api/Statiq.Common/SyncConfigModule_1" Implementing25["GetPipelineDocuments"]-.->Type click Implementing25 "/api/Statiq.Web.Modules/GetPipelineDocuments" Implementing26["ReadDataModule<TModule, TItem>"]-.->Type click Implementing26 "/api/Statiq.Common/ReadDataModule_2" Implementing27["CombineDocuments"]-.->Type click Implementing27 "/api/Statiq.Core/CombineDocuments" Implementing28["MakeLinksRootRelative"]-.->Type click Implementing28 "/api/Statiq.Core/MakeLinksRootRelative" Implementing29["SetMetadata"]-.->Type click Implementing29 "/api/Statiq.Core/SetMetadata" Implementing30["OrderDocuments"]-.->Type click Implementing30 "/api/Statiq.Core/OrderDocuments" Implementing31["ParallelSyncMultiConfigModule"]-.->Type click Implementing31 "/api/Statiq.Common/ParallelSyncMultiConfigModule" Implementing32["PaginateDocuments"]-.->Type click Implementing32 "/api/Statiq.Core/PaginateDocuments" Implementing33["MergeDocuments"]-.->Type click Implementing33 "/api/Statiq.Core/MergeDocuments" Implementing34["AddTitle"]-.->Type click Implementing34 "/api/Statiq.Core/AddTitle" Implementing35["EscapeHtml"]-.->Type click Implementing35 "/api/Statiq.Core/EscapeHtml" Implementing36["SyncParentModule"]-.->Type click Implementing36 "/api/Statiq.Common/SyncParentModule" Implementing37["RenderRazor"]-.->Type click Implementing37 "/api/Statiq.Razor/RenderRazor" Implementing38["RenderMarkdown"]-.->Type click Implementing38 "/api/Statiq.Markdown/RenderMarkdown" Implementing39["RenderHandlebars"]-.->Type click Implementing39 "/api/Statiq.Handlebars/RenderHandlebars" Implementing40["RemoveTreePlaceholders"]-.->Type click Implementing40 "/api/Statiq.Core/RemoveTreePlaceholders" Implementing41["ConfigModule<TValue>"]-.->Type click Implementing41 "/api/Statiq.Common/ConfigModule_1" Implementing42["SetDestination"]-.->Type click Implementing42 "/api/Statiq.Core/SetDestination" Implementing43["ReadSql"]-.->Type click Implementing43 "/api/Statiq.Core/ReadSql" Implementing44["ThrowExceptionIf"]-.->Type click Implementing44 "/api/Statiq.Core/ThrowExceptionIf" Implementing45["ExecuteSources"]-.->Type click Implementing45 "/api/Statiq.Core/ExecuteSources" Implementing46["ReadExcel"]-.->Type click Implementing46 "/api/Statiq.Tables/ReadExcel" Implementing47["PrependContent"]-.->Type click Implementing47 "/api/Statiq.Core/PrependContent" Implementing48["CopyMetadata"]-.->Type click Implementing48 "/api/Statiq.Core/CopyMetadata" Implementing49["CacheDocuments"]-.->Type click Implementing49 "/api/Statiq.Core/CacheDocuments" Implementing50["SetContentType"]-.->Type click Implementing50 "/api/Statiq.Web.Modules/SetContentType" Implementing51["ParseJson"]-.->Type click Implementing51 "/api/Statiq.Core/ParseJson" Implementing52["ExecuteModules"]-.->Type click Implementing52 "/api/Statiq.Core/ExecuteModules" Implementing53["ExecutionPipeline"]-.->Type click Implementing53 "/api/Statiq.Core/ExecutionPipeline" Implementing54["MultiConfigModule"]-.->Type click Implementing54 "/api/Statiq.Common/MultiConfigModule" Implementing55["AddContentToMetadata"]-.->Type click Implementing55 "/api/Statiq.Core/AddContentToMetadata" Implementing56["TransformXslt"]-.->Type click Implementing56 "/api/Statiq.Core/TransformXslt" Implementing57["DeployNetlifySite"]-.->Type click Implementing57 "/api/Statiq.Web.Netlify/DeployNetlifySite" Implementing58["ValidateMetadata<T>"]-.->Type click Implementing58 "/api/Statiq.Core/ValidateMetadata_1" Implementing59["HighlightCode"]-.->Type click Implementing59 "/api/Statiq.Highlight/HighlightCode" Implementing60["ReadWorkspace"]-.->Type click Implementing60 "/api/Statiq.CodeAnalysis/ReadWorkspace" Implementing61["ClearDocuments"]-.->Type click Implementing61 "/api/Statiq.Core/ClearDocuments" Implementing62["ParallelMultiConfigModule"]-.->Type click Implementing62 "/api/Statiq.Common/ParallelMultiConfigModule" Implementing63["AddIndexes"]-.->Type click Implementing63 "/api/Statiq.Core/AddIndexes" Implementing64["RenderContentProcessTemplates"]-.->Type click Implementing64 "/api/Statiq.Web.Modules/RenderContentProcessTemplates" Implementing65["SyncModule"]-.->Type click Implementing65 "/api/Statiq.Common/SyncModule" Implementing66["ReadGitHub"]-.->Type click Implementing66 "/api/Statiq.Web.GitHub/ReadGitHub" Implementing67["ExecuteBranch"]-.->Type click Implementing67 "/api/Statiq.Core/ExecuteBranch" Implementing68["GatherDocuments"]-.->Type click Implementing68 "/api/Statiq.Testing/GatherDocuments" Implementing69["EvaluateScript"]-.->Type click Implementing69 "/api/Statiq.Core/EvaluateScript" Implementing70["ConcatDocuments"]-.->Type click Implementing70 "/api/Statiq.Core/ConcatDocuments" Implementing71["ReplaceInContent"]-.->Type click Implementing71 "/api/Statiq.Core/ReplaceInContent" Implementing72["ProcessSidecarFile"]-.->Type click Implementing72 "/api/Statiq.Core/ProcessSidecarFile" Implementing73["GenerateJson"]-.->Type click Implementing73 "/api/Statiq.Core/GenerateJson" Implementing74["TakeDocuments"]-.->Type click Implementing74 "/api/Statiq.Core/TakeDocuments" Implementing75["ReadApi<TClient>"]-.->Type click Implementing75 "/api/Statiq.Core/ReadApi_1" Implementing76["GenerateRedirects"]-.->Type click Implementing76 "/api/Statiq.Core/GenerateRedirects" Implementing77["DeploySearchIndex"]-.->Type click Implementing77 "/api/Statiq.Web.Azure/DeploySearchIndex" Implementing78["DeployGitHubPages"]-.->Type click Implementing78 "/api/Statiq.Web.GitHub/DeployGitHubPages" Implementing79["ParallelSyncModule"]-.->Type click Implementing79 "/api/Statiq.Common/ParallelSyncModule" Implementing80["ApplyDirectoryMetadata"]-.->Type click Implementing80 "/api/Statiq.Web.Modules/ApplyDirectoryMetadata" Implementing81["ReadApplicationInput"]-.->Type click Implementing81 "/api/Statiq.Core/ReadApplicationInput" Implementing82["FlattenTree"]-.->Type click Implementing82 "/api/Statiq.Core/FlattenTree" Implementing83["GatherHeadings"]-.->Type click Implementing83 "/api/Statiq.Core/GatherHeadings" Implementing84["ForEachDocument"]-.->Type click Implementing84 "/api/Statiq.Common/ForEachDocument" Implementing85["ProcessHtml"]-.->Type click Implementing85 "/api/Statiq.Core/ProcessHtml" Implementing86["GroupDocuments"]-.->Type click Implementing86 "/api/Statiq.Core/GroupDocuments" Implementing87["GenerateFeeds"]-.->Type click Implementing87 "/api/Statiq.Feeds/GenerateFeeds" Implementing88["MakeLinksAbsolute"]-.->Type click Implementing88 "/api/Statiq.Core/MakeLinksAbsolute" Implementing89["RenderCsvAsHtml"]-.->Type click Implementing89 "/api/Statiq.Tables/RenderCsvAsHtml" Implementing90["GenerateExcerpt"]-.->Type click Implementing90 "/api/Statiq.Core/GenerateExcerpt" Implementing91["FilterSources"]-.->Type click Implementing91 "/api/Statiq.Core/FilterSources" Implementing92["ExecuteConfig"]-.->Type click Implementing92 "/api/Statiq.Core/ExecuteConfig" Implementing93["QueryHtml"]-.->Type click Implementing93 "/api/Statiq.Core/QueryHtml" Implementing94["ParentModule"]-.->Type click Implementing94 "/api/Statiq.Common/ParentModule" Implementing95["GenerateCloudSearchData"]-.->Type click Implementing95 "/api/Statiq.Web.Aws/GenerateCloudSearchData" Implementing96["LogMessage"]-.->Type click Implementing96 "/api/Statiq.Core/LogMessage" Implementing97["CompileLess"]-.->Type click Implementing97 "/api/Statiq.Less/CompileLess" Implementing98["OptimizeFileName"]-.->Type click Implementing98 "/api/Statiq.Core/OptimizeFileName" Implementing99["ParallelModule"]-.->Type click Implementing99 "/api/Statiq.Common/ParallelModule" Implementing100["ParallelConfigModule<TValue>"]-.->Type click Implementing100 "/api/Statiq.Common/ParallelConfigModule_1" Implementing101["RenderContentPostProcessTemplates"]-.->Type click Implementing101 "/api/Statiq.Web.Modules/RenderContentPostProcessTemplates" Implementing102["RetryModules"]-.->Type click Implementing102 "/api/Statiq.Core/RetryModules" Implementing103["AddDocumentsToMetadata"]-.->Type click Implementing103 "/api/Statiq.Core/AddDocumentsToMetadata" Implementing104["CopyFiles"]-.->Type click Implementing104 "/api/Statiq.Core/CopyFiles" Implementing105["ReplaceDocuments"]-.->Type click Implementing105 "/api/Statiq.Core/ReplaceDocuments" Implementing106["ReadWeb"]-.->Type click Implementing106 "/api/Statiq.Core/ReadWeb" Implementing107["ZipDirectory"]-.->Type click Implementing107 "/api/Statiq.Core/ZipDirectory" Implementing108["WriteFiles"]-.->Type click Implementing108 "/api/Statiq.Core/WriteFiles" Implementing109["ReadCsv"]-.->Type click Implementing109 "/api/Statiq.Tables/ReadCsv" Implementing110["ConvertExcelToCsv"]-.->Type click Implementing110 "/api/Statiq.Tables/ConvertExcelToCsv" Implementing111["DeployAppService"]-.->Type click Implementing111 "/api/Statiq.Web.Azure/DeployAppService" Implementing112["AddRtlSupport"]-.->Type click Implementing112 "/api/Statiq.Core/AddRtlSupport" Implementing113["SyncMultiConfigModule"]-.->Type click Implementing113 "/api/Statiq.Common/SyncMultiConfigModule" Implementing114["StartProcess"]-.->Type click Implementing114 "/api/Statiq.Core/StartProcess" Implementing115["Module"]-.->Type click Implementing115 "/api/Statiq.Common/Module" Implementing116["ForAllDocuments"]-.->Type click Implementing116 "/api/Statiq.Common/ForAllDocuments" Implementing117["ReplaceWithContent"]-.->Type click Implementing117 "/api/Statiq.Core/ReplaceWithContent" Implementing118["CompileSass"]-.->Type click Implementing118 "/api/Statiq.Sass/CompileSass" Implementing119["InsertLinks"]-.->Type click Implementing119 "/api/Statiq.Core/InsertLinks" Implementing120["ExecuteDestinations"]-.->Type click Implementing120 "/api/Statiq.Core/ExecuteDestinations" Implementing121["ThrowException"]-.->Type click Implementing121 "/api/Statiq.Core/ThrowException" Implementing122["FilterDestinations"]-.->Type click Implementing122 "/api/Statiq.Core/FilterDestinations" Implementing123["MergeMetadata"]-.->Type click Implementing123 "/api/Statiq.Core/MergeMetadata" Implementing124["MutateImage"]-.->Type click Implementing124 "/api/Statiq.Images/MutateImage" Implementing125["SetMediaType"]-.->Type click Implementing125 "/api/Statiq.Core/SetMediaType" Implementing126["ProcessScripts"]-.->Type click Implementing126 "/api/Statiq.Web.Modules/ProcessScripts" Implementing127["ReadProject"]-.->Type click Implementing127 "/api/Statiq.CodeAnalysis/ReadProject" Implementing128["ProcessShortcodes"]-.->Type click Implementing128 "/api/Statiq.Core/ProcessShortcodes" Implementing129["ParallelSyncConfigModule<TValue>"]-.->Type click Implementing129 "/api/Statiq.Common/ParallelSyncConfigModule_1" Implementing130["ReadSolution"]-.->Type click Implementing130 "/api/Statiq.CodeAnalysis/ReadSolution" Implementing131["AnalyzeCSharp"]-.->Type click Implementing131 "/api/Statiq.CodeAnalysis/AnalyzeCSharp" Implementing132["ReadYouTube"]-.->Type click Implementing132 "/api/Statiq.YouTube/ReadYouTube" Implementing133["CreateTree"]-.->Type click Implementing133 "/api/Statiq.Core/CreateTree" Implementing134["RenderCsvAsMarkdown"]-.->Type click Implementing134 "/api/Statiq.Tables/RenderCsvAsMarkdown" Implementing135["AppendContent"]-.->Type click Implementing135 "/api/Statiq.Core/AppendContent" Implementing136["ChildDocumentsModule"]-.->Type click Implementing136 "/api/Statiq.Common/ChildDocumentsModule" Implementing137["MinifyCss"]-.->Type click Implementing137 "/api/Statiq.Minification/MinifyCss" Implementing138["ExecuteIf"]-.->Type click Implementing138 "/api/Statiq.Core/ExecuteIf" Implementing139["MirrorResources"]-.->Type click Implementing139 "/api/Statiq.Core/MirrorResources"

Syntax

public interface IModule

Remarks

If the module implements IDisposable, System.IDisposable.Dispose will be called when the engine is disposed (I.e., on application exit).

Methods

Name Return Value Summary
ExecuteAsync(IExecutionContext) Task<IEnumerable<IDocument>>
This should not be called directly, instead call IExecutionContext.Execute() if you need to execute a module from within another module.

Extension Methods