##// END OF EJS Templates
fix help-links on Firefox...
fix help-links on Firefox link text must come after icon to layout properly on Firefox this makes help links from the kernel match those already populated from the template

File last commit:

r19043:61844265
r20236:a234d15b
Show More
autogen_api.py
79 lines | 3.8 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
"""Script to auto-generate our API docs.
"""
# stdlib imports
import os
import sys
# local imports
sys.path.append(os.path.abspath('sphinxext'))
from apigen import ApiDocWriter
#*****************************************************************************
if __name__ == '__main__':
pjoin = os.path.join
package = 'IPython'
outdir = pjoin('source','api','generated')
docwriter = ApiDocWriter(package,rst_extension='.rst')
# You have to escape the . here because . is a special char for regexps.
# You must do make clean if you change this!
docwriter.package_skip_patterns += [r'\.external$',
# Extensions are documented elsewhere.
r'\.extensions',
r'\.config\.profile',
# Old nbformat versions
r'\.nbformat\.v[1-2]',
# Public API for this is in kernel.zmq.eventloops
r'\.kernel\.zmq\.gui',
# Magics are documented separately
r'\.core\.magics',
]
# The inputhook* modules often cause problems on import, such as trying to
# load incompatible Qt bindings. It's easiest to leave them all out. The
# main API is in the inputhook module, which is documented.
docwriter.module_skip_patterns += [ r'\.lib\.inputhook.+',
r'\.ipdoctest',
r'\.testing\.plugin',
# This just prints a deprecation msg:
r'\.frontend$',
# Deprecated:
r'\.core\.magics\.deprecated',
# We document this manually.
r'\.utils\.py3compat',
# These are exposed by nbformat
r'\.nbformat\.convert',
r'\.nbformat\.validator',
r'\.nbformat\.notebooknode',
# Deprecated
r'\.nbformat\.current',
# Exposed by nbformat.vN
r'\.nbformat\.v[3-4]\.nbbase',
# These are exposed in display
r'\.core\.display',
r'\.lib\.display',
# This isn't actually a module
r'\.html\.tasks',
# This is private
r'\.html\.allow76'
]
# These modules import functions and classes from other places to expose
# them as part of the public API. They must have __all__ defined. The
# non-API modules they import from should be excluded by the skip patterns
# above.
docwriter.names_from__all__.update({
'IPython.nbformat',
'IPython.nbformat.v3',
'IPython.nbformat.v4',
'IPython.display',
})
# Now, generate the outputs
docwriter.write_api_docs(outdir)
# Write index with .txt extension - we can include it, but Sphinx won't try
# to compile it
docwriter.write_index(outdir, 'gen.txt',
relative_to = pjoin('source','api')
)
print ('%d files written' % len(docwriter.written_modules))