Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/docascode/sphinx-docfx-yaml

Sphinx DocFX YAML is an exporter for the Sphinx Python domain into DocFX YAML format.
https://github.com/docascode/sphinx-docfx-yaml

Last synced: 3 months ago
JSON representation

Sphinx DocFX YAML is an exporter for the Sphinx Python domain into DocFX YAML format.

Awesome Lists containing this project

README

        

Sphinx DocFX YAML
=================

.. image:: https://travis-ci.org/docascode/sphinx-docfx-yaml.svg?branch=master
:target: https://travis-ci.org/docascode/sphinx-docfx-yaml

Sphinx DocFX YAML is an exporter for the Sphinx Autodoc module into `DocFX YAML `_.

You can read the full documentation online at http://sphinx-docfx-yaml.readthedocs.io

Contents
--------

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

design
layout
api

Basic Workflow
--------------

* Write RST that includes Python `autodoc `_
* Render internal doctree into YAML
* Output YAML into output directory

Install
-------

First you need to install docfx-yaml:

.. code:: bash

pip install sphinx-docfx-yaml

Then add it to your Sphinx project's ``conf.py``:

.. code:: python

# Order matters here.
# The extension must be defined *after* autodoc,
# because it uses a signal that autodoc defines
extensions = ['sphinx.ext.autodoc', 'docfx_yaml.extension']

Make sure you are using autodoc in your code somewhere::

.. automodule:: foo.bar

Then build your documentation::

make html

Inside your build directory (``_build/html`` usually),
the ``docfx_yaml`` will contain the YAML files that are output.

.. Modes
-----

There are two output modes that specify the structure of the YAML files.
The first is ``module`` which means that the YAML files will be output in files corresponding to the name of their module.
The second modes is ``rst`` which outputs them in the same structure as the RST files they were defined in.

Design
------

Read more about the design in our :doc:`design`.

Layout
------

This project has a few different pieces at this point.
It's primary goal was to integrate the Azure Python SDK into the docfx tooling.
You can read more about the pieces currently set up in the :doc:`layout`.

Napoleon Support
----------------

We support ``sphinx.ext.napoleon`` for parsing docstrings in other formats.
Currently all markup that maps to existing Sphinx `info field lists `_ will work,
along with ``Examples``.
In order to pull examples out,
you need the ``napoleon_use_admonition_for_examples`` set to ``True``.