@@ -25,9 +25,11 @@ protected string Language
2525
2626 protected IDocResourceResolver ResourceResolver { get ; }
2727
28+ protected IOutputOperations Output { get ; }
29+
2830 private readonly ProblemRecorder Problems ;
2931
30- protected DocTransformer ( DocTransformerArgs args , IDocResourceResolver resourceResolver , ProblemRecorder problems )
32+ protected DocTransformer ( DocTransformerArgs args , IDocResourceResolver resourceResolver , IOutputOperations output , ProblemRecorder problems )
3133 {
3234 var sourceFolder = args . SourceFolder ;
3335 SourceFolder = sourceFolder ;
@@ -56,6 +58,7 @@ protected DocTransformer(DocTransformerArgs args, IDocResourceResolver resourceR
5658
5759 AvailableLanguages = languages ;
5860 ResourceResolver = resourceResolver ;
61+ Output = output ;
5962 }
6063
6164 public virtual async Task TransformAsync ( )
@@ -80,7 +83,7 @@ protected void Transform(string sourceFile, string destinationFile, Action<IHtml
8083 beforeTransform ? . Invoke ( document , head , body , sourceFile ) ;
8184 Transform ( document , head , body , sourceFile ) ;
8285
83- using var sw = new StreamWriter ( destinationFile ) ;
86+ using var sw = Output . CreateStreamWriter ( destinationFile ) ;
8487 document . ToHtml ( sw , HtmlMarkupFormatter . Instance ) ;
8588 }
8689
@@ -139,8 +142,8 @@ internal protected virtual void Transform(IHtmlDocument document, IHtmlHeadEleme
139142
140143 if ( copy is ( string srcImg , string dstImg ) )
141144 {
142- Directory . CreateDirectory ( Path . GetDirectoryName ( dstImg ) ! ) ;
143- File . Copy ( srcImg , dstImg , overwrite : true ) ;
145+ Output . CreateDirectory ( Path . GetDirectoryName ( dstImg ) ! ) ;
146+ Output . CopyFile ( srcImg , dstImg , overwrite : true ) ;
144147 }
145148
146149 return img ;
0 commit comments