Exemplo n.º 1
0
        private static void GeneratePackagePages(string outputFilePath, Dictionary<PackageKey, FeedPackage> feedPackages)
        {
            foreach (var package in feedPackages.Where(pckge => pckge.Value.CurrentVersion != null))
            {
                using (var stringWriter = new StringWriter())
                {
                    using (var writer = new HtmlTextWriter(stringWriter))
                    {
                        writer.RenderBeginTag(HtmlTextWriterTag.H1);
                        {
                            writer.WriteLine("Nuget Package Report for {0} {1}", package.Value.CurrentVersion.Id, package.Value.CurrentVersion.Version);
                        }
                        writer.RenderEndTag();

                        writer.WriteBreak();
                        writer.WriteBreak();

                        writer.WritePackageInfoLine("Description", package.Value.CurrentVersion.Description);
                        writer.WritePackageInfoLine("Created", package.Value.CurrentVersion.Created.ToShortDateString());
                        writer.WritePackageInfoLine("Last Updated", package.Value.CurrentVersion.LastUpdated.ToShortDateString());
                        writer.WritePackageInfoLine("Release Notes", package.Value.CurrentVersion.ReleaseNotes);

                        writer.RenderBeginTag(HtmlTextWriterTag.B);
                        {
                            writer.WriteLine("License Url");
                        }
                        writer.RenderEndTag();
                        writer.WriteBreak();

                        if (!string.IsNullOrEmpty(package.Value.CurrentVersion.LicenseUrl))
                        {
                            writer.WriteUrlLink(package.Value.CurrentVersion.LicenseUrl, package.Value.CurrentVersion.LicenseUrl);
                        }
                        else
                        {
                            writer.WriteLine("No License Url");
                        }
                        writer.WriteBreak();
                        writer.WriteBreak();

                        writer.RenderBeginTag(HtmlTextWriterTag.B);
                        {
                            writer.WriteLine("Project Url");
                        }
                        writer.RenderEndTag();
                        writer.WriteBreak();

                        if (!string.IsNullOrEmpty(package.Value.CurrentVersion.ProjectUrl))
                        {
                            writer.WriteUrlLink(package.Value.CurrentVersion.ProjectUrl, package.Value.CurrentVersion.ProjectUrl);
                        }
                        else
                        {
                            writer.WriteLine("No Project Url");
                        }
                        writer.WriteBreak();
                        writer.WriteBreak();

                        writer.RenderBeginTag(HtmlTextWriterTag.B);
                        {
                            writer.WriteLine("Gallery Details Url");
                        }
                        writer.RenderEndTag();
                        writer.WriteBreak();

                        if (!string.IsNullOrEmpty(package.Value.CurrentVersion.GalleryDetailsUrl))
                        {
                            writer.WriteUrlLink(package.Value.CurrentVersion.GalleryDetailsUrl, package.Value.CurrentVersion.GalleryDetailsUrl);
                        }
                        else
                        {
                            writer.WriteLine("No Gallery Details Url");
                        }
                        writer.WriteBreak();
                        writer.WriteBreak();

                        var content = writer.InnerWriter.ToString();

                        var path = Path.Combine(outputFilePath, string.Format("{0}{1}.html", package.Value.CurrentVersion.Id, package.Value.CurrentVersion.Version));
                        File.WriteAllText(path, content);
                    }
                }
            }
        }