conf_html.py 4.97 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
#MDANSE : Molecular Dynamics Analysis for Neutron Scattering Experiments
#------------------------------------------------------------------------------------------
#Copyright (C)
#2015- Eric C. Pellegrini Institut Laue-Langevin
#BP 156
#6, rue Jules Horowitz
#38042 Grenoble Cedex 9
#France
#pellegrini[at]ill.fr
#goret[at]ill.fr
#aoun[at]ill.fr
eric pellegrini's avatar
eric pellegrini committed
12
#
13 14 15 16
#This library is free software; you can redistribute it and/or
#modify it under the terms of the GNU Lesser General Public
#License as published by the Free Software Foundation; either
#version 2.1 of the License, or (at your option) any later version.
eric pellegrini's avatar
eric pellegrini committed
17
#
18 19 20 21
#This library is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#Lesser General Public License for more details.
eric pellegrini's avatar
eric pellegrini committed
22
#
23 24 25 26 27 28 29 30 31 32
#You should have received a copy of the GNU Lesser General Public
#License along with this library; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

''' 
Created on Mar 30, 2015

@author: goret
'''

eric pellegrini's avatar
eric pellegrini committed
33 34 35 36 37 38 39

import sys, os
#
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.

40
sys.path.append(os.path.abspath('../MDANSE'))
eric pellegrini's avatar
eric pellegrini committed
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

# -- General configuration -----------------------------------------------------

# If your documentation needs a minimal Sphinx version, state it here.
needs_sphinx = '1.0'

# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode', 'sphinx.ext.graphviz', 'sphinx.ext.inheritance_diagram', 'sphinx.ext.pngmath']#,'rst2pdf.pdfbuilder']

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# The suffix of source filenames.
source_suffix = '.rst'

# The encoding of source files.
#source_encoding = 'utf-8-sig'

# The master toctree document.
master_doc = 'index'

# General information about the project.
64
project = u'MDANSE'
65
copyright = u'2015, G. Goret & B. Aoun & E. Pellegrini'
eric pellegrini's avatar
eric pellegrini committed
66 67 68 69 70 71

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
72
version = '1.0'
eric pellegrini's avatar
eric pellegrini committed
73
# The full version, including alpha/beta/rc tags.
74
release = '1.0'
eric pellegrini's avatar
eric pellegrini committed
75 76 77

# List of directories, relative to source directory, that shouldn't be searched
# for source files.
78
exclude_patterns = ['MDANSE.Externals','_build', '**Tests**']
eric pellegrini's avatar
eric pellegrini committed
79

80
html_logo = '_static/mdanse_logo.png'
eric pellegrini's avatar
eric pellegrini committed
81 82

inheritance_graph_attrs = dict(size='""')
83

eric pellegrini's avatar
eric pellegrini committed
84 85 86 87 88 89 90 91 92
inheritance_graph_attrs = dict(rankdir="TB", size='""')

inheritance_node_attrs = dict(color='lightblue', style='filled')

# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'

# -- Options for HTML output ---------------------------------------------------

93 94
html_sidebars = {'**': ['localtoc.html','sourcelink.html', 'searchbox.html']}

eric pellegrini's avatar
eric pellegrini committed
95 96 97 98 99 100
# The theme to use for HTML and HTML Help pages.  See the documentation for
# a list of builtin themes.
html_theme = "nature"
html_theme_options = {'sidebarwidth':250}#, 'nosidebar':True}

# Output file base name for HTML help builder.
101
htmlhelp_basename = 'MDANSE_doc'
eric pellegrini's avatar
eric pellegrini committed
102 103 104 105

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
106
  ('index', 'MDANSE.tex', u'MDANSE Documentation',
107
   u'B. Aoun \\& G. Goret \\& E. Pellegrini', 'manual'),
eric pellegrini's avatar
eric pellegrini committed
108 109
]

110
pdf_documents = [('index', 'MDANSE', u'MDANSE Documentation', u'G. Goret & B. Aoun & E. Pellegrini'),]
eric pellegrini's avatar
eric pellegrini committed
111 112 113 114 115

# -- Options for manual page output --------------------------------------------

# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
116
man_pages = [('index', 'MDANSE', u'MDANSE Documentation', u'G. Goret & B. Aoun & E. Pellegrini'),]
eric pellegrini's avatar
eric pellegrini committed
117 118 119 120

# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
#  dir menu entry, description, category)
121
texinfo_documents = [('index', 'MDANSE', u'MDANSE Documentation',u'G. Goret & B. Aoun & E. Pellegrini','MDANSE', 'One line description of project.','Miscellaneous'),]
eric pellegrini's avatar
eric pellegrini committed
122

123
exclude_patterns = ['MDANSE.Externals**', 'MDANSE.__pkginfo__']
eric pellegrini's avatar
eric pellegrini committed
124 125 126 127

members_to_watch = ['class']

def flag_onthefly(app, what, name, obj, options, lines):
128 129 130 131 132 133 134 135 136 137
	from MDANSE import REGISTRY
	for kls in REGISTRY["job"].values():
		kls.__doc__ += kls.build_doc()
	if(what in members_to_watch):
		# and modify the docstring so the rendered output is highlights the omission
		if lines:
			lines.insert(0,'**Description:**\n\n')
			lines.insert(0,'    .. inheritance-diagram:: %s\n'%name.split('.')[-1])
			lines.insert(0,'**inheritance-diagram:**\n\n')

eric pellegrini's avatar
eric pellegrini committed
138
def setup(app):
139

140
	app.connect('autodoc-process-docstring', flag_onthefly)
eric pellegrini's avatar
eric pellegrini committed
141