Skip to content

Commit

Permalink
Initial Design documents (#6)
Browse files Browse the repository at this point in the history
* initial design documents
  • Loading branch information
mpatrou authored Nov 20, 2024
1 parent 4747d27 commit decafcc
Show file tree
Hide file tree
Showing 10 changed files with 503 additions and 66 deletions.
21 changes: 21 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Purpose: Convenience scripts to simplify some common Sphinx operations, such as rendering the content.

# Minimal makefile for Sphinx documentation

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
90 changes: 41 additions & 49 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -1,78 +1,70 @@
"""Documentation Configuration"""
"""Configuration file for the Sphinx documentation builder.
For the full list of built-in configuration values, see the documentation:
https://www.sphinx-doc.org/en/master/usage/configuration.html
"""

# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
import os
import sys

import versioningit
# import versioningit

sys.path.insert(0, os.path.abspath("../src"))

# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information

project = "Project Name"
copyright = "Copyright 2024" # noqa A001
author = "Author Name"

# The short X.Y version
# NOTE: need to specify the location of the pyproject.toml file instead of the
# location of the source tree
version = versioningit.get_version("..")
# The full version, including alpha/beta/rc tags
release = ".".join(version.split(".")[:-1])
project = "hyspecplanningtools"
copyright = "2024, ORNL" # noqa A001
author = "ORNL"
# version = versioningit.get_version("../../")
# # The full version, including alpha/beta/rc tags
# release = ".".join(version.split(".")[:-1])

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.autosummary",
"sphinx.ext.duration",
"sphinx.ext.doctest",
"sphinx.ext.todo",
"sphinx.ext.coverage",
"sphinx.ext.mathjax",
"sphinx.ext.ifconfig",
"sphinx.ext.viewcode",
"sphinx.ext.githubpages",
"sphinx.ext.autodoc",
"sphinx.ext.intersphinx",
"sphinx.ext.napoleon",
"myst_parser",
"sphinx.ext.viewcode",
"sphinx.ext.coverage",
"sphinxcontrib.mermaid",
]
templates_path = ["_templates"]

# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
source_suffix = [".rst", ".md"]
autodoc_mock_imports = [
"qtpy",
"qtpy.uic",
"qtpy.QtWidgets",
]

# The master toctree document.
master_doc = "index"
source_suffix = [".rst", ".md"]

# 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_mapping = {
"python": ("https://docs.python.org/3/", None),
"sphinx": ("https://www.sphinx-doc.org/en/master/", None),
}
intersphinx_disabled_domains = ["std"]

templates_path = ["_templates"]
exclude_patterns = ["_build"]
pygments_style = "sphinx"


# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#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" # please add corresponding package to environment.yml if you want to use it
autosummary_generate = True
html_theme = "sphinx_rtd_theme" # pylint: disable=C0103

# Napoleon settings
napoleon_google_docstring = False
napoleon_numpy_docstring = True
html_theme_options = {"style_nav_header_background": "#472375"}

# "Static" resources (like *.css *.js files, or images) to be included when generating the HTML documentation.
if os.path.exists("_static"):
html_static_path = ["_static"]
html_static_path = ["_static"]

html_css_files = [
"css/custom.css",
]

# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = True
epub_show_urls = "footnote" # pylint: disable=C0103
17 changes: 0 additions & 17 deletions docs/index.rst

This file was deleted.

37 changes: 37 additions & 0 deletions docs/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
REM Purpose: Convenience scripts to simplify some common Sphinx operations, such as rendering the content.

@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)

if "%1" == "" goto help

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd
11 changes: 11 additions & 0 deletions docs/source/_static/css/custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/* makes the width expand the entire width*/
.wy-nav-content {
min-width: 360px;
max-width: 100%;
}

/* allows table to be multi-line */
table.docutils td {
word-wrap:break-word;
white-space:pre-wrap;
}
70 changes: 70 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
"""Configuration file for the Sphinx documentation builder.
For the full list of built-in configuration values, see the documentation:
https://www.sphinx-doc.org/en/master/usage/configuration.html
"""

import os
import sys

# import versioningit

sys.path.insert(0, os.path.abspath("../../src"))

# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information

project = "Hyspecplanningtools"
copyright = "2024, ORNL" # noqa A001
author = "ORNL"
# version = versioningit.get_version("../../")
# # The full version, including alpha/beta/rc tags
# release = ".".join(version.split(".")[:-1])

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = [
"sphinx.ext.duration",
"sphinx.ext.doctest",
"sphinx.ext.autodoc",
"sphinx.ext.intersphinx",
"sphinx.ext.viewcode",
"sphinx.ext.coverage",
"sphinxcontrib.mermaid",
]

autodoc_mock_imports = [
"qtpy",
"qtpy.uic",
"qtpy.QtWidgets",
]

master_doc = "index"
source_suffix = [".rst", ".md"]

intersphinx_mapping = {
"python": ("https://docs.python.org/3/", None),
"sphinx": ("https://www.sphinx-doc.org/en/master/", None),
}
intersphinx_disabled_domains = ["std"]

templates_path = ["_templates"]
exclude_patterns = ["_build"]
pygments_style = "sphinx"


# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

html_theme = "sphinx_rtd_theme" # pylint: disable=C0103

html_theme_options = {"style_nav_header_background": "#472375"}

html_static_path = ["_static"]

html_css_files = [
"css/custom.css",
]

epub_show_urls = "footnote" # pylint: disable=C0103
19 changes: 19 additions & 0 deletions docs/source/design/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
.. _design__guidelines:

=============================
Hyspecplanningtools Design
=============================

Information, diagrams and flowcharts are included about the various components of the polarization tool.
Please make sure to
review and adhere to these guidelines when contributing to the project.


Contents
--------

.. toctree::
:maxdepth: 2

polarizationmodel
polarizationflow
Loading

0 comments on commit decafcc

Please sign in to comment.