docs: def _DocPackageFromTop(self, packages, showprivate=False, showinh=False):
          """Generates all of the documentation for given packages and
          appends new tocrees to the index. All documentation pages will be under the
          set relative path.
  
          Args:
              packages (list(module)): A package or list of packages that contain submodules to document
              showprivate (bool): A flag for whether or not to display private members
  
          Returns:
              str: The new content to append to the index
          """
          appIndex = ''
          if not isinstance(packages, list):
              packages = [packages]
  
          if os.path.exists('content'):
              shutil.rmtree('content')
          os.makedirs('content')
  
          appIndex += r'''
  
  .. toctree::
     :maxdepth: 5
     :hidden:
     :caption: %s:
  
  ''' % ('API Index')
  
          # Iterate over each package and generate appropriate pages
          for i in range(len(packages)):
              # The package to document and its path
              package = packages[i]
              try:
                  name = package.__displayname__
              except AttributeError:
                  name = package.__name__
              # Make sure paths are ready
              path = 'content/%s' % package.__name__
              if os.path.exists(path):
                  shutil.rmtree(path)
              os.makedirs(path)
  
              # Check if there is top level documentation
              # if package.__doc__:
              # Get metadata
              meta = 'About %s\n%s\n' % (name, '='*len('About ' + name))
              author = getattr(package, "__author__", None)
              license = getattr(package, "__license__", None)
              copyright = getattr(package, "__copyright__", None)
              version = getattr(package, "__version__", None)
              if author: meta += '\n* Author: %s' % author
              if license: meta += '\n* License: %s' % license
              if copyright: meta += '\n* Copyright: %s' % copyright
              if version: meta += '\n* Version: %s' % version
              about = '%s/%s' % (path, 'index.rst')
  
              this_toc = r'''
  
  .. toctree::
     :maxdepth: 5
     :caption: %s:
  ''' % (name)
  
              this_toc += self._MakePackagePages(package, showprivate=showprivate, showinh=showinh)
              this_toc = this_toc.replace('%s/' % path, '')
  
              with open(about, 'w') as f:
                  f.write('%s\n\n' % meta)
                  if package.__doc__:
                      f.write(package.__doc__)
                  f.write(this_toc)
  
              appIndex += '\n   %s' % about
  
          # Return the new content to append
          return appIndex