*********
Blueprint
*********
.. _REFERENCE_ARCHITECTURE:
The modern landscapes of information infrastructures are commonly designed
and organized as stacks of heterogeneous runtime environments
with comon frameworks.
This frequently requires the installation of specific components for various
platforms, including the generation of adapted packages, extended documentation,
and the automation of distributed large-scale tests.
The *setupdocxs* extends the *setuptools* for the required commands and options.
.. only:: singlehtml
.. container:: figabstract
.. figurewrap:: _static/setupdocx-architecture.png
:width-singlehtml: 250
:target-html: _static/setupdocx-architecture.png
:align: center
Figure: SetupDocX Integration
.. only:: not singlehtml
.. figurewrap:: _static/setupdocx-architecture.png
:width: 250
:target-html: _static/setupdocx-architecture.png
:align: center
Figure: SetupDocX Integration
The package *setupdocx* provides the logical functions
.. only:: singlehtml
.. container:: figabstract
.. figurewrap:: _static/setupdocx-components.png
:width-singlehtml: 450
:target-html: _static/setupdocx-components.png
:align: center
Figure: SetupDocX functions *apidoc* and *apiref*
.. only:: not singlehtml
.. figurewrap:: _static/setupdocx-components.png
:width: 450
:target-html: _static/setupdocx-components.png
:align: center
Figure: SetupDocX functions *apidoc* and *apiref*
* *build_docx*
* *doc* - Create documentation composed by edited reST modules and optional
documentation generated from the code.
* *apidoc* - Create documentation composed by edited reST modules and optional
extracted inline documentation generated from the code.
* *build_apiref*
* *apiref* - Create optional *API* reference by automated code analysis extended
by optional inline documentation.
* *dist_docx*
* create archives and distribution packages
* *install_docx*
* install locally from source-build or distribution packages
The current implemented components are:
.. raw:: html
+----------+---------------------------------------------------------------------+---------------------------------------+------------------------------------+
| function | command | wrapper | builder |
+==========+=====================================================================+=======================================+====================================+
| doc | :ref:`build_docx --apidoc='' ` | :ref:`call_doc.sh ` | sphinx-build(1) |
+----------+---------------------------------------------------------------------+---------------------------------------+------------------------------------+
| apidoc | :ref:`build_docx ` | :ref:`call_apidoc.sh ` | sphinx-build(1) + sphinx-apidoc(2) |
+----------+---------------------------------------------------------------------+---------------------------------------+------------------------------------+
| apidoc | :ref:`build_docx option "--apiref" ` | :ref:`call_apidoc.sh ` | sphinx-build(1) + sphinx-apidoc(2) |
| | | + :ref:`call_apiref.sh ` | + epydoc(3) |
+----------+---------------------------------------------------------------------+---------------------------------------+------------------------------------+
| apiref | :ref:`build_apiref ` | :ref:`call_apiref.sh ` | epydoc(3) |
+----------+---------------------------------------------------------------------+---------------------------------------+------------------------------------+
.. raw:: html
**(1)**: see [sphinx]_, [sphinx-build]_ - calls by default 'build_doc', "--apidoc=''" deactivates the 'build_apidoc' call
**(2)**: see [sphinx-apidoc]_
**(3)**: see [epydoc]_, requires for some syntax elements of Python3 some patches which will be publicly available soon
A widespread of commonly required themes and formats for the automation
of internal and external publishing is contained by prepared
:ref:`configuration templates `,
additonal are available.
Custom themes and templates could be easily added.
The automation of open publication on various local and remote sites - e.g.
local filesystem, local servers, github-pages, ReadTheDocs.org, SourceForge.io - is
available by the distribution command :ref:`install_docx `.
The current extension commands provide the complete flow of document creation,
packaging for distribution, and the installation.
.. only:: singlehtml
.. container:: figabstract
.. figurewrap:: _static/quickstart-flow.png
:width-latex: 350
:width: 400
:target-html: _static/quickstart-flow.png
:align: center
Figure: Documentation Workflow :ref:`more... `
.. only:: not singlehtml
.. figurewrap:: _static/quickstart-flow.png
:width-latex: 350
:width: 400
:target-html: _static/quickstart-flow.png
:align: center
Figure: Basic Documentation Workflow :ref:`more... `
* Document creation, packaging, distribution, and installation with *sphinx* and *epdydoc* integration:
.. parsed-literal::
python :ref:`setup.py ` :ref:`build_docx ` # compiles documents
python :ref:`setup.py ` :ref:`build_apiref ` # compiles documents
python :ref:`setup.py ` :ref:`dist_docx ` # creates document distribution packages
python :ref:`setup.py ` :ref:`install_docx ` # installs local from build directory
The processed programming languages, document types, and presentation styles could be easily adapted to a variety
of predefined templates, and/or custom made designs.
The customization provides for configurations, builder for various languages and document types, and
presentation styles.
The directory structure is the same for the the provided templates as required for user defined
custom setups.
.. only:: singlehtml
.. container:: figabstract
.. figurewrap:: _static/source-dir-tree.png
:width-singlehtml: 450
:target-html: _static/source-dir-tree.png
:align: center
Figure: Standard and custom template directories.
.. only:: not singlehtml
.. figurewrap:: _static/source-dir-tree.png
:width: 450
:target-html: _static/source-dir-tree.png
:align: center
Figure: Standard and custom template directories.