| # -*- coding: utf-8 -*- |
| # |
| # Sphinx documentation build configuration file |
| |
| import re |
| import sphinx |
| |
| |
| extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo', |
| 'sphinx.ext.autosummary', 'sphinx.ext.extlinks'] |
| |
| master_doc = 'contents' |
| templates_path = ['_templates'] |
| exclude_patterns = ['_build'] |
| |
| project = 'Sphinx' |
| copyright = '2007-2014, Georg Brandl and the Sphinx team' |
| version = sphinx.__released__ |
| release = version |
| show_authors = True |
| |
| html_theme = 'sphinx13' |
| html_theme_path = ['_themes'] |
| modindex_common_prefix = ['sphinx.'] |
| html_static_path = ['_static'] |
| html_sidebars = {'index': ['indexsidebar.html', 'searchbox.html']} |
| html_additional_pages = {'index': 'index.html'} |
| html_use_opensearch = 'http://sphinx-doc.org' |
| |
| htmlhelp_basename = 'Sphinxdoc' |
| |
| epub_theme = 'epub' |
| epub_basename = 'sphinx' |
| epub_author = 'Georg Brandl' |
| epub_publisher = 'http://sphinx-doc.org/' |
| epub_scheme = 'url' |
| epub_identifier = epub_publisher |
| epub_pre_files = [('index.html', 'Welcome')] |
| epub_post_files = [('install.html', 'Installing Sphinx'), |
| ('develop.html', 'Sphinx development')] |
| epub_exclude_files = ['_static/opensearch.xml', '_static/doctools.js', |
| '_static/jquery.js', '_static/searchtools.js', '_static/underscore.js', |
| '_static/basic.css', 'search.html', '_static/websupport.js'] |
| epub_fix_images = False |
| epub_max_image_width = 0 |
| epub_show_urls = 'inline' |
| epub_use_index = False |
| epub_guide = (('toc', 'contents.html', u'Table of Contents'),) |
| |
| latex_documents = [('contents', 'sphinx.tex', 'Sphinx Documentation', |
| 'Georg Brandl', 'manual', 1)] |
| latex_logo = '_static/sphinx.png' |
| latex_elements = { |
| 'fontpkg': '\\usepackage{palatino}', |
| } |
| latex_show_urls = 'footnote' |
| |
| autodoc_member_order = 'groupwise' |
| todo_include_todos = True |
| extlinks = {'duref': ('http://docutils.sourceforge.net/docs/ref/rst/' |
| 'restructuredtext.html#%s', ''), |
| 'durole': ('http://docutils.sourceforge.net/docs/ref/rst/' |
| 'roles.html#%s', ''), |
| 'dudir': ('http://docutils.sourceforge.net/docs/ref/rst/' |
| 'directives.html#%s', '')} |
| |
| man_pages = [ |
| ('contents', 'sphinx-all', 'Sphinx documentation generator system manual', |
| 'Georg Brandl', 1), |
| ('man/sphinx-build', 'sphinx-build', 'Sphinx documentation generator tool', |
| '', 1), |
| ('man/sphinx-quickstart', 'sphinx-quickstart', 'Sphinx documentation ' |
| 'template generator', '', 1), |
| ('man/sphinx-apidoc', 'sphinx-apidoc', 'Sphinx API doc generator tool', |
| '', 1), |
| ] |
| |
| texinfo_documents = [ |
| ('contents', 'sphinx', 'Sphinx Documentation', 'Georg Brandl', |
| 'Sphinx', 'The Sphinx documentation builder.', 'Documentation tools', |
| 1), |
| ] |
| |
| # We're not using intersphinx right now, but if we did, this would be part of |
| # the mapping: |
| intersphinx_mapping = {'python': ('http://docs.python.org/dev', None)} |
| |
| # Sphinx document translation with sphinx gettext feature uses these settings: |
| locale_dirs = ['locale/'] |
| gettext_compact = False |
| |
| |
| # -- Extension interface ------------------------------------------------------- |
| |
| from sphinx import addnodes |
| |
| |
| event_sig_re = re.compile(r'([a-zA-Z-]+)\s*\((.*)\)') |
| |
| def parse_event(env, sig, signode): |
| m = event_sig_re.match(sig) |
| if not m: |
| signode += addnodes.desc_name(sig, sig) |
| return sig |
| name, args = m.groups() |
| signode += addnodes.desc_name(name, name) |
| plist = addnodes.desc_parameterlist() |
| for arg in args.split(','): |
| arg = arg.strip() |
| plist += addnodes.desc_parameter(arg, arg) |
| signode += plist |
| return name |
| |
| |
| def setup(app): |
| from sphinx.ext.autodoc import cut_lines |
| from sphinx.util.docfields import GroupedField |
| app.connect('autodoc-process-docstring', cut_lines(4, what=['module'])) |
| app.add_object_type('confval', 'confval', |
| objname='configuration value', |
| indextemplate='pair: %s; configuration value') |
| fdesc = GroupedField('parameter', label='Parameters', |
| names=['param'], can_collapse=True) |
| app.add_object_type('event', 'event', 'pair: %s; event', parse_event, |
| doc_field_types=[fdesc]) |