#33: Adding headers on the top of ToC-s, like "Page Contents".
diff --git a/src/main/org/freemarker/docgen/less/lib/components/page-menu.less b/src/main/org/freemarker/docgen/less/lib/components/page-menu.less
index bd84fbe..861576b 100644
--- a/src/main/org/freemarker/docgen/less/lib/components/page-menu.less
+++ b/src/main/org/freemarker/docgen/less/lib/components/page-menu.less
@@ -1,5 +1,12 @@
.page-menu {
+ .page-menu-title {
+ margin-top: 0;
+ margin-bottom: 1em;
+ color: @header-color;
+ font-weight: bold;
+ }
+
@border-spacing: 12px;
margin: 0 0 @border-spacing;
@@ -22,4 +29,5 @@
color: #800080;
}
}
+
}
diff --git a/src/main/org/freemarker/docgen/templates/page.ftl b/src/main/org/freemarker/docgen/templates/page.ftl
index eb3dda9..b77f14a 100644
--- a/src/main/org/freemarker/docgen/templates/page.ftl
+++ b/src/main/org/freemarker/docgen/templates/page.ftl
@@ -136,8 +136,10 @@
<#elseIf pageType == "docgen:detailed_toc">
<@toc att="docgen_detailed_toc_element" maxDepth=99 /><#t>
<#else>
- <@toc att="docgen_file_element" maxDepth=maxTOFDisplayDepth /><#t>
- <@toc att="docgen_page_toc_element" maxDepth=99 minLength=2 /><#t>
+ <@toc att="docgen_file_element" maxDepth=maxTOFDisplayDepth
+ title=(.node?parent?nodeType == "document")?then('Table of Contents', 'Section Contents')
+ /><#t>
+ <@toc att="docgen_page_toc_element" maxDepth=99 minLength=2 title="Page Contents" /><#t>
<#-- - Render the usual content, like <para>-s etc.: -->
<#list .node.* as child>
<#if child.@docgen_file_element?size == 0
@@ -175,11 +177,16 @@
</#macro>
-<#macro toc att maxDepth minLength=1>
+<#macro toc att maxDepth minLength=1 title=''>
<#compress>
<#local tocElems = .node["*[@${att}]"]>
<#if (tocElems?size >= minLength)>
+ <div class="page-menu">
+ <#if title != ''>
+ <div class="page-menu-title">${title?html}</div>
+ </#if>
<@toc_inner tocElems=tocElems att=att maxDepth=maxDepth curDepth=1 /><#t>
+ </div>
</#if>
</#compress>
</#macro>
@@ -189,11 +196,7 @@
<#compress>
<#if tocElems?size == 0><#return></#if>
- <#if curDepth == 1>
- <#local class = "page-menu">
- </#if>
-
- <ul<#if class?hasContent> class="${class?trim}"</#if>><#t>
+ <ul><#t>
<#list tocElems as tocElem>
<li><#t>
<a class="page-menu-link" href="${CreateLinkFromID(tocElem.@id)?html}" data-menu-target="${tocElem.@id}"><#t>