private static void RunAllTransforms(SiteMetadataDocument metadataDocument) { Console.WriteLine("Running HTML transformations:"); foreach (var transform in config.HtmlTransforms) { var templateFileName = Path.Combine(config.XsltFolder, transform.Key); var outputFileName = Path.Combine(config.WorkFolder, Path.GetFileNameWithoutExtension(transform.Key) + ".xml"); RunTransform(metadataDocument, templateFileName, outputFileName); Console.Write(" Running post-processor..."); var proc = new XmlOutputProcessor(outputFileName, config.TargetFolder); proc.SaveAllFiles(transform.Value); Console.WriteLine("OK"); } // Run raw transforms Console.WriteLine("Running raw transformations:"); foreach (var transform in config.RawTransforms) { var templateFileName = Path.Combine(config.XsltFolder, transform.Key); var outputFileName = Path.Combine(config.TargetFolder, transform.Value); RunTransform(metadataDocument, templateFileName, outputFileName); } }
// Factory method public static SiteMetadataDocument CreateFromFolder(string sourceFolderName) { var doc = new SiteMetadataDocument(Path.Combine(sourceFolderName, "_namespaces")) { SourceFolderName = sourceFolderName.TrimEnd('\\') }; doc.ScanFolder(doc.SourceFolderName, doc.DocumentElement); return(doc); }
private static SiteMetadataDocument CreateMetadataDocument() { Console.Write("Creating metadata document..."); var sw = new Stopwatch(); sw.Start(); var doc = SiteMetadataDocument.CreateFromFolder(config.SourceFolder); sw.Stop(); if (doc.Errors.Any()) { Console.WriteLine($"Done in {sw.ElapsedMilliseconds} ms with {doc.Errors.Count()} errors, see metadata.xml.log for details."); File.WriteAllLines(Path.Combine(config.WorkFolder, "metadata.xml.log"), doc.Errors.Select(x => string.Join("\t", x.Key, x.Value))); } else { Console.WriteLine($"OK in {sw.ElapsedMilliseconds} ms"); } return(doc); }