1 # -*- coding: utf-8 -*-
2 # SPDX-License-Identifier: CC-BY-4.0
3 #
4 # Configuration file for the Sphinx documentation builder.
5 #
6 # This file does only contain a selection of the most common options. For a
7 # full list see the documentation:
8 # http://www.sphinx-doc.org/en/master/config
9 
10 # -- Path setup --------------------------------------------------------------
11 
12 # If extensions (or modules to document with autodoc) are in another directory,
13 # add these directories to sys.path here. If the directory is relative to the
14 # documentation root, use os.path.abspath to make it absolute, like shown here.
15 #
16 # import os
17 # import sys
18 # sys.path.insert(0, os.path.abspath('.'))
19 
20 
21 # -- Project information -----------------------------------------------------
22 
23 project = u'Xen'
24 copyright = u'2019, The Xen development community'
25 author = u'The Xen development community'
26 
27 # Pull the Xen version straight out of the Makefile
28 try:
29     xen_ver = xen_subver = xen_extra = None
30 
31     for line in open(u"../xen/Makefile"):
32         if line.startswith(u"export XEN_VERSION"):
33             xen_ver = line.split(u"=")[1].strip()
34         elif line.startswith(u"export XEN_SUBVERSION"):
35             xen_subver = line.split(u"=")[1].strip()
36         elif line.startswith(u"export XEN_EXTRAVERSION"):
37             xen_extra = line.split(u"=")[1].split(u"$", 1)[0].strip()
38 except:
39     pass
40 finally:
41     if xen_ver and xen_subver and xen_extra:
42         version = xen_ver + u"." + xen_subver
43         release = version + xen_extra
44     else:
45         version = release = u"unknown version"
46 
47 # -- General configuration ---------------------------------------------------
48 
49 # If your documentation needs a minimal Sphinx version, state it here.
50 #
51 needs_sphinx = '1.4'
52 
53 # Add any Sphinx extension module names here, as strings. They can be
54 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
55 # ones.
56 extensions = []
57 
58 # Add any paths that contain templates here, relative to this directory.
59 templates_path = ['_templates']
60 
61 # The suffix(es) of source filenames.
62 # You can specify multiple suffix as a list of string:
63 #
64 # source_suffix = ['.rst', '.md']
65 source_suffix = '.rst'
66 
67 # The master toctree document.
68 master_doc = 'index'
69 
70 # The language for content autogenerated by Sphinx. Refer to documentation
71 # for a list of supported languages.
72 #
73 # This is also used if you do content translation via gettext catalogs.
74 # Usually you set "language" from the command line for these cases.
75 language = None
76 
77 # List of patterns, relative to source directory, that match files and
78 # directories to ignore when looking for source files.
79 # This pattern also affects html_static_path and html_extra_path.
80 exclude_patterns = [u'sphinx/output', 'Thumbs.db', '.DS_Store']
81 
82 # The name of the Pygments (syntax highlighting) style to use.
83 pygments_style = None
84 
85 primary_domain = 'c'
86 highlight_language = 'none'
87 
88 # -- Options for HTML output -------------------------------------------------
89 
90 # The theme to use for HTML and HTML Help pages.  See the documentation for
91 # a list of builtin themes.
92 #
93 try:
94     import sphinx_rtd_theme
95     html_theme = 'sphinx_rtd_theme'
96     html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
97 except ImportError:
98     sys.stderr.write('Warning: The Sphinx \'sphinx_rtd_theme\' HTML theme was not found. Make sure you have the theme installed to produce pretty HTML output. Falling back to the default theme.\n')
99 
100 # Theme options are theme-specific and customize the look and feel of a theme
101 # further.  For a list of options available for each theme, see the
102 # documentation.
103 #
104 # html_theme_options = {}
105 
106 # Add any paths that contain custom static files (such as style sheets) here,
107 # relative to this directory. They are copied after the builtin static files,
108 # so a file named "default.css" will overwrite the builtin "default.css".
109 html_static_path = []
110 
111 # Custom sidebar templates, must be a dictionary that maps document names
112 # to template names.
113 #
114 # The default sidebars (for documents that don't match any pattern) are
115 # defined by theme itself.  Builtin themes are using these templates by
116 # default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
117 # 'searchbox.html']``.
118 #
119 # html_sidebars = {}
120 
121 
122 # -- Options for HTMLHelp output ---------------------------------------------
123 
124 # Output file base name for HTML help builder.
125 htmlhelp_basename = 'Xendoc'
126 
127 
128 # -- Options for LaTeX output ------------------------------------------------
129 
130 latex_elements = {
131     # The paper size ('letterpaper' or 'a4paper').
132     #
133     # 'papersize': 'letterpaper',
134 
135     # The font size ('10pt', '11pt' or '12pt').
136     #
137     # 'pointsize': '10pt',
138 
139     # Additional stuff for the LaTeX preamble.
140     #
141     # 'preamble': '',
142 
143     # Latex figure (float) alignment
144     #
145     # 'figure_align': 'htbp',
146 }
147 
148 # Grouping the document tree into LaTeX files. List of tuples
149 # (source start file, target name, title,
150 #  author, documentclass [howto, manual, or own class]).
151 latex_documents = [
152     (master_doc, 'Xen.tex', u'Xen Documentation',
153      u'The Xen development community', 'manual'),
154 ]
155 
156 
157 # -- Options for manual page output ------------------------------------------
158 
159 # One entry per manual page. List of tuples
160 # (source start file, name, description, authors, manual section).
161 man_pages = [
162     (master_doc, 'xen', u'Xen Documentation',
163      [author], 1)
164 ]
165 
166 
167 # -- Options for Texinfo output ----------------------------------------------
168 
169 # Grouping the document tree into Texinfo files. List of tuples
170 # (source start file, target name, title, author,
171 #  dir menu entry, description, category)
172 texinfo_documents = [
173     (master_doc, 'Xen', u'Xen Documentation',
174      author, 'Xen', 'One line description of project.',
175      'Miscellaneous'),
176 ]
177 
178 
179 # -- Options for Epub output -------------------------------------------------
180 
181 # Bibliographic Dublin Core info.
182 epub_title = project
183 
184 # The unique identifier of the text. This can be a ISBN number
185 # or the project homepage.
186 #
187 # epub_identifier = ''
188 
189 # A unique identification for the text.
190 #
191 # epub_uid = ''
192 
193 # A list of files that should not be packed into the epub file.
194 epub_exclude_files = ['search.html']
195