silverstripe-autotoc Git Change Log

Age Message
6 years 10 months Do not handle $Content if does not exist

Avoid a warning when trying to access $Content on a DataObject that does
not have it, for instance when logging in.
7 years 1 day Improve composer.json compatibility

Follow the hints provided by SilverStripe developers at

Furthermore, trying to change the default installation directory by
defining the somewhat undocumented extra/installer-name option.
7 years 13 days Revert "Use a less verbose package name"

This reverts commit 9a950978f04cfae7a72f6e7de4f4dca89b1d607a.
The package name is already registered at The original
intent was to rename the default module directory from
"silverstripe-autotoc" to "autotoc" but this seems to be the wrong way.
7 years 13 days Use a less verbose package name
7 years 27 days Use proper license in composer.json
7 years 27 days Add missing comma to composer.json
7 years 27 days Cite silverstrap as compatible theme in composer
7 years 27 days Add composer support
7 years 2 months Provide a custom tag to be added to the body

Autotoc should be conditionally enabled, and this means also the
data-spy stuff (for bootstrap based themes) should be conditional.

A typical usage of this tag is <body$BodyAutotoc>, so if
silverstripe-autotoc is not installed it will be resolved to <body>.
7 years 4 months Strip <small> content from the TOC title

In bootstrap, <small>...</small> is used to specify an optional
subtitle: it does not need to be included in the TOC.
7 years 5 months Trying to solve the eternal encoding problem

The previous hack (prepending the XML with a UTF-8 preamble) did not
work in an older PHP version. Trying to skin the cat by using
mb_convert_encoding() and hoping for the best.
7 years 6 months Refactoring to be an extension to ContentController

The autotoc feature pertains more to the controller than to the model:
it is a way to see the data, not the data itself. Furthermore, this new
implementation also works when the data is generated dynamically by the
controller or by some routing mechanism, such as in silverstripe-gtkdoc.
7 years 6 months Using forTemplate() on fallback value too
7 years 6 months Improved Tocifier UTF-8 handling

Always prefix the content with "<?xml encoding=\"utf-8\" ?>\n" to force
proper UTF-8 handling. Do not store this prefix inside the object but
dynamically add it before the parsing.
7 years 6 months Added missing ShortCode parsers to AugmentedContent

The content to be parset by Tocifier should be forTemplate(), not plain
Content. This way the ShortCode expansions (such as sitetree_link, used
for local pages links) will be performed.
7 years 6 months Improved test cases
7 years 6 months Update tests for PHPunit
7 years 7 months Added documentation
7 years 7 months Added proper UTF-8 handling
7 years 7 months Updated tests
7 years 7 months Add class to target anchors

This allows to style the anchors, expecially the vertical offset.
7 years 7 months Use AugmentedContent instead of Content

Do not touch the Content field: it is used also for database handling
and modifying it will introduce a lot of issues. Instead, added the new
AugmentedContent element to be used instead of Content in templates.
7 years 7 months Renamed templates and methods to minimize clashes

TOC is a quite common name, so using Autotoc instead to avoid clashes.
Renamed templates accordingly and removed i18n dependent stuff (the
"Table of contents" string) that could be handled at higher level.
7 years 7 months Bare (working) implementation
7 years 7 months Initial import