Completed Edit me
A user can nest any page under another page, creating a parent-child relationship

User Story

As a PRACTICAL ™ Documentation System User, I want to be able to nest a page directly under any other page, and have the “parent” page automatically show up in the navigation as-if it were a folder, containing all of it’s “children” pages.

Acceptance Criteria

  1. Scenario 1

    • Given that I have some page “A.html” and another page “B.html” …

      and both files exist in the “my_product” folder under “pages”

    • When I use the “folderitems” element in the the sidebar yaml file for my product as follows:

      - title: This is Page A
        url: /pages/my_product/A.html
        output: web, pdf
        folderitems:
        - title: This is Page B
          url: /pages/my_product/B.html
          output: web, pdf
      
    • Then the Page “B.html” appears as a nested link under Page “A.html”

  2. Scenario 2

    • Given that I have some page “A.html” and another page “B.html” …

      and page “A.html” exist in the “my_product” folder under “pages”

      but page “B.html” exist in the “my_product/a_children” folder under “pages”

    • When I use the “folderitems” element in the the sidebar yaml file for my product as follows:

      - title: This is Page A
        url: /pages/my_product/A.html
        output: web, pdf
        folderitems:
        - title: This is Page B
          url: /pages/my_product/a_children/B.html
          output: web, pdf
      
    • Then the Page “B.html” appears as a nested link under Page “A.html”, just as before. i.e., it looks no different either way

Implementation

To implement this, the following items were changed in the Jekyll Documentation Template:

  • Eliminate the silly "Entries" list and associated "For each" template that allows definition of more than one navbar at a time. It's broken anyway.
  • Update the sidebar template to determine if this is a folder by checking for nested folder items.
  • Eliminate the "Folders" tag in the sidebar yaml.
  • Deal with the problem of folders not being 'Active' (may resolve itself... we'll see)