Sphinx包含包装中的文档 包装文件主要文档

问题描述

我有几个项目,每个项目有一个存储库。其中一个存储库管理着一个全局文档,其他所有存储库都是python软件包。

我想使每个软件包的文档保持独立(不仅是模块文档,还包括安装说明/示例/等)。换句话说,每个程序包都负责其自己的文档。

主要文档存储库应包括所有文档(并在其上添加一些结构以及一些文本,以将所有这些软件包链接在一起)。我正在寻找比现在更简单/清洁的解决方案。

当前解决方

包装文件

每个程序包都有一个doc/文件夹,其中包含两个module_description.rst结构化自动文档语句)。例如,对于package_name,看起来或多或少是这样的:

Interface
----------

.. autoclass:: package_name.AbstractClass
    :members:
    :undoc-members:
    :member-order: bysource

Basic implementations
---------------------

.. autoclass:: package_name.ImplementationOne
    :members:
    :undoc-members:
    :member-order: bysource

.. autoclass:: package_name.ImplementationTwo
    :members:
    :undoc-members:
    :member-order: bysource

我拥有的第二个文件一个index.rst,看起来像:

.. toctree::
    :glob:
    :hidden:
    :maxdepth: 2

    module_description
    tutorials/*
    examples/*

############
Package Name
############

Install instructions
====================

.. code-block:: bash

    pip install package_name

主要文档

主要文档包括对仅包含一行的文档的引用:

.. include:: ../../submodules/package_name/doc/_sources/index.rst

如您可能猜到的,要使这项工作有效,我使用了一个git子模块,该子模块指向package_name存储库,并允许我获取文件package_name/doc/_sources/index.rst。单独执行此操作无效,因为autodoc语句找不到模块package_name

因此,我需要在主文档中安装软件包。我有两个选择,要么从子模块安装,要么直接从程序包注册表安装(两者都可以)。

问题

我可以避免添加git子模块,而仅安装package_name吗?如果是这样,如何从主要的狮身人面像文档中加入其doc/index.rst

也许有更好的方法,但是我找不到关于此的文章。当我努力寻找合适的词问我的搜索引擎朋友时,任何参考都将受到欢迎。

请注意,我有一个约束,我希望gitlab从此主要文档版本生成页面

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...