diff --git a/src/DocNet/SimpleNavigationElement.cs b/src/DocNet/SimpleNavigationElement.cs
index 81bcddf..53e6105 100644
--- a/src/DocNet/SimpleNavigationElement.cs
+++ b/src/DocNet/SimpleNavigationElement.cs
@@ -194,10 +194,11 @@ namespace Docnet
relativePathToRoot,
this.GetFinalTargetUrl(navigationContext.PathSpecification),
this.Name));
- if (isCurrent && _relativeLinksOnPage.Any())
+ if (isCurrent && _relativeLinksOnPage.SelectMany(x => x.Children).Any(x => x.Level > 1))
{
// generate relative links
fragments.Add(string.Format("
", this.ParentContainer.IsRoot ? "currentrelativeroot" : "currentrelative"));
+
foreach (var heading in _relativeLinksOnPage)
{
var content = GenerateToCFragmentForHeading(heading, navigationContext);
@@ -206,6 +207,7 @@ namespace Docnet
fragments.Add(content);
}
}
+
fragments.Add("
");
}
else
@@ -254,7 +256,8 @@ namespace Docnet
var stringBuilder = new StringBuilder();
// 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("{1}", heading.Id, heading.Name));
}
@@ -272,11 +275,19 @@ namespace Docnet
if (childContentBuilder.Length > 0)
{
- stringBuilder.AppendLine("");
- stringBuilder.AppendLine(string.Format("", this.ParentContainer.IsRoot ? "currentrelativeroot" : "currentrelative"));
+ if (!isHeading1)
+ {
+ stringBuilder.AppendLine("- ");
+ stringBuilder.AppendLine(string.Format("
", this.ParentContainer.IsRoot ? "currentrelativeroot" : "currentrelative"));
+ }
+
stringBuilder.AppendLine(childContentBuilder.ToString());
- stringBuilder.AppendLine("
");
- stringBuilder.AppendLine(" ");
+
+ if (!isHeading1)
+ {
+ stringBuilder.AppendLine("
");
+ stringBuilder.AppendLine("");
+ }
}
return stringBuilder.ToString();