Name Date Size #Lines LOC

..--

__pycache__/H--

READMEH A D05-Jun-20252.7 KiB6340

define_document.tmplH A D05-Jun-2025864 2821

docmodel.pyH A D05-Jun-20258.8 KiB252207

doxy.pyH A D05-Jun-20252.5 KiB6548

doxybuilder_funcs.pyH A D05-Jun-202521.2 KiB595505

doxybuilder_types.pyH A D05-Jun-202514.6 KiB383315

func_document.tmplH A D05-Jun-20251.6 KiB10366

type_document.tmplH A D05-Jun-2025792 4430

README

1How to deploy the Doxygen output in Sphinx project.
2====================================================
3
4The text below is meant to give the instructions on how to incorporate MIT Kerberos API reference documentation into Sphinx document hierarchy.  The Sphinx API documentation can be constructed with (Part B) or without (Part A) the bridge to the original Doxygen HTML output.
5
6Pre-requisites:
7- python 2.5+ with Cheetah, lxml and  xml extension modules installed;
8- For part B only:
9    -    Sphinx "doxylink" extension;
10    -    Doxygen HTML output
11
12
13Part A:    Transforming Doxygen XML output into reStructuredText (rst)  without the bridge to Doxygen HTML output.
14
151.    Delete lines containing text "Doxygen reference" from the template files func_document.tmpl and type_document.tmpl;
16
172.    In the Doxygen configuration file set GENERATE_XML to YES. Generate Doxygen XML output;
18
193.    Suppose the Doxygen XML output is located in doxy_xml_dir  and the desired output directory is rst_dir.
20      Run:
21      python doxy.py -i  doxy_xml_dir -o rst_dir -t func
22      This will result in the storing of the API function documentation files in rst format in the rst_dir. The file names are constructed based on the function name. For example, the file for krb5_build_principal() will be krb5_build_principal.rst
23
24      Run:
25      python doxy.py -i  doxy_xml_dir -o rst_dir -t typedef
26      It is similar to the API function conversion, but for data types. The result will be stored under rst_dir/types directory
27
28      Alternatively, running
29      python doxy.py -i  doxy_xml_dir -o rst_dir
30      or
31      python doxy.py -i  doxy_xml_dir -o rst_dir -t all
32      converts Doxygen XML output into reStructuredText format files both for API functions and data types;
33
344.    In appdev/index.rst add the following section to point to the API references:
35
36      .. toctree::
37          :maxdepth: 1
38
39          refs/index.rst
40
415.    Copy the content of rst_dir into appdev/refs/api/ directory and rst_dir/types into appdev/refs/types directory;
42
436.    Rebuild Sphinx source:
44      sphinx-build source_dir build_dir
45
46
47
48
49Part B:    Bridge to Doxygen HTML output.
50
511. Transform Doxygen XML output into reStructuredText.
52   In src/Doxygen configuration file request generation of the tag file and XML output:
53       GENERATE_TAGFILE       = krb5doxy.tag
54       GENERATE_XML           = YES
55
562. Modify Sphinx conf.py file to point to the "doxylink" extension and Doxygen tag file:
57      extensions = ['sphinx.ext.autodoc', 'sphinxcontrib.doxylink']
58      doxylink = { ' krb5doxy' : ('/tmp/krb5doxy.tag, ' doxy_html_dir ') }
59
60   where doxy_html_dir is the location of the Doxygen HTML output
61
623.  Continue with steps 3 - 6 of Part A.
63