| @@ -194,10 +194,11 @@ namespace Docnet | |||||
| relativePathToRoot, | relativePathToRoot, | ||||
| this.GetFinalTargetUrl(navigationContext.PathSpecification), | this.GetFinalTargetUrl(navigationContext.PathSpecification), | ||||
| this.Name)); | this.Name)); | ||||
| if (isCurrent && _relativeLinksOnPage.Any()) | |||||
| if (isCurrent && _relativeLinksOnPage.SelectMany(x => x.Children).Any(x => x.Level > 1)) | |||||
| { | { | ||||
| // generate relative links | // generate relative links | ||||
| fragments.Add(string.Format("<ul class=\"{0}\">", this.ParentContainer.IsRoot ? "currentrelativeroot" : "currentrelative")); | fragments.Add(string.Format("<ul class=\"{0}\">", this.ParentContainer.IsRoot ? "currentrelativeroot" : "currentrelative")); | ||||
| foreach (var heading in _relativeLinksOnPage) | foreach (var heading in _relativeLinksOnPage) | ||||
| { | { | ||||
| var content = GenerateToCFragmentForHeading(heading, navigationContext); | var content = GenerateToCFragmentForHeading(heading, navigationContext); | ||||
| @@ -206,6 +207,7 @@ namespace Docnet | |||||
| fragments.Add(content); | fragments.Add(content); | ||||
| } | } | ||||
| } | } | ||||
| fragments.Add("</ul>"); | fragments.Add("</ul>"); | ||||
| } | } | ||||
| else | else | ||||
| @@ -254,7 +256,8 @@ namespace Docnet | |||||
| var stringBuilder = new StringBuilder(); | var stringBuilder = new StringBuilder(); | ||||
| // Skip heading 1 and larger than allowed | // Skip heading 1 and larger than allowed | ||||
| if (heading.Level > 1 && heading.Level <= navigationContext.MaxLevel) | |||||
| var isHeading1 = heading.Level <= 1; | |||||
| if (!isHeading1 && heading.Level <= navigationContext.MaxLevel) | |||||
| { | { | ||||
| stringBuilder.AppendLine(string.Format("<li class=\"tocentry\"><a href=\"#{0}\">{1}</a></li>", heading.Id, heading.Name)); | stringBuilder.AppendLine(string.Format("<li class=\"tocentry\"><a href=\"#{0}\">{1}</a></li>", heading.Id, heading.Name)); | ||||
| } | } | ||||
| @@ -272,11 +275,19 @@ namespace Docnet | |||||
| if (childContentBuilder.Length > 0) | if (childContentBuilder.Length > 0) | ||||
| { | { | ||||
| stringBuilder.AppendLine("<li class=\"tocentry\">"); | |||||
| stringBuilder.AppendLine(string.Format("<ul class=\"{0}\">", this.ParentContainer.IsRoot ? "currentrelativeroot" : "currentrelative")); | |||||
| if (!isHeading1) | |||||
| { | |||||
| stringBuilder.AppendLine("<li class=\"tocentry\">"); | |||||
| stringBuilder.AppendLine(string.Format("<ul class=\"{0}\">", this.ParentContainer.IsRoot ? "currentrelativeroot" : "currentrelative")); | |||||
| } | |||||
| stringBuilder.AppendLine(childContentBuilder.ToString()); | stringBuilder.AppendLine(childContentBuilder.ToString()); | ||||
| stringBuilder.AppendLine("</ul>"); | |||||
| stringBuilder.AppendLine("</li>"); | |||||
| if (!isHeading1) | |||||
| { | |||||
| stringBuilder.AppendLine("</ul>"); | |||||
| stringBuilder.AppendLine("</li>"); | |||||
| } | |||||
| } | } | ||||
| return stringBuilder.ToString(); | return stringBuilder.ToString(); | ||||