Skip to content

Commit 11b0d44

Browse files
committed
Generalize, move interface up.
1 parent a0a92f3 commit 11b0d44

4 files changed

Lines changed: 23 additions & 11 deletions

File tree

converter/generator/DocBookTransformer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ public DocBookTransformer(DocToStaticPagesTransformerArgs args, ProblemRecorder
6969

7070
protected override async Task TransformAsync(string language)
7171
{
72+
await base.TransformAsync(language);
73+
7274
var srcDir = Path.Combine(SourceFolder, language, BookDirName);
7375
var srcEnDir = Path.Combine(SourceFolderEn, BookDirName);
7476
string? fallbackBanner = null;

converter/generator/DocIndexTransformer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ public DocIndexTransformer(DocToStaticPagesTransformerArgs args, ProblemRecorder
1010

1111
protected override async Task TransformAsync(string language)
1212
{
13+
await base.TransformAsync(language);
14+
1315
foreach (var sourceFile in Directory.EnumerateFiles(SourceFolder, "index.html", SearchOption.AllDirectories))
1416
{
1517
var relativePath = Path.GetRelativePath(SourceFolder, sourceFile);

converter/generator/DocToStaticPagesTransformer.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
namespace OriginLab.DocumentGeneration;
99

10-
internal abstract partial class DocToStaticPagesTransformer : DocTransformer, IDocTransformer
10+
internal abstract partial class DocToStaticPagesTransformer : DocTransformer
1111
{
1212
public const int MaxSiblingNodes = 10 * 2;
1313

@@ -28,19 +28,19 @@ protected DocToStaticPagesTransformer(DocToStaticPagesTransformerArgs args, Prob
2828
UseWebp = args.UseWebp;
2929
}
3030

31-
public async Task TransformAsync()
31+
public override async Task TransformAsync()
3232
{
33-
foreach (var language in AvailableLanguages)
34-
{
35-
var html = await InitializeLanguageLayoutAsync(language);
33+
await base.TransformAsync();
3634

37-
var langDir = Directory.CreateDirectory(Path.Combine(OutputFolder, language));
38-
await File.WriteAllTextAsync(Path.Combine(langDir.FullName, "layout.html"), html);
35+
File.WriteAllText(Path.Combine(OutputFolder, "404.html"), await Template.Render404PageAsync());
36+
}
3937

40-
await TransformAsync(language);
41-
}
38+
protected override async Task TransformAsync(string language)
39+
{
40+
var html = await InitializeLanguageLayoutAsync(language);
4241

43-
File.WriteAllText(Path.Combine(OutputFolder, "404.html"), await Template.Render404PageAsync());
42+
var langDir = Directory.CreateDirectory(Path.Combine(OutputFolder, language));
43+
await File.WriteAllTextAsync(Path.Combine(langDir.FullName, "layout.html"), html);
4444
}
4545

4646
internal async Task<string> InitializeLanguageLayoutAsync(string language)

converter/generator/DocTransformer.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
namespace OriginLab.DocumentGeneration;
1414

15-
internal abstract partial class DocTransformer
15+
internal abstract partial class DocTransformer : IDocTransformer
1616
{
1717
protected string SourceFolder { get; }
1818
protected string SourceFolderEn { get; }
@@ -112,6 +112,14 @@ private static Dictionary<string, string> GetSharedImages()
112112
return images;
113113
}
114114

115+
public virtual async Task TransformAsync()
116+
{
117+
foreach (var language in AvailableLanguages)
118+
{
119+
await TransformAsync(language);
120+
}
121+
}
122+
115123
protected abstract Task TransformAsync(string language);
116124

117125
protected void Transform(string sourceFile, string destinationFile, Action<IHtmlDocument, IHtmlHeadElement, IHtmlBodyElement, string>? beforeTransform = null)

0 commit comments

Comments
 (0)