• Subpage markup

    By Dave Parillo 2 decades ago

    A recent change we've made at our site add the concept of a 'subpage'



    Starting a wiki link with a '.' indicates a relative page link. The SubPage idea allows every main page to contain its own wiki universe of subpages. The subpages can be used to help refactor a large page without the problems of a LongPrefixBeforeEachPage.



    Subpages of a common topic can easily refer to each other without a prefix, while outside pages require the prefix. Siblings can refer to eachother using '' i.e. SomePage to refer to a sibling of the current page vs. a child.





    Use !AncestorPage.SomePage where AncestorPage is a parent, grandparent, or somewhere up the parent chain. You can use this to search backwards through the page hierarchy until you find the named page.





    If you open a page that has a parent page, the entire ancestor hierarchy is displayed as links justabove the content area allowing easy access to any ancestor.



    My primary concern about this feature is that it does not embody WikiZen. A normal wiki has a flat page structure. However, FitNesse is an example of a rigidly hierarchical wiki.



    I have not completely figured out how to use subpages yet, or even if they are a great idea. Comments & questions welcome.



    The rationale for us was primarily laziness. We'd rather type [[.ConfigurationManagement]] than [wiki:ProjectAlpha.ProjectPlan.ConfigurationManagement ConfigurationManagement] to get both the behavior and the look on the page we wanted.



    As it turns out, we have sections of our wiki which seem to benefit a lot from having a hierarchy - other sections don't need it at all. So far, we have had no problems running a "mixed bag" wiki. Time will tell.



    To Do

    Add !contents MarkUp to create a list of all the immediate child pages of a parent page.


    On a tangentially related note, I'd like to be able to link to a section heading within a document and/ or generate a table of contents from the section heading, but this is lower priority for me.