From d33d03189e905f25b26f5d4faddb9baec5ee851f Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Fri, 6 Sep 2019 13:55:20 +0200 Subject: [PATCH] rtd-ci: add read-the-docs integration --- .readthedocs.yml | 17 ++++ Doxyfile | 6 +- documentation/_static/css/custom.css | 7 ++ documentation/conf.py | 80 ++++++++++++++++++ documentation/images/EPICS_white_logo_v02.png | Bin 0 -> 5592 bytes documentation/index.rst | 17 ++++ 6 files changed, 124 insertions(+), 3 deletions(-) create mode 100644 .readthedocs.yml create mode 100644 documentation/_static/css/custom.css create mode 100644 documentation/conf.py create mode 100644 documentation/images/EPICS_white_logo_v02.png create mode 100644 documentation/index.rst diff --git a/.readthedocs.yml b/.readthedocs.yml new file mode 100644 index 0000000..3b4764d --- /dev/null +++ b/.readthedocs.yml @@ -0,0 +1,17 @@ +# .readthedocs.yml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Build documentation in the documentation/ directory with Sphinx +sphinx: + configuration: documentation/conf.py + +# Build documentation with MkDocs +#mkdocs: +# configuration: mkdocs.yml + +# Optionally build your docs in additional formats such as PDF and ePub +formats: all diff --git a/Doxyfile b/Doxyfile index 63eb0c8..31bfd1c 100644 --- a/Doxyfile +++ b/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = pvDatabaseCPP # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = +PROJECT_NUMBER = 4.5.1-dev # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a @@ -765,7 +765,7 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = include +INPUT = src # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -1035,7 +1035,7 @@ GENERATE_HTML = YES # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_OUTPUT = documentation/html +HTML_OUTPUT = html/doxygen # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). diff --git a/documentation/_static/css/custom.css b/documentation/_static/css/custom.css new file mode 100644 index 0000000..fcecd47 --- /dev/null +++ b/documentation/_static/css/custom.css @@ -0,0 +1,7 @@ +.wy-side-nav-search { + background-color: #18334B; +} + +.wy-side-nav-search input[type="text"] { + border-color: #18334b; +} \ No newline at end of file diff --git a/documentation/conf.py b/documentation/conf.py new file mode 100644 index 0000000..f1c969f --- /dev/null +++ b/documentation/conf.py @@ -0,0 +1,80 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# 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. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'normativeTypes (C++)' +copyright = '2019, EPICS Controls.' +author = 'EPICS' + + +# -- 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.intersphinx', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + +# Intersphinx links to subprojects +intersphinx_mapping = { +} + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + + +# 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 = ['_static'] + +html_css_files = [ + 'css/custom.css', +] + +master_doc = 'index' + +html_theme_options = { + 'logo_only': True, +} +html_logo = "images/EPICS_white_logo_v02.png" + +html_extra_path = [ + '../html', + 'pvDatabaseCPP.html', +] + + +# -- Run Doxygen ------------------------------------------------------------ + +import subprocess +subprocess.call('cd ..; mkdir -p html/doxygen; doxygen', shell=True) diff --git a/documentation/images/EPICS_white_logo_v02.png b/documentation/images/EPICS_white_logo_v02.png new file mode 100644 index 0000000000000000000000000000000000000000..01178ef211df5456e7f161209e337c56472aad11 GIT binary patch literal 5592 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 + EPICS Documentation Home + + +.. toctree:: + :maxdepth: 1 + :caption: pvDatabaseCPP + + Reference Manual + API Documentation + Source Code Repository on GitHub