Skip to main content

Sphinx Python Domain to DocFX YAML Generator

Project description

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

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

.. image:: https://ci.appveyor.com/api/projects/status/m9t5a331de14mwfi/branch/master?svg=true
:target: https://ci.appveyor.com/project/ericholscher/sphinx-docfx-yaml

Sphinx DocFX YAML is an exporter for the Sphinx Autodoc module into `DocFX YAML <https://dotnet.github.io/docfx/spec/metadata_format_spec.html>`_.

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 <www.sphinx-doc.org/en/stable/ext/autodoc.html>`_
* 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 <http://www.sphinx-doc.org/en/stable/domains.html#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``.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinx-docfx-yaml-1.2.32.tar.gz (22.1 kB view details)

Uploaded Source

File details

Details for the file sphinx-docfx-yaml-1.2.32.tar.gz.

File metadata

File hashes

Hashes for sphinx-docfx-yaml-1.2.32.tar.gz
Algorithm Hash digest
SHA256 e8d0629ef859f1d137967197cab66f2a120e892bb0508604573b9d40d540dcc7
MD5 a046d96c05459be98bb8cf3d56b6b490
BLAKE2b-256 78d8b268d5664b245adc43a259db488ce47dffbdd491b764b1580ccb846ac83a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page