!contents with Recursive option

Use !contents to list all or some of the child pages of the current page along with additional information such as help text, suite filters, some property settings, and graceful names. Example:

!contents -R2 -g -p -f -h

Instead of defining arguments on the !contents widget, variables can be defined that act as global properties.

argument description Variable
-R Include all of the descendent pages.
-Rn Include n levels of descendent pages.
-f Show suite filters. FILTER_TOC {true}
-g Show graceful names in the list. REGRACE_TOC {true}
-h Show help property text HELP_TOC {true}
-H Show help property text as TOC title, and show page name using small letters. HELP_INSTEAD_OF_TITLE_TOC {true}
-p Show property suffixes. Defaults: Suite(*), Test(+), Imported(@), Symbolic(>), Skip(-). PROPERTY_TOC {true} PROPERTY_CHARACTERS {*+@>-}
-c Show number of test pages in a suite.
First create the parent page.
script
start Page Builder
line I'm the parent
line !contents -R
page ParentPage

Next create a child
script
start Page Builder
line I came first!
attributes Suite=true,Test=true,Suites=FC1
page ParentPage.FirstChild

Next create a sibling
script
start Page Builder
line I'm younger, but wiser
attributes WikiImport=true,Prune=true,Suites=FC2
page ParentPage.SecondChild
Next create a grandchild
script
start Page Builder
line You're too young to be grandparents
page ParentPage.FirstChild.GrandChild

Then request the parent page.
Response Requester.
uri valid? contents?
ParentPage true

...and examine the requested page to be sure that the descendent pages are included
Response Examiner.
type pattern matches?
contents a href="ParentPage.FirstChild" class="suite">FirstChild</a true
contents a href="ParentPage.FirstChild.GrandChild" class="static">GrandChild</a true
contents a href="ParentPage.SecondChild" class="static linked pruned">SecondChild</a true

Also note that the html assigns css classes named toc1, toc2, etc depending on how far down you go. This allows you to define different characteristics for each level in the hierarchy by editing /files/css/fitnesse.css.
Response Examiner.
type pattern matches?
contents ul class="toc1" true
contents ul class="toc2" true