Пример #1
0
        public void SubList(TypeComments typeComments)
        {
            var s = MarkdownHelper.RenderSubList(typeComments);

            if (!string.IsNullOrEmpty(s))
            {
                sb.Append(s);
            }
        }
Пример #2
0
        private static void GenerateAndWrites(TypeComments[] typeComments, DirectoryInfo outputPath)
        {
            var homeBuilder = new MarkdownBuilder();

            homeBuilder.AppendLine("<div style='text-align: right'>");
            homeBuilder.AppendLine("[References extended](IndexExtended.md)");
            homeBuilder.AppendLine("</div>");
            homeBuilder.AppendLine();
            homeBuilder.Header(1, "References");
            homeBuilder.AppendLine();

            var homeExtendedBuilder = new MarkdownBuilder();

            homeExtendedBuilder.AppendLine("<div style='text-align: right'>");
            homeExtendedBuilder.AppendLine("[References](Index.md)");
            homeExtendedBuilder.AppendLine("</div>");
            homeExtendedBuilder.AppendLine();
            homeExtendedBuilder.Header(1, "References extended");
            homeExtendedBuilder.AppendLine();

            foreach (var g in typeComments.GroupBy(x => x.Namespace, StringComparer.Ordinal).OrderBy(x => x.Key))
            {
                homeBuilder.HeaderWithLink(2, g.Key, g.Key + ".md");
                homeBuilder.AppendLine();

                homeExtendedBuilder.HeaderWithLink(2, g.Key, g.Key + ".md");
                homeExtendedBuilder.AppendLine();

                var sb = new StringBuilder();
                sb.AppendLine("<div style='text-align: right'>");
                sb.AppendLine();
                sb.AppendLine("[References](Index.md)&nbsp;&nbsp;-&nbsp;&nbsp;[References extended](IndexExtended.md)");
                sb.AppendLine("</div>");
                sb.AppendLine();

                sb.AppendLine($"# {g.Key}");
                foreach (var item in g.OrderBy(x => x.Name))
                {
                    var beautifyItemName1 = item.BeautifyHtmlName;
                    var beautifyItemName2 = item.BeautifyHtmlName
                                            .Replace(",", string.Empty, StringComparison.Ordinal)
                                            .Replace(" ", "-", StringComparison.Ordinal)
                                            .ToLower(GlobalizationConstants.EnglishCultureInfo);

                    homeBuilder.ListLink(beautifyItemName1, g.Key + ".md" + "#" + beautifyItemName2);
                    homeExtendedBuilder.ListLink(beautifyItemName1, g.Key + ".md" + "#" + beautifyItemName2);
                    homeExtendedBuilder.SubList(item);
                    sb.Append(MarkdownHelper.Render(item));
                }

                homeBuilder.AppendLine();
                homeExtendedBuilder.AppendLine();
                sb.AppendLine(GeneratedBy);
                File.WriteAllText(Path.Combine(outputPath.FullName, g.Key + ".md"), sb.ToString());
            }

            homeBuilder.AppendLine(GeneratedBy);
            File.WriteAllText(Path.Combine(outputPath.FullName, "Index.md"), homeBuilder.ToString());

            homeExtendedBuilder.AppendLine(GeneratedBy);
            File.WriteAllText(Path.Combine(outputPath.FullName, "IndexExtended.md"), homeExtendedBuilder.ToString());
        }