Beispiel #1
0
        private void MergePageViewModel(MetadataMergeParameters parameters)
        {
            var p = new ManagedReferenceDocumentProcessor()
            {
                BuildSteps = new List <IDocumentBuildStep>
                {
                    new ApplyPlatformVersion(),
                    new MergeManagedReferenceDocument(),
                }
            };
            var fc = new FileCollection(parameters.Files);

            fc.RemoveAll(x => "toc.yml".Equals(Path.GetFileName(x.File), StringComparison.OrdinalIgnoreCase));
            var models = SingleDocumentBuilder.Build(
                p,
                new DocumentBuildParameters
            {
                Files          = fc,
                FileMetadata   = parameters.FileMetadata,
                MaxParallelism = 1,
                Metadata       = parameters.Metadata,
                OutputBaseDir  = parameters.OutputBaseDir,
            },
                new DfmServiceProvider().CreateMarkdownService(
                    new MarkdownServiceParameters
            {
                BasePath = fc.DefaultBaseDir,
            }));

            foreach (var m in models)
            {
                m.File = (RelativePath)m.FileAndType.DestinationDir + (((RelativePath)m.File) - (RelativePath)m.FileAndType.SourceDir);
                Console.WriteLine($"File:{m.OriginalFileAndType.File} from:{m.FileAndType.SourceDir} to:{m.FileAndType.DestinationDir} => {m.File}");
            }
            foreach (var m in models)
            {
                InitTable(m, parameters.TocMetadata);
                YamlUtility.Serialize(m.File, m.Content, YamlMime.ManagedReference);
            }
        }
Beispiel #2
0
        private static void MergePageViewModel(MetadataMergeParameters parameters, string outputBase)
        {
            var p = new ManagedReferenceDocumentProcessor();

            p.BuildSteps = new List <IDocumentBuildStep>
            {
                new ApplyPlatformVersion(),
                new MergeManagedReferenceDocument(),
            };
            var fc = new FileCollection(parameters.Files);

            fc.RemoveAll(x => "toc.yml".Equals(Path.GetFileName(x.File), StringComparison.OrdinalIgnoreCase));
            var models = SingleDocumentBuilder.Build(
                p,
                new DocumentBuildParameters
            {
                Files          = fc,
                FileMetadata   = parameters.FileMetadata,
                MaxParallelism = 1,
                Metadata       = parameters.Metadata,
                OutputBaseDir  = parameters.OutputBaseDir,
            },
                new DfmServiceProvider().CreateMarkdownService(
                    new MarkdownServiceParameters
            {
                BasePath = fc.DefaultBaseDir,
            }));

            foreach (var m in models)
            {
                m.File = m.PathRewriter(m.File);
            }
            foreach (var m in models)
            {
                YamlUtility.Serialize(Path.Combine(outputBase, m.File), m.Content, YamlMime.ManagedReference);
            }
        }