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

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