##// END OF EJS Templates
Merge pull request #8714 from minrk/confhacks...
Thomas Kluyver -
r21593:b25fc0f0 merge
parent child Browse files
Show More
@@ -1,72 +1,76 b''
1 #!/usr/bin/env python
1 #!/usr/bin/env python
2 """Script to auto-generate our API docs.
2 """Script to auto-generate our API docs.
3 """
3 """
4 # stdlib imports
4
5 import os
5 import os
6 import sys
6 import sys
7
7
8 # local imports
8 pjoin = os.path.join
9 sys.path.append(os.path.abspath('sphinxext'))
9
10 here = os.path.abspath(os.path.dirname(__file__))
11 sys.path.append(pjoin(os.path.abspath(here), 'sphinxext'))
12
10 from apigen import ApiDocWriter
13 from apigen import ApiDocWriter
11
14
15 source = pjoin(here, 'source')
16
12 #*****************************************************************************
17 #*****************************************************************************
13 if __name__ == '__main__':
18 if __name__ == '__main__':
14 pjoin = os.path.join
15 package = 'IPython'
19 package = 'IPython'
16 outdir = pjoin('source','api','generated')
20 outdir = pjoin(source, 'api', 'generated')
17 docwriter = ApiDocWriter(package,rst_extension='.rst')
21 docwriter = ApiDocWriter(package,rst_extension='.rst')
18 # You have to escape the . here because . is a special char for regexps.
22 # You have to escape the . here because . is a special char for regexps.
19 # You must do make clean if you change this!
23 # You must do make clean if you change this!
20 docwriter.package_skip_patterns += [r'\.external$',
24 docwriter.package_skip_patterns += [r'\.external$',
21 # Extensions are documented elsewhere.
25 # Extensions are documented elsewhere.
22 r'\.extensions',
26 r'\.extensions',
23 # Magics are documented separately
27 # Magics are documented separately
24 r'\.core\.magics',
28 r'\.core\.magics',
25 # This isn't API
29 # This isn't API
26 r'\.sphinxext',
30 r'\.sphinxext',
27 # Shims
31 # Shims
28 r'\.kernel',
32 r'\.kernel',
29 ]
33 ]
30
34
31 # The inputhook* modules often cause problems on import, such as trying to
35 # The inputhook* modules often cause problems on import, such as trying to
32 # load incompatible Qt bindings. It's easiest to leave them all out. The
36 # load incompatible Qt bindings. It's easiest to leave them all out. The
33 docwriter.module_skip_patterns += [ r'\.lib\.inputhook.+',
37 docwriter.module_skip_patterns += [ r'\.lib\.inputhook.+',
34 r'\.ipdoctest',
38 r'\.ipdoctest',
35 r'\.testing\.plugin',
39 r'\.testing\.plugin',
36 # Deprecated:
40 # Deprecated:
37 r'\.core\.magics\.deprecated',
41 r'\.core\.magics\.deprecated',
38 # Backwards compat import for lib.lexers
42 # Backwards compat import for lib.lexers
39 r'\.nbconvert\.utils\.lexers',
43 r'\.nbconvert\.utils\.lexers',
40 # We document this manually.
44 # We document this manually.
41 r'\.utils\.py3compat',
45 r'\.utils\.py3compat',
42 # These are exposed in display
46 # These are exposed in display
43 r'\.core\.display',
47 r'\.core\.display',
44 r'\.lib\.display',
48 r'\.lib\.display',
45 # Shims
49 # Shims
46 r'\.config',
50 r'\.config',
47 r'\.consoleapp',
51 r'\.consoleapp',
48 r'\.frontend$',
52 r'\.frontend$',
49 r'\.html',
53 r'\.html',
50 r'\.nbconvert',
54 r'\.nbconvert',
51 r'\.nbformat',
55 r'\.nbformat',
52 r'\.parallel',
56 r'\.parallel',
53 r'\.qt',
57 r'\.qt',
54 ]
58 ]
55 # main API is in the inputhook module, which is documented.
59 # main API is in the inputhook module, which is documented.
56
60
57 # These modules import functions and classes from other places to expose
61 # These modules import functions and classes from other places to expose
58 # them as part of the public API. They must have __all__ defined. The
62 # them as part of the public API. They must have __all__ defined. The
59 # non-API modules they import from should be excluded by the skip patterns
63 # non-API modules they import from should be excluded by the skip patterns
60 # above.
64 # above.
61 docwriter.names_from__all__.update({
65 docwriter.names_from__all__.update({
62 'IPython.display',
66 'IPython.display',
63 })
67 })
64
68
65 # Now, generate the outputs
69 # Now, generate the outputs
66 docwriter.write_api_docs(outdir)
70 docwriter.write_api_docs(outdir)
67 # Write index with .txt extension - we can include it, but Sphinx won't try
71 # Write index with .txt extension - we can include it, but Sphinx won't try
68 # to compile it
72 # to compile it
69 docwriter.write_index(outdir, 'gen.txt',
73 docwriter.write_index(outdir, 'gen.txt',
70 relative_to = pjoin('source','api')
74 relative_to = pjoin(source, 'api')
71 )
75 )
72 print ('%d files written' % len(docwriter.written_modules))
76 print ('%d files written' % len(docwriter.written_modules))
@@ -1,29 +1,35 b''
1 #!/usr/bin/env python
1 #!/usr/bin/env python
2
2
3 from os.path import join, dirname, abspath
4
3 from IPython.terminal.ipapp import TerminalIPythonApp
5 from IPython.terminal.ipapp import TerminalIPythonApp
4 from ipykernel.kernelapp import IPKernelApp
6 from ipykernel.kernelapp import IPKernelApp
5
7
8 here = abspath(dirname(__file__))
9 options = join(here, 'source', 'config', 'options')
10 generated = join(options, 'generated.rst')
11
6 def write_doc(name, title, app, preamble=None):
12 def write_doc(name, title, app, preamble=None):
7 filename = '%s.rst' % name
13 filename = '%s.rst' % name
8 with open('source/config/options/%s' % filename, 'w') as f:
14 with open(join(options, filename), 'w') as f:
9 f.write(title + '\n')
15 f.write(title + '\n')
10 f.write(('=' * len(title)) + '\n')
16 f.write(('=' * len(title)) + '\n')
11 f.write('\n')
17 f.write('\n')
12 if preamble is not None:
18 if preamble is not None:
13 f.write(preamble + '\n\n')
19 f.write(preamble + '\n\n')
14 f.write(app.document_config_options())
20 f.write(app.document_config_options())
15 with open('source/config/options/generated', 'a') as f:
21 with open(generated, 'a') as f:
16 f.write(filename + '\n')
22 f.write(filename + '\n')
17
23
18
24
19 if __name__ == '__main__':
25 if __name__ == '__main__':
20 # create empty file
26 # create empty file
21 with open('source/config/options/generated', 'w'):
27 with open(generated, 'w'):
22 pass
28 pass
23
29
24 write_doc('terminal', 'Terminal IPython options', TerminalIPythonApp())
30 write_doc('terminal', 'Terminal IPython options', TerminalIPythonApp())
25 write_doc('kernel', 'IPython kernel options', IPKernelApp(),
31 write_doc('kernel', 'IPython kernel options', IPKernelApp(),
26 preamble=("These options can be used in :file:`ipython_kernel_config.py`. "
32 preamble=("These options can be used in :file:`ipython_kernel_config.py`. "
27 "The kernel also respects any options in `ipython_config.py`"),
33 "The kernel also respects any options in `ipython_config.py`"),
28 )
34 )
29
35
@@ -1,64 +1,68 b''
1 import os
2
1 from IPython.core.alias import Alias
3 from IPython.core.alias import Alias
2 from IPython.core.interactiveshell import InteractiveShell
4 from IPython.core.interactiveshell import InteractiveShell
3 from IPython.core.magic import MagicAlias
5 from IPython.core.magic import MagicAlias
4 from IPython.utils.text import dedent, indent
6 from IPython.utils.text import dedent, indent
5
7
6 shell = InteractiveShell.instance()
8 shell = InteractiveShell.instance()
7 magics = shell.magics_manager.magics
9 magics = shell.magics_manager.magics
8
10
9 def _strip_underline(line):
11 def _strip_underline(line):
10 chars = set(line.strip())
12 chars = set(line.strip())
11 if len(chars) == 1 and ('-' in chars or '=' in chars):
13 if len(chars) == 1 and ('-' in chars or '=' in chars):
12 return ""
14 return ""
13 else:
15 else:
14 return line
16 return line
15
17
16 def format_docstring(func):
18 def format_docstring(func):
17 docstring = (func.__doc__ or "Undocumented").rstrip()
19 docstring = (func.__doc__ or "Undocumented").rstrip()
18 docstring = indent(dedent(docstring))
20 docstring = indent(dedent(docstring))
19 # Sphinx complains if indented bits have rst headings in, so strip out
21 # Sphinx complains if indented bits have rst headings in, so strip out
20 # any underlines in the docstring.
22 # any underlines in the docstring.
21 lines = [_strip_underline(l) for l in docstring.splitlines()]
23 lines = [_strip_underline(l) for l in docstring.splitlines()]
22 return "\n".join(lines)
24 return "\n".join(lines)
23
25
24 output = [
26 output = [
25 "Line magics",
27 "Line magics",
26 "===========",
28 "===========",
27 "",
29 "",
28 ]
30 ]
29
31
30 # Case insensitive sort by name
32 # Case insensitive sort by name
31 def sortkey(s): return s[0].lower()
33 def sortkey(s): return s[0].lower()
32
34
33 for name, func in sorted(magics['line'].items(), key=sortkey):
35 for name, func in sorted(magics['line'].items(), key=sortkey):
34 if isinstance(func, Alias) or isinstance(func, MagicAlias):
36 if isinstance(func, Alias) or isinstance(func, MagicAlias):
35 # Aliases are magics, but shouldn't be documented here
37 # Aliases are magics, but shouldn't be documented here
36 # Also skip aliases to other magics
38 # Also skip aliases to other magics
37 continue
39 continue
38 output.extend([".. magic:: {}".format(name),
40 output.extend([".. magic:: {}".format(name),
39 "",
41 "",
40 format_docstring(func),
42 format_docstring(func),
41 ""])
43 ""])
42
44
43 output.extend([
45 output.extend([
44 "Cell magics",
46 "Cell magics",
45 "===========",
47 "===========",
46 "",
48 "",
47 ])
49 ])
48
50
49 for name, func in sorted(magics['cell'].items(), key=sortkey):
51 for name, func in sorted(magics['cell'].items(), key=sortkey):
50 if name == "!":
52 if name == "!":
51 # Special case - don't encourage people to use %%!
53 # Special case - don't encourage people to use %%!
52 continue
54 continue
53 if func == magics['line'].get(name, 'QQQP'):
55 if func == magics['line'].get(name, 'QQQP'):
54 # Don't redocument line magics that double as cell magics
56 # Don't redocument line magics that double as cell magics
55 continue
57 continue
56 if isinstance(func, MagicAlias):
58 if isinstance(func, MagicAlias):
57 continue
59 continue
58 output.extend([".. cellmagic:: {}".format(name),
60 output.extend([".. cellmagic:: {}".format(name),
59 "",
61 "",
60 format_docstring(func),
62 format_docstring(func),
61 ""])
63 ""])
62
64
63 with open("source/interactive/magics-generated.txt", "w") as f:
65 here = os.path.dirname(__file__)
64 f.write("\n".join(output)) No newline at end of file
66 dest = os.path.join(here, 'source', 'interactive', 'magics-generated.txt')
67 with open(dest, "w") as f:
68 f.write("\n".join(output))
@@ -1,2 +1,3 b''
1 numpydoc
1 numpydoc
2 -e .
2 -e .
3 ipykernel
@@ -1,256 +1,266 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 #
2 #
3 # IPython documentation build configuration file.
3 # IPython documentation build configuration file.
4
4
5 # NOTE: This file has been edited manually from the auto-generated one from
5 # NOTE: This file has been edited manually from the auto-generated one from
6 # sphinx. Do NOT delete and re-generate. If any changes from sphinx are
6 # sphinx. Do NOT delete and re-generate. If any changes from sphinx are
7 # needed, generate a scratch one and merge by hand any new fields needed.
7 # needed, generate a scratch one and merge by hand any new fields needed.
8
8
9 #
9 #
10 # This file is execfile()d with the current directory set to its containing dir.
10 # This file is execfile()d with the current directory set to its containing dir.
11 #
11 #
12 # The contents of this file are pickled, so don't put values in the namespace
12 # The contents of this file are pickled, so don't put values in the namespace
13 # that aren't pickleable (module imports are okay, they're removed automatically).
13 # that aren't pickleable (module imports are okay, they're removed automatically).
14 #
14 #
15 # All configuration values have a default value; values that are commented out
15 # All configuration values have a default value; values that are commented out
16 # serve to show the default value.
16 # serve to show the default value.
17
17
18 import sys, os
18 import sys, os
19
19
20 ON_RTD = os.environ.get('READTHEDOCS', None) == 'True'
20 ON_RTD = os.environ.get('READTHEDOCS', None) == 'True'
21
21
22 if ON_RTD:
22 if ON_RTD:
23 # Mock the presence of matplotlib, which we don't have on RTD
23 # Mock the presence of matplotlib, which we don't have on RTD
24 # see
24 # see
25 # http://read-the-docs.readthedocs.org/en/latest/faq.html
25 # http://read-the-docs.readthedocs.org/en/latest/faq.html
26 tags.add('rtd')
26 tags.add('rtd')
27
27
28 # RTD doesn't use the Makefile, so re-run autogen_{things}.py here.
29 for name in ('config', 'api', 'magics'):
30 fname = 'autogen_{}.py'.format(name)
31 fpath = os.path.abspath(os.path.join('..', fname))
32 with open(fpath) as f:
33 exec(compile(f.read(), fname, 'exec'), {
34 '__file__': fpath,
35 '__name__': '__main__',
36 })
37
28 # If your extensions are in another directory, add it here. If the directory
38 # If your extensions are in another directory, add it here. If the directory
29 # is relative to the documentation root, use os.path.abspath to make it
39 # is relative to the documentation root, use os.path.abspath to make it
30 # absolute, like shown here.
40 # absolute, like shown here.
31 sys.path.insert(0, os.path.abspath('../sphinxext'))
41 sys.path.insert(0, os.path.abspath('../sphinxext'))
32
42
33 # We load the ipython release info into a dict by explicit execution
43 # We load the ipython release info into a dict by explicit execution
34 iprelease = {}
44 iprelease = {}
35 exec(compile(open('../../IPython/core/release.py').read(), '../../IPython/core/release.py', 'exec'),iprelease)
45 exec(compile(open('../../IPython/core/release.py').read(), '../../IPython/core/release.py', 'exec'),iprelease)
36
46
37 # General configuration
47 # General configuration
38 # ---------------------
48 # ---------------------
39
49
40 # Add any Sphinx extension module names here, as strings. They can be extensions
50 # Add any Sphinx extension module names here, as strings. They can be extensions
41 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
51 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
42 extensions = [
52 extensions = [
43 'matplotlib.sphinxext.mathmpl',
53 'matplotlib.sphinxext.mathmpl',
44 'matplotlib.sphinxext.only_directives',
54 'matplotlib.sphinxext.only_directives',
45 'matplotlib.sphinxext.plot_directive',
55 'matplotlib.sphinxext.plot_directive',
46 'sphinx.ext.autodoc',
56 'sphinx.ext.autodoc',
47 'sphinx.ext.autosummary',
57 'sphinx.ext.autosummary',
48 'sphinx.ext.doctest',
58 'sphinx.ext.doctest',
49 'sphinx.ext.inheritance_diagram',
59 'sphinx.ext.inheritance_diagram',
50 'sphinx.ext.intersphinx',
60 'sphinx.ext.intersphinx',
51 'IPython.sphinxext.ipython_console_highlighting',
61 'IPython.sphinxext.ipython_console_highlighting',
52 'IPython.sphinxext.ipython_directive',
62 'IPython.sphinxext.ipython_directive',
53 'numpydoc', # to preprocess docstrings
63 'numpydoc', # to preprocess docstrings
54 'github', # for easy GitHub links
64 'github', # for easy GitHub links
55 'magics',
65 'magics',
56 ]
66 ]
57
67
58 if ON_RTD:
68 if ON_RTD:
59 # Remove extensions not currently supported on RTD
69 # Remove extensions not currently supported on RTD
60 extensions.remove('matplotlib.sphinxext.only_directives')
70 extensions.remove('matplotlib.sphinxext.only_directives')
61 extensions.remove('matplotlib.sphinxext.mathmpl')
71 extensions.remove('matplotlib.sphinxext.mathmpl')
62 extensions.remove('matplotlib.sphinxext.plot_directive')
72 extensions.remove('matplotlib.sphinxext.plot_directive')
63 extensions.remove('IPython.sphinxext.ipython_directive')
73 extensions.remove('IPython.sphinxext.ipython_directive')
64 extensions.remove('IPython.sphinxext.ipython_console_highlighting')
74 extensions.remove('IPython.sphinxext.ipython_console_highlighting')
65
75
66 # Add any paths that contain templates here, relative to this directory.
76 # Add any paths that contain templates here, relative to this directory.
67 templates_path = ['_templates']
77 templates_path = ['_templates']
68
78
69 # The suffix of source filenames.
79 # The suffix of source filenames.
70 source_suffix = '.rst'
80 source_suffix = '.rst'
71
81
72 if iprelease['_version_extra'] == 'dev':
82 if iprelease['_version_extra'] == 'dev':
73 rst_prolog = """
83 rst_prolog = """
74 .. note::
84 .. note::
75
85
76 This documentation is for a development version of IPython. There may be
86 This documentation is for a development version of IPython. There may be
77 significant differences from the latest stable release.
87 significant differences from the latest stable release.
78
88
79 """
89 """
80
90
81 # The master toctree document.
91 # The master toctree document.
82 master_doc = 'index'
92 master_doc = 'index'
83
93
84 # General substitutions.
94 # General substitutions.
85 project = 'IPython'
95 project = 'IPython'
86 copyright = 'The IPython Development Team'
96 copyright = 'The IPython Development Team'
87
97
88 # ghissue config
98 # ghissue config
89 github_project_url = "https://github.com/ipython/ipython"
99 github_project_url = "https://github.com/ipython/ipython"
90
100
91 # numpydoc config
101 # numpydoc config
92 numpydoc_show_class_members = False # Otherwise Sphinx emits thousands of warnings
102 numpydoc_show_class_members = False # Otherwise Sphinx emits thousands of warnings
93 numpydoc_class_members_toctree = False
103 numpydoc_class_members_toctree = False
94
104
95 # The default replacements for |version| and |release|, also used in various
105 # The default replacements for |version| and |release|, also used in various
96 # other places throughout the built documents.
106 # other places throughout the built documents.
97 #
107 #
98 # The full version, including alpha/beta/rc tags.
108 # The full version, including alpha/beta/rc tags.
99 release = "%s" % iprelease['version']
109 release = "%s" % iprelease['version']
100 # Just the X.Y.Z part, no '-dev'
110 # Just the X.Y.Z part, no '-dev'
101 version = iprelease['version'].split('-', 1)[0]
111 version = iprelease['version'].split('-', 1)[0]
102
112
103
113
104 # There are two options for replacing |today|: either, you set today to some
114 # There are two options for replacing |today|: either, you set today to some
105 # non-false value, then it is used:
115 # non-false value, then it is used:
106 #today = ''
116 #today = ''
107 # Else, today_fmt is used as the format for a strftime call.
117 # Else, today_fmt is used as the format for a strftime call.
108 today_fmt = '%B %d, %Y'
118 today_fmt = '%B %d, %Y'
109
119
110 # List of documents that shouldn't be included in the build.
120 # List of documents that shouldn't be included in the build.
111 #unused_docs = []
121 #unused_docs = []
112
122
113 # Exclude these glob-style patterns when looking for source files. They are
123 # Exclude these glob-style patterns when looking for source files. They are
114 # relative to the source/ directory.
124 # relative to the source/ directory.
115 exclude_patterns = ['whatsnew/pr']
125 exclude_patterns = ['whatsnew/pr']
116
126
117
127
118 # If true, '()' will be appended to :func: etc. cross-reference text.
128 # If true, '()' will be appended to :func: etc. cross-reference text.
119 #add_function_parentheses = True
129 #add_function_parentheses = True
120
130
121 # If true, the current module name will be prepended to all description
131 # If true, the current module name will be prepended to all description
122 # unit titles (such as .. function::).
132 # unit titles (such as .. function::).
123 #add_module_names = True
133 #add_module_names = True
124
134
125 # If true, sectionauthor and moduleauthor directives will be shown in the
135 # If true, sectionauthor and moduleauthor directives will be shown in the
126 # output. They are ignored by default.
136 # output. They are ignored by default.
127 #show_authors = False
137 #show_authors = False
128
138
129 # The name of the Pygments (syntax highlighting) style to use.
139 # The name of the Pygments (syntax highlighting) style to use.
130 pygments_style = 'sphinx'
140 pygments_style = 'sphinx'
131
141
132 # Set the default role so we can use `foo` instead of ``foo``
142 # Set the default role so we can use `foo` instead of ``foo``
133 default_role = 'literal'
143 default_role = 'literal'
134
144
135 # Options for HTML output
145 # Options for HTML output
136 # -----------------------
146 # -----------------------
137
147
138 # The style sheet to use for HTML and HTML Help pages. A file of that name
148 # The style sheet to use for HTML and HTML Help pages. A file of that name
139 # must exist either in Sphinx' static/ path, or in one of the custom paths
149 # must exist either in Sphinx' static/ path, or in one of the custom paths
140 # given in html_static_path.
150 # given in html_static_path.
141 html_style = 'default.css'
151 html_style = 'default.css'
142
152
143 # The name for this set of Sphinx documents. If None, it defaults to
153 # The name for this set of Sphinx documents. If None, it defaults to
144 # "<project> v<release> documentation".
154 # "<project> v<release> documentation".
145 #html_title = None
155 #html_title = None
146
156
147 # The name of an image file (within the static path) to place at the top of
157 # The name of an image file (within the static path) to place at the top of
148 # the sidebar.
158 # the sidebar.
149 #html_logo = None
159 #html_logo = None
150
160
151 # Add any paths that contain custom static files (such as style sheets) here,
161 # Add any paths that contain custom static files (such as style sheets) here,
152 # relative to this directory. They are copied after the builtin static files,
162 # relative to this directory. They are copied after the builtin static files,
153 # so a file named "default.css" will overwrite the builtin "default.css".
163 # so a file named "default.css" will overwrite the builtin "default.css".
154 html_static_path = ['_static']
164 html_static_path = ['_static']
155
165
156 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
166 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
157 # using the given strftime format.
167 # using the given strftime format.
158 html_last_updated_fmt = '%b %d, %Y'
168 html_last_updated_fmt = '%b %d, %Y'
159
169
160 # If true, SmartyPants will be used to convert quotes and dashes to
170 # If true, SmartyPants will be used to convert quotes and dashes to
161 # typographically correct entities.
171 # typographically correct entities.
162 #html_use_smartypants = True
172 #html_use_smartypants = True
163
173
164 # Custom sidebar templates, maps document names to template names.
174 # Custom sidebar templates, maps document names to template names.
165 #html_sidebars = {}
175 #html_sidebars = {}
166
176
167 # Additional templates that should be rendered to pages, maps page names to
177 # Additional templates that should be rendered to pages, maps page names to
168 # template names.
178 # template names.
169 html_additional_pages = {
179 html_additional_pages = {
170 'interactive/htmlnotebook': 'notebook_redirect.html',
180 'interactive/htmlnotebook': 'notebook_redirect.html',
171 'interactive/notebook': 'notebook_redirect.html',
181 'interactive/notebook': 'notebook_redirect.html',
172 'interactive/nbconvert': 'notebook_redirect.html',
182 'interactive/nbconvert': 'notebook_redirect.html',
173 'interactive/public_server': 'notebook_redirect.html',
183 'interactive/public_server': 'notebook_redirect.html',
174 }
184 }
175
185
176 # If false, no module index is generated.
186 # If false, no module index is generated.
177 #html_use_modindex = True
187 #html_use_modindex = True
178
188
179 # If true, the reST sources are included in the HTML build as _sources/<name>.
189 # If true, the reST sources are included in the HTML build as _sources/<name>.
180 #html_copy_source = True
190 #html_copy_source = True
181
191
182 # If true, an OpenSearch description file will be output, and all pages will
192 # If true, an OpenSearch description file will be output, and all pages will
183 # contain a <link> tag referring to it. The value of this option must be the
193 # contain a <link> tag referring to it. The value of this option must be the
184 # base URL from which the finished HTML is served.
194 # base URL from which the finished HTML is served.
185 #html_use_opensearch = ''
195 #html_use_opensearch = ''
186
196
187 # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
197 # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
188 #html_file_suffix = ''
198 #html_file_suffix = ''
189
199
190 # Output file base name for HTML help builder.
200 # Output file base name for HTML help builder.
191 htmlhelp_basename = 'ipythondoc'
201 htmlhelp_basename = 'ipythondoc'
192
202
193 intersphinx_mapping = {'python': ('http://docs.python.org/2/', None),
203 intersphinx_mapping = {'python': ('http://docs.python.org/2/', None),
194 'rpy2': ('http://rpy.sourceforge.net/rpy2/doc-2.4/html/', None),
204 'rpy2': ('http://rpy.sourceforge.net/rpy2/doc-2.4/html/', None),
195 'traitlets': ('http://traitlets.readthedocs.org/en/latest/', None),
205 'traitlets': ('http://traitlets.readthedocs.org/en/latest/', None),
196 'jupyterclient': ('http://jupyter-client.readthedocs.org/en/latest/', None),
206 'jupyterclient': ('http://jupyter-client.readthedocs.org/en/latest/', None),
197 }
207 }
198
208
199 # Options for LaTeX output
209 # Options for LaTeX output
200 # ------------------------
210 # ------------------------
201
211
202 # The paper size ('letter' or 'a4').
212 # The paper size ('letter' or 'a4').
203 latex_paper_size = 'letter'
213 latex_paper_size = 'letter'
204
214
205 # The font size ('10pt', '11pt' or '12pt').
215 # The font size ('10pt', '11pt' or '12pt').
206 latex_font_size = '11pt'
216 latex_font_size = '11pt'
207
217
208 # Grouping the document tree into LaTeX files. List of tuples
218 # Grouping the document tree into LaTeX files. List of tuples
209 # (source start file, target name, title, author, document class [howto/manual]).
219 # (source start file, target name, title, author, document class [howto/manual]).
210
220
211 latex_documents = [
221 latex_documents = [
212 ('index', 'ipython.tex', 'IPython Documentation',
222 ('index', 'ipython.tex', 'IPython Documentation',
213 u"""The IPython Development Team""", 'manual', True),
223 u"""The IPython Development Team""", 'manual', True),
214 ('parallel/winhpc_index', 'winhpc_whitepaper.tex',
224 ('parallel/winhpc_index', 'winhpc_whitepaper.tex',
215 'Using IPython on Windows HPC Server 2008',
225 'Using IPython on Windows HPC Server 2008',
216 u"Brian E. Granger", 'manual', True)
226 u"Brian E. Granger", 'manual', True)
217 ]
227 ]
218
228
219 # The name of an image file (relative to this directory) to place at the top of
229 # The name of an image file (relative to this directory) to place at the top of
220 # the title page.
230 # the title page.
221 #latex_logo = None
231 #latex_logo = None
222
232
223 # For "manual" documents, if this is true, then toplevel headings are parts,
233 # For "manual" documents, if this is true, then toplevel headings are parts,
224 # not chapters.
234 # not chapters.
225 #latex_use_parts = False
235 #latex_use_parts = False
226
236
227 # Additional stuff for the LaTeX preamble.
237 # Additional stuff for the LaTeX preamble.
228 #latex_preamble = ''
238 #latex_preamble = ''
229
239
230 # Documents to append as an appendix to all manuals.
240 # Documents to append as an appendix to all manuals.
231 #latex_appendices = []
241 #latex_appendices = []
232
242
233 # If false, no module index is generated.
243 # If false, no module index is generated.
234 latex_use_modindex = True
244 latex_use_modindex = True
235
245
236
246
237 # Options for texinfo output
247 # Options for texinfo output
238 # --------------------------
248 # --------------------------
239
249
240 texinfo_documents = [
250 texinfo_documents = [
241 (master_doc, 'ipython', 'IPython Documentation',
251 (master_doc, 'ipython', 'IPython Documentation',
242 'The IPython Development Team',
252 'The IPython Development Team',
243 'IPython',
253 'IPython',
244 'IPython Documentation',
254 'IPython Documentation',
245 'Programming',
255 'Programming',
246 1),
256 1),
247 ]
257 ]
248
258
249 modindex_common_prefix = ['IPython.']
259 modindex_common_prefix = ['IPython.']
250
260
251
261
252 # Cleanup
262 # Cleanup
253 # -------
263 # -------
254 # delete release info to avoid pickling errors from sphinx
264 # delete release info to avoid pickling errors from sphinx
255
265
256 del iprelease
266 del iprelease
General Comments 0
You need to be logged in to leave comments. Login now