1*4c4400c7SValeria Barra#!/usr/bin/env python3 2*4c4400c7SValeria Barra# -*- coding: utf-8 -*- 3*4c4400c7SValeria Barra# 4*4c4400c7SValeria Barra# libCEED documentation build configuration file, created by 5*4c4400c7SValeria Barra# sphinx-quickstart on Tue Jan 7 18:59:28 2020. 6*4c4400c7SValeria Barra# 7*4c4400c7SValeria Barra# This file is execfile()d with the current directory set to its 8*4c4400c7SValeria Barra# containing dir. 9*4c4400c7SValeria Barra# 10*4c4400c7SValeria Barra# Note that not all possible configuration values are present in this 11*4c4400c7SValeria Barra# autogenerated file. 12*4c4400c7SValeria Barra# 13*4c4400c7SValeria Barra# All configuration values have a default; values that are commented out 14*4c4400c7SValeria Barra# serve to show the default. 15*4c4400c7SValeria Barra 16*4c4400c7SValeria Barra# If extensions (or modules to document with autodoc) are in another directory, 17*4c4400c7SValeria Barra# add these directories to sys.path here. If the directory is relative to the 18*4c4400c7SValeria Barra# documentation root, use os.path.abspath to make it absolute, like shown here. 19*4c4400c7SValeria Barra# 20*4c4400c7SValeria Barra# import os 21*4c4400c7SValeria Barra# import sys 22*4c4400c7SValeria Barra# sys.path.insert(0, os.path.abspath('.')) 23*4c4400c7SValeria Barraimport sphinx_rtd_theme 24*4c4400c7SValeria Barraimport sys 25*4c4400c7SValeria Barraimport breathe 26*4c4400c7SValeria Barraimport os 27*4c4400c7SValeria Barraimport subprocess 28*4c4400c7SValeria Barra 29*4c4400c7SValeria Barra# -- General configuration ------------------------------------------------ 30*4c4400c7SValeria Barra 31*4c4400c7SValeria Barra# If your documentation needs a minimal Sphinx version, state it here. 32*4c4400c7SValeria Barra# 33*4c4400c7SValeria Barra# needs_sphinx = '1.0' 34*4c4400c7SValeria Barra 35*4c4400c7SValeria Barra# Add any Sphinx extension module names here, as strings. They can be 36*4c4400c7SValeria Barra# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 37*4c4400c7SValeria Barra# ones. 38*4c4400c7SValeria Barraextensions = [ 39*4c4400c7SValeria Barra 'breathe', 40*4c4400c7SValeria Barra 'hoverxref.extension', # still in beta; not rendering well on RTD 41*4c4400c7SValeria Barra 'recommonmark', 42*4c4400c7SValeria Barra 'sphinx_markdown_tables', 43*4c4400c7SValeria Barra 'sphinx_rtd_theme', 44*4c4400c7SValeria Barra 'sphinx.ext.autodoc', 45*4c4400c7SValeria Barra 'sphinx.ext.coverage', 46*4c4400c7SValeria Barra 'sphinx.ext.doctest', 47*4c4400c7SValeria Barra 'sphinx.ext.ifconfig', 48*4c4400c7SValeria Barra 'sphinx.ext.intersphinx', 49*4c4400c7SValeria Barra 'sphinx.ext.githubpages', 50*4c4400c7SValeria Barra 'sphinx.ext.mathjax', 51*4c4400c7SValeria Barra 'sphinxcontrib.mermaid', # still in beta; fails with latexpdf builder 52*4c4400c7SValeria Barra 'sphinx.ext.todo', 53*4c4400c7SValeria Barra 'sphinx.ext.viewcode', 54*4c4400c7SValeria Barra 'sphinxcontrib.bibtex', 55*4c4400c7SValeria Barra 'sphinxcontrib.rsvgconverter', 56*4c4400c7SValeria Barra ] 57*4c4400c7SValeria Barra 58*4c4400c7SValeria Barra# The following, if true, allows figures, tables and code-blocks to be 59*4c4400c7SValeria Barra# automatically numbered if they have a caption. 60*4c4400c7SValeria Barranumfig = True 61*4c4400c7SValeria Barra 62*4c4400c7SValeria Barra# Add any paths that contain templates here, relative to this directory. 63*4c4400c7SValeria Barratemplates_path = ['_templates'] 64*4c4400c7SValeria Barra 65*4c4400c7SValeria Barra# The suffix(es) of source filenames. 66*4c4400c7SValeria Barra# You can specify multiple suffix as a list of string: 67*4c4400c7SValeria Barra# 68*4c4400c7SValeria Barra# source_suffix = ['.rst', '.md'] 69*4c4400c7SValeria Barrasource_suffix = { 70*4c4400c7SValeria Barra '.rst': 'restructuredtext', 71*4c4400c7SValeria Barra '.md': 'markdown'} 72*4c4400c7SValeria Barra 73*4c4400c7SValeria Barra# The master toctree document. 74*4c4400c7SValeria Barramaster_doc = 'index' 75*4c4400c7SValeria Barra 76*4c4400c7SValeria Barra# General information about the project. 77*4c4400c7SValeria Barraproject = 'libCEED' 78*4c4400c7SValeria Barracopyright = '2020, LLNL, University of Colorado, University of Illinois, University of Tennesee, and the authors' 79*4c4400c7SValeria Barrawith open('../../../AUTHORS') as f: 80*4c4400c7SValeria Barra authorlist = f.readlines() 81*4c4400c7SValeria Barraauthor = ', '.join(authorlist) 82*4c4400c7SValeria Barra 83*4c4400c7SValeria Barra# The version info for the project you're documenting, acts as replacement for 84*4c4400c7SValeria Barra# |version| and |release|, also used in various other places throughout the 85*4c4400c7SValeria Barra# built documents. 86*4c4400c7SValeria Barra# 87*4c4400c7SValeria Barra# The short X.Y version. 88*4c4400c7SValeria Barrawith open('../../../ceed.pc.template') as f: 89*4c4400c7SValeria Barra pkgconf_version = 'unknown' 90*4c4400c7SValeria Barra for line in f: 91*4c4400c7SValeria Barra if line.startswith('Version:'): 92*4c4400c7SValeria Barra pkgconf_version = line.partition(': ')[2] 93*4c4400c7SValeria Barra break 94*4c4400c7SValeria Barraversion = pkgconf_version 95*4c4400c7SValeria Barra# The full version, including alpha/beta/rc tags. 96*4c4400c7SValeria Barrarelease = pkgconf_version 97*4c4400c7SValeria Barra 98*4c4400c7SValeria Barra# The language for content autogenerated by Sphinx. Refer to documentation 99*4c4400c7SValeria Barra# for a list of supported languages. 100*4c4400c7SValeria Barra# 101*4c4400c7SValeria Barra# This is also used if you do content translation via gettext catalogs. 102*4c4400c7SValeria Barra# Usually you set "language" from the command line for these cases. 103*4c4400c7SValeria Barralanguage = None 104*4c4400c7SValeria Barra 105*4c4400c7SValeria Barra# List of patterns, relative to source directory, that match files and 106*4c4400c7SValeria Barra# directories to ignore when looking for source files. 107*4c4400c7SValeria Barra# This patterns also effect to html_static_path and html_extra_path 108*4c4400c7SValeria Barraexclude_patterns = [] 109*4c4400c7SValeria Barra 110*4c4400c7SValeria Barra# The name of the Pygments (syntax highlighting) style to use. 111*4c4400c7SValeria Barrapygments_style = 'sphinx' 112*4c4400c7SValeria Barra 113*4c4400c7SValeria Barra# If true, `todo` and `todoList` produce output, else they produce nothing. 114*4c4400c7SValeria Barratodo_include_todos = True 115*4c4400c7SValeria Barra 116*4c4400c7SValeria Barra 117*4c4400c7SValeria Barra# -- Options for HTML output ---------------------------------------------- 118*4c4400c7SValeria Barra 119*4c4400c7SValeria Barra# The theme to use for HTML and HTML Help pages. See the documentation for 120*4c4400c7SValeria Barra# a list of builtin themes. 121*4c4400c7SValeria Barra# 122*4c4400c7SValeria Barrahtml_theme = 'sphinx_rtd_theme' 123*4c4400c7SValeria Barra 124*4c4400c7SValeria Barra# Theme options are theme-specific and customize the look and feel of a theme 125*4c4400c7SValeria Barra# further. For a list of options available for each theme, see the 126*4c4400c7SValeria Barra# documentation. 127*4c4400c7SValeria Barra# 128*4c4400c7SValeria Barra# html_theme_options = {} 129*4c4400c7SValeria Barra 130*4c4400c7SValeria Barra# Add any paths that contain custom static files (such as style sheets) here, 131*4c4400c7SValeria Barra# relative to this directory. They are copied after the builtin static files, 132*4c4400c7SValeria Barra# so a file named "default.css" will overwrite the builtin "default.css". 133*4c4400c7SValeria Barrahtml_static_path = ['_static'] 134*4c4400c7SValeria Barra 135*4c4400c7SValeria Barra# Custom sidebar templates, must be a dictionary that maps document names 136*4c4400c7SValeria Barra# to template names. 137*4c4400c7SValeria Barra# 138*4c4400c7SValeria Barra# This is required for the alabaster theme 139*4c4400c7SValeria Barra# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars 140*4c4400c7SValeria Barrahtml_sidebars = { 141*4c4400c7SValeria Barra '**': [ 142*4c4400c7SValeria Barra 'relations.html', # needs 'show_related': True theme option to display 143*4c4400c7SValeria Barra 'searchbox.html', 144*4c4400c7SValeria Barra ] 145*4c4400c7SValeria Barra} 146*4c4400c7SValeria Barra 147*4c4400c7SValeria Barra# hoverxref options 148*4c4400c7SValeria Barrahoverxref_auto_ref = True 149*4c4400c7SValeria Barrahoverxref_mathjax = True 150*4c4400c7SValeria Barra 151*4c4400c7SValeria Barra# -- Options for HTMLHelp output ------------------------------------------ 152*4c4400c7SValeria Barra 153*4c4400c7SValeria Barra# Output file base name for HTML help builder. 154*4c4400c7SValeria Barrahtmlhelp_basename = 'libCEEDdoc' 155*4c4400c7SValeria Barra 156*4c4400c7SValeria Barra 157*4c4400c7SValeria Barra# -- Options for LaTeX output --------------------------------------------- 158*4c4400c7SValeria Barra 159*4c4400c7SValeria Barralatex_engine = 'xelatex' 160*4c4400c7SValeria Barra 161*4c4400c7SValeria Barralatex_elements = { 162*4c4400c7SValeria Barra # The paper size ('letterpaper' or 'a4paper'). 163*4c4400c7SValeria Barra # 164*4c4400c7SValeria Barra # 'papersize': 'letterpaper', 165*4c4400c7SValeria Barra 166*4c4400c7SValeria Barra # The font size ('10pt', '11pt' or '12pt'). 167*4c4400c7SValeria Barra # 168*4c4400c7SValeria Barra # 'pointsize': '10pt', 169*4c4400c7SValeria Barra 170*4c4400c7SValeria Barra # Additional stuff for the LaTeX preamble. 171*4c4400c7SValeria Barra # 172*4c4400c7SValeria Barra # 'preamble': '', 173*4c4400c7SValeria Barra 174*4c4400c7SValeria Barra # Latex figure (float) alignment 175*4c4400c7SValeria Barra # 176*4c4400c7SValeria Barra # 'figure_align': 'htbp', 177*4c4400c7SValeria Barra 'fontenc': r'\usepackage{mathspec}', 178*4c4400c7SValeria Barra 'fontpkg': r''' 179*4c4400c7SValeria Barra\setmainfont{TeX Gyre Pagella} 180*4c4400c7SValeria Barra\setmathfont{TeX Gyre Pagella Math} 181*4c4400c7SValeria Barra\setsansfont{DejaVu Sans} 182*4c4400c7SValeria Barra\setmonofont{DejaVu Sans Mono} 183*4c4400c7SValeria Barra''', 184*4c4400c7SValeria Barra} 185*4c4400c7SValeria Barra 186*4c4400c7SValeria Barralatex_logo = '../../img/ceed-full-name-logo.PNG' 187*4c4400c7SValeria Barra 188*4c4400c7SValeria Barralatexauthorslist = r' \and '.join(authorlist) 189*4c4400c7SValeria Barra 190*4c4400c7SValeria Barra# Grouping the document tree into LaTeX files. List of tuples 191*4c4400c7SValeria Barra# (source start file, target name, title, 192*4c4400c7SValeria Barra# author, documentclass [howto, manual, or own class]). 193*4c4400c7SValeria Barralatex_documents = [ 194*4c4400c7SValeria Barra (master_doc, 'libCEED.tex', 'libCEED User Manual', 195*4c4400c7SValeria Barra latexauthorslist, 'howto'), 196*4c4400c7SValeria Barra] 197*4c4400c7SValeria Barra 198*4c4400c7SValeria Barra 199*4c4400c7SValeria Barra# -- Options for manual page output --------------------------------------- 200*4c4400c7SValeria Barra 201*4c4400c7SValeria Barra# One entry per manual page. List of tuples 202*4c4400c7SValeria Barra# (source start file, name, description, authors, manual section). 203*4c4400c7SValeria Barraman_pages = [ 204*4c4400c7SValeria Barra (master_doc, 'libceed', 'libCEED User Manual', 205*4c4400c7SValeria Barra [author], 1) 206*4c4400c7SValeria Barra] 207*4c4400c7SValeria Barra 208*4c4400c7SValeria Barra 209*4c4400c7SValeria Barra# -- Options for Texinfo output ------------------------------------------- 210*4c4400c7SValeria Barra 211*4c4400c7SValeria Barra# Grouping the document tree into Texinfo files. List of tuples 212*4c4400c7SValeria Barra# (source start file, target name, title, author, 213*4c4400c7SValeria Barra# dir menu entry, description, category) 214*4c4400c7SValeria Barratexinfo_documents = [ 215*4c4400c7SValeria Barra (master_doc, 'libCEED', 'libCEED User Manual', 216*4c4400c7SValeria Barra latexauthorslist, 'libCEED', 'Efficient implementations of finite element operators.', 217*4c4400c7SValeria Barra 'Miscellaneous'), 218*4c4400c7SValeria Barra] 219*4c4400c7SValeria Barra 220*4c4400c7SValeria Barra 221*4c4400c7SValeria Barra# -- Options for Epub output ---------------------------------------------- 222*4c4400c7SValeria Barra 223*4c4400c7SValeria Barra# Bibliographic Dublin Core info. 224*4c4400c7SValeria Barraepub_title = project 225*4c4400c7SValeria Barraepub_author = author 226*4c4400c7SValeria Barraepub_publisher = author 227*4c4400c7SValeria Barraepub_copyright = copyright 228*4c4400c7SValeria Barra 229*4c4400c7SValeria Barra# The unique identifier of the text. This can be a ISBN number 230*4c4400c7SValeria Barra# or the project homepage. 231*4c4400c7SValeria Barra# 232*4c4400c7SValeria Barra# epub_identifier = '' 233*4c4400c7SValeria Barra 234*4c4400c7SValeria Barra# A unique identification for the text. 235*4c4400c7SValeria Barra# 236*4c4400c7SValeria Barra# epub_uid = '' 237*4c4400c7SValeria Barra 238*4c4400c7SValeria Barra# A list of files that should not be packed into the epub file. 239*4c4400c7SValeria Barraepub_exclude_files = ['search.html'] 240*4c4400c7SValeria Barra 241*4c4400c7SValeria Barra 242*4c4400c7SValeria Barra# Example configuration for intersphinx: refer to the Python standard library. 243*4c4400c7SValeria Barraintersphinx_mapping = {'https://docs.python.org/': None} 244*4c4400c7SValeria Barra 245*4c4400c7SValeria Barra 246*4c4400c7SValeria Barra# -- Options for breathe -------------------------------------------------- 247*4c4400c7SValeria Barrasys.path.append(breathe.__path__) 248*4c4400c7SValeria Barrabreathe_projects = {"libCEED": "../../../xml"} 249*4c4400c7SValeria Barrabreathe_default_project = "libCEED" 250*4c4400c7SValeria Barrabreathe_build_directory = "../build/breathe" 251*4c4400c7SValeria Barra 252*4c4400c7SValeria Barra# Run Doxygen if building on Read The Docs 253*4c4400c7SValeria Barraif os.environ.get('READTHEDOCS'): 254*4c4400c7SValeria Barra rootdir = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, os.pardir) 255*4c4400c7SValeria Barra subprocess.check_call(['doxygen', 'Doxyfile'], cwd=rootdir) 256