conf_help.py 4.28 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
#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

30
@author: Gael Goret and Eric C. Pellegrini
31
'''
eric pellegrini's avatar
eric pellegrini committed
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

# 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.graphviz','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.
47
source_encoding = 'utf-8-sig'
eric pellegrini's avatar
eric pellegrini committed
48 49 50 51 52

# The master toctree document.
master_doc = 'index'

# General information about the project.
53
project = u'MDANSE'
54
copyright = u'2015, Gael Goret & Eric C. Pellegrini'
eric pellegrini's avatar
eric pellegrini committed
55 56 57 58 59 60

# 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.
61
version = '1.0'
eric pellegrini's avatar
eric pellegrini committed
62
# The full version, including alpha/beta/rc tags.
63
release = '1.0'
eric pellegrini's avatar
eric pellegrini committed
64

eric pellegrini's avatar
eric pellegrini committed
65
html_logo = '_static/mdanse_logo.png'
eric pellegrini's avatar
eric pellegrini committed
66 67

inheritance_graph_attrs = dict(size='""')
eric pellegrini's avatar
eric pellegrini committed
68

eric pellegrini's avatar
eric pellegrini committed
69 70 71 72 73 74 75 76 77 78 79
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 ---------------------------------------------------

# The theme to use for HTML and HTML Help pages.  See the documentation for
# a list of builtin themes.
80
html_theme = "default"
81
html_theme_options = {'sidebarwidth':250}
eric pellegrini's avatar
eric pellegrini committed
82 83 84 85

html_show_copyright = False

# Output file base name for HTML help builder.
86
htmlhelp_basename = 'MDANSE_doc'
eric pellegrini's avatar
eric pellegrini committed
87 88 89

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
90
latex_documents = [('index', 'MDANSE.tex', u'MDANSE Documentation',u'Gael Goret & Eric C. Pellegrini', 'manual'),]
eric pellegrini's avatar
eric pellegrini committed
91

92
pdf_documents = [('index', 'MDANSE', u'MDANSE Documentation', u'Gael Goret & Eric C. Pellegrini'),]
eric pellegrini's avatar
eric pellegrini committed
93

94 95 96
# List of directories, relative to source directory, that shouldn't be searched
# for source files.
exclude_patterns = ['Externals']
eric pellegrini's avatar
eric pellegrini committed
97 98 99

members_to_watch = ['class']

100 101 102 103
from MDANSE import REGISTRY

klsNames = [kls.__name__ for kls in REGISTRY["job"].values()]

eric pellegrini's avatar
eric pellegrini committed
104
def flag_onthefly(app, what, name, obj, options, lines):
105 106 107 108 109 110
        
    if getattr(obj,'__name__',None) in klsNames:
        lines.extend(obj.build_doc().splitlines())
        
    if what in members_to_watch:
        # modify the docstring so the rendered output is highlights the omission
111
        if lines:
112 113 114 115 116
            lines.insert(0,'')
            lines.insert(0,':Description:')
            lines.insert(0,'')

exclusions = ('__weakref__','__doc__', '__module__', '__dict__',)
eric pellegrini's avatar
eric pellegrini committed
117 118 119 120 121

def autodoc_skip_member(app, what, name, obj, skip, options):
    
    if what in ['method','attribut','function','exception']:
        return True
122
    
eric pellegrini's avatar
eric pellegrini committed
123 124 125 126 127 128 129 130 131 132 133 134
    if name in exclusions:
        return True
        
    if what in ['class']:
        if name is not '__doc__':
            return True
            
    return skip

def setup(app):
    app.connect('autodoc-skip-member', autodoc_skip_member)
    app.connect('autodoc-process-docstring', flag_onthefly)