private void RuleSummary()

in src/PSRule/Pipeline/Output/MarkdownOutputWriter.cs [90:167]


        private void RuleSummary(RuleRecord[] records)
        {
            if (records.Length == 0)
                return;

            Section(2, records[0].Info.DisplayName);
            LineBreak();
            AppendLine("> ", records[0].RuleName);
            LineBreak();
            AppendLine(records[0].Info.Synopsis);
            LineBreak();
            AppendLine(records[0].Info.Description);
            LineBreak();

            // Info block
            AppendLine("```yaml");
            foreach (var key in records[0].Info.Annotations.Keys)
            {
                if (key.ToString() != "online version")
                {
                    AppendLine(key.ToString(), ": ", records[0].Info.Annotations[key].ToString());
                }
            }
            AppendLine("```");
            LineBreak();

            // Add recommendation
            AppendLine("**", ReportStrings.Markdown_Recommendation, "**:");
            LineBreak();
            AppendLine(records[0].Recommendation);
            LineBreak();

            // Add links
            if (records[0]?.Info?.Links?.Length > 0)
            {
                AppendLine("**", ReportStrings.Markdown_Links, "**:");
                LineBreak();
                for (var i = 0; i < records[0].Info.Links.Length; i++)
                {
                    Link(records[0].Info.Links[i]);
                }
            }
            LineBreak();

            // Get padding
            var padding = new int[3] { 0, 0, 0 };
            GetColumnPadding(padding, ReportStrings.Markdown_TargetName, ReportStrings.Markdown_TargetType, ReportStrings.Markdown_Outcome);
            for (var i = 0; i < records.Length; i++)
                GetColumnPadding(padding, records[i].TargetName, records[i].TargetType, records[i].Outcome.ToString());

            // Build results table
            LineBreak();
            AppendLine("**", ReportStrings.Markdown_Results, "**:");
            LineBreak();
            AppendLine(ReportStrings.Markdown_ResultText);
            LineBreak();
            AppendColumn(ReportStrings.Markdown_TargetName, Space, padding[0]);
            Append(" | ");
            AppendColumn(ReportStrings.Markdown_TargetType, Space, padding[1]);
            Append(" | ");
            AppendColumn(ReportStrings.Markdown_Outcome, Space, padding[2]);
            LineEnd();
            AppendColumn('-', ReportStrings.Markdown_TargetName.Length, Space, padding[0]);
            Append(" | ");
            AppendColumn('-', ReportStrings.Markdown_TargetType.Length, Space, padding[1]);
            Append(" | ");
            Append('-', ReportStrings.Markdown_Outcome.Length);
            LineEnd();
            for (var i = 0; i < records.Length; i++)
            {
                AppendColumn(records[i].TargetName, Space, padding[0]);
                Append(" | ");
                AppendColumn(records[i].TargetType, Space, padding[1]);
                Append(" | ");
                Append(records[i].Outcome.ToString());
                LineEnd();
            }
        }