Exemplo n.º 1
0
        void RenderTable(IEnumerable <DocBase> members, string tableName, Func <DocBase, string> memberNameTransform = null, bool generateMemberLink = false, bool renderRemarks = true)
        {
            if (members.Count() <= 0)
            {
                return;
            }

            var tableStringBuilder = new StringBuilder();

            tableStringBuilder.Append(_renderer.RenderNewParagraph() + _renderer.RenderHeader(tableName, level: 2));
            tableStringBuilder.Append(_renderer.RenderNewParagraph());

            var dict  = new Dictionary <string, string>();
            var regex = new Regex("[^a-zA-Z0-9 -]");

            foreach (var member in members)
            {
                var memberNameTransformed = memberNameTransform == null ? member.Name : memberNameTransform(member);
                var memberNameLink        = "#" + regex.Replace(memberNameTransformed.ToLower(), "").Replace(" ", "-");

                var remarks = "";
                if (renderRemarks
                    &&
                    !String.IsNullOrWhiteSpace(member.Remarks))
                {
                    remarks = _renderer.RenderText("Remarks:", italic: true, bold: true) + " " + _renderer.RenderText(_renderer.Sanitize(member.Remarks).Trim(), italic: true);
                }

                dict.Add(generateMemberLink ? String.Format("[{0}]({1})", memberNameTransformed, memberNameLink) : memberNameTransformed,
                         _renderer.Sanitize(member.Summary) + _renderer.RenderLineBreak() + remarks);
            }
            tableStringBuilder.Append(_renderer.RenderDescriptionBlock(dict));

            _docStringBuilder.Append(tableStringBuilder.ToString());
        }
Exemplo n.º 2
0
        void RenderProperties(IEnumerable <PropertyDoc> properties)
        {
            if (properties.Count() <= 0)
            {
                return;
            }

            var propertiesStringBuilder = new StringBuilder();

            propertiesStringBuilder.Append(_renderer.RenderLineBreak() + _renderer.RenderHeader("Properties", level: 2));

            propertiesStringBuilder.Append(_renderer.RenderLineBreak());

            var dict = new Dictionary <string, string>();

            foreach (var property in properties)
            {
                var remarks = "";
                if (property.Remarks != null)
                {
                    remarks = _renderer.RenderText("Remarks: ", italic: true, bold: true) + _renderer.RenderText(_renderer.Sanitize(property.Remarks), italic: true);
                }

                dict.Add(property.Name, property.Summary + remarks);
            }
            propertiesStringBuilder.Append(_renderer.RenderDescriptionBlock(dict));

            _docStringBuilder.Append(propertiesStringBuilder.ToString());
        }
        public void RenderDescriptionBlockTest()
        {
            var values = new Dictionary <string, string>();

            values.Add("Name1", "Description1");
            values.Add("Name2", "Description2");

            var actualText = _gitHubRenderer.RenderDescriptionBlock(values);

            Assert.AreEqual("| Name | Description |\n| --- | --- |\n| Name1 | Description1 |\n| Name2 | Description2 |\n", actualText);
        }