diff --git a/.gitignore b/.gitignore index 7c3caaf9..e954ffef 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ deployments/fpga_admissionwebhook/base/intel-fpga-webhook-certs-secret *.gbs.* *.aocx *.aocx.* + +_build +_work diff --git a/Makefile b/Makefile index 3e88e953..b1801f8b 100644 --- a/Makefile +++ b/Makefile @@ -143,3 +143,28 @@ check-github-actions: (echo "Make sure all images are listed in .github/workflows/ci.yaml"; exit 1) .PHONY: all format test lint build images $(cmds) $(images) lock-images vendor pre-pull set-version check-github-actions run-operator envtest deploy-operator undeploy-operator + +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Generate doc site under _build/html with Sphinx. +vhtml: _work/venv/.stamp + . _work/venv/bin/activate && \ + $(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + cp docs/index.html $(BUILDDIR)/html/index.html + +html: + $(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + cp docs/index.html $(BUILDDIR)/html/index.html + +clean-html: + rm -rf $(BUILDDIR)/html + +# Set up a Python3 environment with the necessary tools for document creation. +_work/venv/.stamp: docs/requirements.txt + rm -rf ${@D} + python3 -m venv ${@D} + . ${@D}/bin/activate && pip install -r $< + touch $@ \ No newline at end of file diff --git a/conf.py b/conf.py new file mode 100644 index 00000000..051ba5a0 --- /dev/null +++ b/conf.py @@ -0,0 +1,103 @@ +# 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: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- 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('.')) +from docutils import nodes +from os.path import isdir, isfile, join, basename, dirname +from os import makedirs, getenv +from shutil import copyfile +from pygments.lexers.go import GoLexer +from sphinx.highlighting import lexers + +############# +# +# Add a special lexer to add a class to console lexer +# +############# + +class goLangLexer (GoLexer): + name = 'golang' + +lexers['golang'] = goLangLexer(startinLine=True) + +# -- Project information ----------------------------------------------------- + +project = 'IntelĀ® Device Plugins for Kubernetes' +copyright = '2020, various' +author = 'various' + + +############################################################################## +# +# This section determines the behavior of links to local items in .md files. +# +# if useGitHubURL == True: +# +# links to local files and directories will be turned into github URLs +# using either the baseBranch defined here or using the commit SHA. +# +# if useGitHubURL == False: +# +# local files will be moved to the website directory structure when built +# local directories will still be links to github URLs +# +# if built with GitHub workflows: +# +# the GitHub URLs will use the commit SHA (GITHUB_SHA environment variable +# is defined by GitHub workflows) to link to the specific commit. +# +############################################################################## + +baseBranch = "master" +useGitHubURL = True +commitSHA = getenv('GITHUB_SHA') +githubBaseURL = "https://github.com/intel/intel-device-plugins-for-kubernetes/" +githubFileURL = githubBaseURL + "blob/" +githubDirURL = githubBaseURL + "tree/" +if commitSHA: + githubFileURL = githubFileURL + commitSHA + "/" + githubDirURL = githubDirURL + commitSHA + "/" +else: + githubFileURL = githubFileURL + baseBranch + "/" + githubDirURL = githubDirURL + baseBranch + "/" + +# -- 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 = ['recommonmark','sphinx_markdown_tables','sphinx_md'] +source_suffix = {'.rst': 'restructuredtext','.md': 'markdown'} + + +# 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','_work','cmd/fpga_plugin/pictures'] + + +# -- 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'] diff --git a/docs/extensions.rst b/docs/extensions.rst new file mode 100644 index 00000000..d725d7ff --- /dev/null +++ b/docs/extensions.rst @@ -0,0 +1,14 @@ +Extensions +########## + +.. toctree:: + + ../cmd/fpga_admissionwebhook/README.md + ../cmd/fpga_crihook/README.md + ../cmd/fpga_plugin/README.md + ../cmd/fpga_tool/README.md + ../cmd/gpu_plugin/README.md + ../cmd/operator/README.md + ../cmd/qat_plugin/README.md + ../cmd/sgx_plugin/README.md + ../cmd/vpu_plugin/README.md \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..5f62e3d9 --- /dev/null +++ b/docs/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..3a578c98 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,5 @@ +sphinx +sphinx_rtd_theme +recommonmark +sphinx-markdown-tables +sphinx-md \ No newline at end of file diff --git a/index.rst b/index.rst new file mode 100644 index 00000000..31b02024 --- /dev/null +++ b/index.rst @@ -0,0 +1,10 @@ +IntelĀ® Device Plugins for Kubernetes +#################################### + +.. toctree:: + + README.md + DEVEL.md + docs/extensions.rst + demo/readme.md + Project GitHub repository \ No newline at end of file