Combining Sphinx documentation from multiple subprojects: Handling indices, syncing configuration, etc

  1. I'm not sure what you mean by this. Your project's index appears to be just fine. Could you clarify on this, please?
  2. As far as I've seen, from common_config import * is the best approach for keeping configuration in sync.
  3. I think the best way to do this is something like the following directory structure:

    main-project/
     conf.py
     documentation.rst
    
     sub-project-1/
        conf.py - imports from main-project/conf.py
        documentation.rst
    
     sub-project-2/
        conf.py - likewise, imports from main-project/conf.py
        documentation.rst
    

    Then, to just package sub-project-1 or sub-project-2, use this UNIX command:

    sphinx-build main-project/ <output directory> <paths to sub-project docs you want to add>
    

    That way, not only will the main project's documentation get built, the sub-project documentation you want to add will be added as well.

    To package main-project:

    sphinx-build main-project/ <output directory>
    

    I'm pretty sure this scheme will work, but I've yet to test it out myself.

Hope this helps!