Example #1
0
        /// <summary>
        /// Generate the nested elements in the table of contents
        /// </summary>
        /// <param name="modelClass">
        /// The model class.
        /// </param>
        /// <param name="containers">
        /// The containers.
        /// </param>
        /// <param name="sb">
        /// The sb.
        /// </param>
        private void GenerateNestedToc(Class modelClass, List<Class> containers, StringBuilder sb)
        {
            sb.AppendLine(string.Format("<li>{0}<ul class=\"nav nav-pills nav-stacked\">", modelClass.HtmlLinkToTopPageFocused()));

            if (containers.Count == 1)
            {
                foreach (var c in modelClass.Classes)
                {
                    sb.AppendLine(string.Format("<li>{0}</li>", c.HtmlLinkToPage()));
                }
            }

            for (int i = 1; i < containers.Count; i++)
            {
                if (i == containers.Count - 1)
                {
                    sb.AppendLine(string.Format("<li>{0}<ul class=\"nav nav-pills nav-stacked\">", containers[i].HtmlLinkToPageFocused()));
                    foreach (var c in containers[i].Classes)
                    {
                        sb.AppendLine(string.Format("<li>{0}</li>", c.HtmlLinkToPage()));
                    }
                }
                else
                {
                    sb.AppendLine(string.Format("<li>{0}<ul class=\"nav nav-pills nav-stacked\">", containers[i].HtmlLinkToPage()));
                }
            }

            for (int i = 1; i < containers.Count; i++)
            {
                sb.AppendLine(string.Format("</ul></li>"));
            }

            sb.AppendLine(string.Format("</ul></li>"));
        }