From b15899eb77c67c9d865061db0dbfa740e0734089 Mon Sep 17 00:00:00 2001 From: Jean-Philippe ARGAUD Date: Mon, 25 May 2020 16:43:33 +0200 Subject: [PATCH] onditional use 'Read The Docs' theme for documentation (Tuleap [bos #18858]) --- doc/conf.py.in | 289 +++++++++++++++++++++---------------------------- 1 file changed, 125 insertions(+), 164 deletions(-) diff --git a/doc/conf.py.in b/doc/conf.py.in index 191e21b8..d050043f 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -1,185 +1,146 @@ # -*- coding: utf-8 -*- # -# EFICAS documentation build configuration file, created by -# sphinx-quickstart on Wed Sep 14 11:40:32 2011. +# Copyright (C) 2001-2020 EDF R&D # -# This file is execfile()d with the current directory set to its containing dir. +# This file is part of SALOME EFICAS module # -# The contents of this file are pickled, so don't put values in the namespace -# that aren't pickleable (module imports are okay, they're removed automatically). +# 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. # -# All configuration values have a default value; values that are commented out -# serve to show the default value. - -import sys, os - -# If your extensions are in another directory, add it here. If the directory -# is relative to the documentation root, use os.path.abspath to make it -# absolute, like shown here. -#sys.path.append(os.path.abspath('some/directory')) - -# General configuration -# --------------------- - -# 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'] - -# Add any paths that contain templates here, relative to this directory. -templates_path = [os.path.join('@CMAKE_CURRENT_SOURCE_DIR@','_templates')] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The master toctree document. -master_doc = 'index' - -# General substitutions. -project = 'EFICAS' -copyright = '2017, Pascale Noyret' - -# The default replacements for |version| and |release|, also used in various -# other places throughout the built documents. +# 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. # -# The short X.Y version. -version = '@SALOMEEFICAS_VERSION@' -# The full version, including alpha/beta/rc tags. -release = '@SALOMEEFICAS_VERSION@' - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -today_fmt = '%B %d, %Y' - -# List of documents that shouldn't be included in the build. -#unused_docs = [] - -# List of directories, relative to source directories, that shouldn't be searched -# for source files. -#exclude_dirs = [] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False +# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D + +import sys, os, time, sphinx, logging + +# -- Module version information -------------------------------------------------- +try: + module_version = lambda : None + module_version.name = "EFICAS" + module_version.year = "%s"%(time.localtime()[0],) + module_version.version = '@SALOMEEFICAS_VERSION@' + logging.warning('Using cmake "module_version"') +except: + pass +if "module_version" not in locals(): + module_version = lambda : None + module_version.name = "EFICAS" + module_version.year = "%s"%(time.localtime()[0],) + module_version.version = "" + logging.warning('Using fallback "module_version" because none was found') + +# -- Project information ------------------------------------------------------- + +project = u'%s'%module_version.name +author = u'Pascale NOYRET' +copyright = u'2001-%s, EDF R&D, %s'%(module_version.year,author) +version = '%s'%module_version.version +release = '%s'%module_version.version +doctitle = u"%s documentation"%module_version.name +docfull = u"Editeur de FIchier de Commandes et Analyseur Sémantique" + +# -- General configuration ----------------------------------------------------- + +from distutils.version import LooseVersion #, StrictVersion +__lv = LooseVersion(sphinx.__version__) +if __lv < LooseVersion("1.4.0"): + extensions = ['sphinx.ext.pngmath'] +else: + extensions = ['sphinx.ext.imgmath'] +try: + import sphinx_rtd_theme + extensions += ['sphinx_rtd_theme'] + use_rtd_theme = True + logging.debug('Using "sphinx_rtd_theme" that was found') +except: + use_rtd_theme = False + logging.debug('Not using "sphinx_rtd_theme" because none was found') +# +source_suffix = '.rst' +source_encoding = 'utf-8' +master_doc = 'index' +language = 'en' +exclude_patterns = [ + '_build', + 'Thumbs.db', + '.DS_Store', + ] +pygments_style = None +templates_path = ['_templates'] + +# -- Options for HTML output --------------------------------------------------- + +if use_rtd_theme: + html_theme = "sphinx_rtd_theme" +else: + html_theme = 'default' if __lv < LooseVersion("1.3.0") else 'classic' +# +html_title = doctitle +html_static_path = ['_static'] +html_show_sourcelink = False +html_search_language = language -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +# -- Options for HTMLHelp output ----------------------------------------------- +htmlhelp_basename = module_version.name+'doc' -# Options for HTML output -# ----------------------- +# -- Options for LaTeX output -------------------------------------------------- -# The style sheet to use for HTML and HTML Help pages. A file of that name -# must exist either in Sphinx' static/ path, or in one of the custom paths -# given in html_static_path. -html_theme = 'default' -themes_options = {} -themes_options['classic'] = { - 'body_max_width':'none', - 'body_min_width':0, +latex_elements = { + 'papersize': 'a4paper', + 'pointsize': '10pt', + 'figure_align': 'htbp', } -html_theme_options = themes_options.get(html_theme, {}) - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (within the static path) to place at the top of -# the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -#html_static_path = [os.path.join('@CMAKE_CURRENT_SOURCE_DIR@','_static')] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_use_modindex = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, the reST sources are included in the HTML build as _sources/. -#html_copy_source = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = '' - -# Output file base name for HTML help builder. -htmlhelp_basename = 'EFICASdoc' - +latex_documents = [ + ('index', '%s.tex'%module_version.name, doctitle, + author, 'manual'), +] -# Options for LaTeX output -# ------------------------ +# -- Options for manual page output -------------------------------------------- -# The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' +man_pages = [ + (master_doc, '%s'%module_version.name, doctitle, + [author], 1) +] -# The font size ('10pt', '11pt' or '12pt'). -#latex_font_size = '10pt' +# -- Options for Texinfo output ------------------------------------------------ -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, document class [howto/manual]). -latex_documents = [ - ('index', 'EFICAS.tex', 'EFICAS Documentation', - 'Pascale Noyret', 'manual'), +texinfo_documents = [ + (master_doc, '%s'%module_version.name, doctitle, + author, '%s'%module_version.name, docfull, + 'Miscellaneous'), ] -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None +# -- Options for Epub output --------------------------------------------------- -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False +epub_title = doctitle +epub_author = author +epub_publisher = author +epub_copyright = copyright +epub_exclude_files = ['search.html'] -# Additional stuff for the LaTeX preamble. -#latex_preamble = '' +# -- Options for PDF output ---------------------------------------------------- -# Documents to append as an appendix to all manuals. -#latex_appendices = [] +pdf_documents = [( + 'contents', + u'%s'%module_version.name, + u'%s'%module_version.name, + author, + dict(pdf_compressed = True), +),] +pdf_stylesheets = ['sphinx','kerning','a4'] +pdf_compressed = True +pdf_inline_footnotes = True -# If false, no module index is generated. -#latex_use_modindex = True +# -- Extension configuration --------------------------------------------------- -- 2.39.2