The source repository is available also on GitHub.
- $Autotoc: containing the table of contents dynamically created from the content of the current page. The tree is provided as a mixture of ArrayData and ArrayList, ready to be consumed by templates.
- $AugmentedContent: similar to $Content but augmented with anchors
<a>elements with the id attribute but without href) that adds proper destination targets to the links in $Autotoc.
To see a live example of this module, you can browse the ADG canvas website: every table of contents is generated dynamically!
The $Autotoc is a tree that can be represented with the following pseudo representation:
$Autotoc = ArrayData( $Children <- <CHILDREN> ) <CHILDREN> = ArrayList( <ITEM> ) <ITEM> = ArrayData( $Id, $Title [, $Children <- <CHILDREN> ] )
In a more SilverStripe template way, this can be seen as:
$Autotoc $Children $Id $Title $Children
The Autotoc.ss and AutotocItem.ss shows a way to represent the whole table of content tree in a recursive way. The format used is intentionally compatible with the Bootstrap navlist components, so it can be used and it will be properly handled by the Silverstrap theme.