diff options
author | Luca Muscariello <muscariello@ieee.org> | 2020-02-12 13:49:52 +0100 |
---|---|---|
committer | Luca Muscariello <muscariello@ieee.org> | 2020-02-12 17:51:13 +0100 |
commit | 56e29ea01914681f394e3a0af4169936079858a7 (patch) | |
tree | 2b364c9da3a44637e9e2ba87b7009424ad8b192b | |
parent | 202c6bc2788c943b15026c24900c321b9bbeed3c (diff) |
[HICN-512] documentation bundle using sphinx
Change-Id: I1dcbca50f7406ef2714683547b6bb32463e1baf8
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
-rw-r--r-- | AUTHORS | 4 | ||||
-rw-r--r-- | docs/Makefile | 19 | ||||
-rw-r--r-- | docs/README.md | 49 | ||||
-rw-r--r-- | docs/etc/requirements.txt | 27 | ||||
-rw-r--r-- | docs/source/_static/css/rules.css | 19 | ||||
-rw-r--r-- | docs/source/_static/fd-io_red_white.png | bin | 0 -> 39010 bytes | |||
-rw-r--r-- | docs/source/_static/fdio_logo.png | bin | 0 -> 3708 bytes | |||
-rw-r--r-- | docs/source/apps.md (renamed from apps/README.md) | 0 | ||||
-rw-r--r-- | docs/source/conf.py | 176 | ||||
-rw-r--r-- | docs/source/control.md (renamed from ctrl/sysrepo-plugins/README.md) | 0 | ||||
-rw-r--r-- | docs/source/hicn-light.md (renamed from hicn-light/README.md) | 3 | ||||
-rw-r--r-- | docs/source/index.rst | 15 | ||||
-rw-r--r-- | docs/source/interface.md (renamed from ctrl/facemgr/doc/interface.md) | 0 | ||||
-rw-r--r-- | docs/source/lib.md (renamed from lib/README.md) | 4 | ||||
-rw-r--r-- | docs/source/transport.md (renamed from libtransport/README.md) | 0 | ||||
-rw-r--r-- | docs/source/utils.md (renamed from utils/README.md) | 0 | ||||
-rw-r--r-- | docs/source/vpp-plugin.md (renamed from hicn-plugin/README.md) | 2 | ||||
-rw-r--r-- | libtransport/AUTHORS | 8 | ||||
-rw-r--r-- | scripts/build-packages.sh | 25 |
19 files changed, 338 insertions, 13 deletions
@@ -1,6 +1,8 @@ Jordan Augé <jordan.auge@cisco.com> +Giovanna Carofiglio <gcarofig@cisco.com> Alberto Compagno <acompagn@cisco.com> -Giovanni Conte <gconte@cisco.com> +Angelo Mantellini <manangel@cisco.com> Luca Muscariello <lumuscar@cisco.com> Michele Papalini <mpapal@cisco.com> +Jacques Samain <jsamain@cisco.com> Mauro Sardara <msardara@cisco.com> diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 000000000..69fe55ecf --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,19 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +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)
\ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..c99cf879b --- /dev/null +++ b/docs/README.md @@ -0,0 +1,49 @@ + +Building Documents + +These instructions show how documentation sources are built. + +To build your files, you can either Create a Virtual Environment using +virtualenv, which installs all the required applications for you. + +Create a Virtual Environment using virtualenv +============================ + +For more information on how to use the Python virtual environment check +out https://packaging.python.org/guides/installing-using-pip-and-virtualenv + +Get the Documents +------------------------------ + +For example start with a clone of the vpp. + +$ git clone https://gerrit.fd.io/r/hicn +$ cd hicn + +Install the virtual environment +---------------------------------------------- + +$ python3 -m pip install --user virtualenv +$ python3 -m virtualenv env +$ source env/bin/activate +$ pip install -r docs/etc/requirements.txt +$ cd docs + +Which installs all the required applications into it's own, isolated, +virtual environment, so as to not interfere with other builds that may +use different versions of software. + +Build the html files +---------------------------- + +Be sure you are in your hicn/docs directory, since that is where Sphinx will +look for your conf.py file, and build the documents into an index.html file + +$ make html + +View the results +------------------------ + +If there are no errors during the build process, you should now have an +index.html file in your hicn/docs/build/html directory, which you can +then view in your browser. diff --git a/docs/etc/requirements.txt b/docs/etc/requirements.txt new file mode 100644 index 000000000..5b037c693 --- /dev/null +++ b/docs/etc/requirements.txt @@ -0,0 +1,27 @@ +alabaster==0.7.12 +Babel==2.8.0 +certifi==2019.11.28 +chardet==3.0.4 +commonmark==0.9.1 +docutils==0.16 +idna==2.8 +imagesize==1.2.0 +Jinja2==2.10.3 +MarkupSafe==1.1.1 +packaging==20.0 +Pygments==2.5.2 +pyparsing==2.4.6 +pytz==2019.3 +recommonmark==0.6.0 +requests==2.22.0 +six==1.14.0 +snowballstemmer==2.0.0 +Sphinx==2.3.1 +sphinx-rtd-theme==0.4.3 +sphinxcontrib-applehelp==1.0.1 +sphinxcontrib-devhelp==1.0.1 +sphinxcontrib-htmlhelp==1.0.2 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.2 +sphinxcontrib-serializinghtml==1.1.3 +urllib3==1.25.8 diff --git a/docs/source/_static/css/rules.css b/docs/source/_static/css/rules.css new file mode 100644 index 000000000..ceb0d5abc --- /dev/null +++ b/docs/source/_static/css/rules.css @@ -0,0 +1,19 @@ +/* Allows for tables to be center-aligned */ +table.center-align-table td { + text-align: center; +} + +/* override table width restrictions */ +@media screen and (min-width: 767px) { + + .wy-table-responsive table td { + /* !important prevents the common CSS stylesheets from overriding + this as on RTD they are loaded after this stylesheet */ + white-space: normal !important; + } + + .wy-table-responsive { + overflow: visible !important; + } +} + diff --git a/docs/source/_static/fd-io_red_white.png b/docs/source/_static/fd-io_red_white.png Binary files differnew file mode 100644 index 000000000..9cf6d36f9 --- /dev/null +++ b/docs/source/_static/fd-io_red_white.png diff --git a/docs/source/_static/fdio_logo.png b/docs/source/_static/fdio_logo.png Binary files differnew file mode 100644 index 000000000..3c362b278 --- /dev/null +++ b/docs/source/_static/fdio_logo.png diff --git a/apps/README.md b/docs/source/apps.md index eefb68be1..eefb68be1 100644 --- a/apps/README.md +++ b/docs/source/apps.md diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 000000000..bb6715564 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,176 @@ +# -*- coding: utf-8 -*- +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain 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 = u'Hybrid ICN' +copyright = u'(c) 2017-2020 Cisco and/or its affiliates.' +author = u'Luca Muscariello' + +# The short X.Y version +version = u'' +# The full version, including alpha/beta/rc tags +release = u'20.01' + + +# -- General configuration --------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# 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'] + +# Prefix document path to section labels, otherwise autogenerated labels would look like 'heading' +# rather than 'path/to/file:heading' +autosectionlabel_prefix_document = True +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +source_suffix = ['.rst', '.md'] + +# The master toctree document. +master_doc = 'index' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# 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 = [] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = None +html_logo = '_static/fd-io_red_white.png' + +# -- 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" + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# 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'] + +def setup(app): + app.add_stylesheet('css/rules.css') + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'hicndoc' + + +# -- Options for LaTeX output ------------------------------------------------ + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'hicn.tex', u'hicn Documentation', + u'Luca Muscariello', 'manual'), +] + + +# -- Options for manual page output ------------------------------------------ + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'hicn', u'hicn Documentation', + [author], 1) +] + + +# -- Options for Texinfo output ---------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'hicn', u'hicn Documentation', + author, 'hicn', 'One line description of project.', + 'Miscellaneous'), +] + + +# -- Options for Epub output ------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] diff --git a/ctrl/sysrepo-plugins/README.md b/docs/source/control.md index 0940fff67..0940fff67 100644 --- a/ctrl/sysrepo-plugins/README.md +++ b/docs/source/control.md diff --git a/hicn-light/README.md b/docs/source/hicn-light.md index f18de0df5..e321b78e5 100644 --- a/hicn-light/README.md +++ b/docs/source/hicn-light.md @@ -1,4 +1,5 @@ -# hicn-light +The Hybrid ICN Portable Forwarder +============================== ## Introduction diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 000000000..43a380b5f --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,15 @@ +Hybrid ICN software distribution +================================= + +.. toctree:: + + lib + vpp-plugin + transport + hicn-light + interface + control + utils + apps + + diff --git a/ctrl/facemgr/doc/interface.md b/docs/source/interface.md index c7168ef23..c7168ef23 100644 --- a/ctrl/facemgr/doc/interface.md +++ b/docs/source/interface.md diff --git a/lib/README.md b/docs/source/lib.md index 6dac988db..58f23b510 100644 --- a/lib/README.md +++ b/docs/source/lib.md @@ -1,4 +1,6 @@ -# libhicn + +The Hybrid ICN Core Library +============================== ## Introduction diff --git a/libtransport/README.md b/docs/source/transport.md index e7fc267ee..e7fc267ee 100644 --- a/libtransport/README.md +++ b/docs/source/transport.md diff --git a/utils/README.md b/docs/source/utils.md index 0d81ea426..0d81ea426 100644 --- a/utils/README.md +++ b/docs/source/utils.md diff --git a/hicn-plugin/README.md b/docs/source/vpp-plugin.md index 3d332851b..ed9d122d6 100644 --- a/hicn-plugin/README.md +++ b/docs/source/vpp-plugin.md @@ -1,4 +1,4 @@ -Hybrid ICN project: VPP plugin +VPP plugin ============================== The hICN-plugin forwarder diff --git a/libtransport/AUTHORS b/libtransport/AUTHORS deleted file mode 100644 index 12d1ae699..000000000 --- a/libtransport/AUTHORS +++ /dev/null @@ -1,8 +0,0 @@ -Libtransport authors are listed below - - Mauro Sardara <msardara@cisco.com> - Michele Papalini <micpapal@cisco.com> - Alberto Compagno <acompagn@cisco.com> - Luca Muscariello <lumuscar@cisco.com> - -Copyright (c) 2017-2019 Cisco and/or its affiliates.
\ No newline at end of file diff --git a/scripts/build-packages.sh b/scripts/build-packages.sh index 6ec32c0a7..76e76a385 100644 --- a/scripts/build-packages.sh +++ b/scripts/build-packages.sh @@ -58,7 +58,8 @@ DEPS_UBUNTU_NOVERSION="libparc-dev \ vpp-plugin-core \ libyang \ sysrepo \ - python3-ply" + python3-ply \ + python3-pip" DEPS_CMAKE_UBUNTU="curl" @@ -216,6 +217,28 @@ build_package() { echo "*******************************************************************" } +build_doc() { + setup + + echo "*******************************************************************" + echo "********************* STARTING DOC BUILD **************************" + echo "*******************************************************************" + + # Make the package + python3 -m pip install --user virtualenv + python3 -m virtualenv env + source env/bin/activate + pip install -r docs/etc/requirements.txt + cd docs + make html + + popd + + echo "*******************************************************************" + echo "***************** BUILD COMPLETED SUCCESSFULLY *******************" + echo "*******************************************************************" +} + build_package exit 0 |