Exemple #1
0
        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);
            }
        }
Exemple #2
0
        // 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);
        }
Exemple #3
0
        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);
        }