X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fconf.py;h=67d2dd62c7fcd2820562b55abe4534529f3c19f7;hb=5a36ec735130f81a187ef65c4bc43c445a89568d;hp=0892c06dec98962cf7f11fbb0e22cd431e112a99;hpb=878f99d1142d861ad9e301a461ed7a05b32b7900;p=dpdk.git diff --git a/doc/guides/conf.py b/doc/guides/conf.py index 0892c06dec..67d2dd62c7 100644 --- a/doc/guides/conf.py +++ b/doc/guides/conf.py @@ -1,97 +1,51 @@ +#!/usr/bin/env python3 # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2010-2015 Intel Corporation -from __future__ import print_function -import subprocess from docutils import nodes from distutils.version import LooseVersion from sphinx import __version__ as sphinx_version -from sphinx.highlighting import PygmentsBridge -from pygments.formatters.latex import LatexFormatter from os import listdir from os import environ from os.path import basename from os.path import dirname from os.path import join as path_join +from sys import argv, stderr -try: - # Python 2. - import ConfigParser as configparser -except: - # Python 3. - import configparser +import configparser try: import sphinx_rtd_theme html_theme = "sphinx_rtd_theme" - html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] except: print('Install the sphinx ReadTheDocs theme for improved html documentation ' - 'layout: pip install sphinx_rtd_theme') + 'layout: https://sphinx-rtd-theme.readthedocs.io/', + file=stderr) pass +stop_on_error = ('-W' in argv) + project = 'Data Plane Development Kit' html_logo = '../logo/DPDK_logo_vertical_rev_small.png' -latex_logo = '../logo/DPDK_logo_horizontal_tag.png' -html_add_permalinks = "" +if LooseVersion(sphinx_version) >= LooseVersion('3.5'): + html_permalinks = False +else: + html_add_permalinks = "" html_show_copyright = False highlight_language = 'none' -# If MAKEFLAGS is exported by the user, garbage text might end up in version -version = subprocess.check_output(['make', '-sRrC', '../../', 'showversion'], - env=dict(environ, MAKEFLAGS="")) -version = version.decode('utf-8').rstrip() -release = version +release = environ.setdefault('DPDK_VERSION', "None") +version = release master_doc = 'index' # Maximum feature description string length -feature_str_len = 25 +feature_str_len = 30 # Figures, tables and code-blocks automatically numbered if they have caption numfig = True -latex_documents = [ - ('index', - 'doc.tex', - '', - '', - 'manual') -] - -# Latex directives to be included directly in the latex/pdf docs. -custom_latex_preamble = r""" -\usepackage{textalpha} -\RecustomVerbatimEnvironment{Verbatim}{Verbatim}{xleftmargin=5mm} -\usepackage{etoolbox} -\robustify\( -\robustify\) -""" - -# Configuration for the latex/pdf docs. -latex_elements = { - 'papersize': 'a4paper', - 'pointsize': '11pt', - # remove blank pages - 'classoptions': ',openany,oneside', - 'babel': '\\usepackage[english]{babel}', - # customize Latex formatting - 'preamble': custom_latex_preamble -} - - -# Override the default Latex formatter in order to modify the -# code/verbatim blocks. -class CustomLatexFormatter(LatexFormatter): - def __init__(self, **options): - super(CustomLatexFormatter, self).__init__(**options) - # Use the second smallest font size for code/verbatim blocks. - self.verboptions = r'formatcom=\footnotesize' - -# Replace the default latex formatter. -PygmentsBridge.latex_formatter = CustomLatexFormatter - # Configuration for man pages man_pages = [("testpmd_app_ug/run_app", "testpmd", "tests for dpdk pmds", "", 1), @@ -222,11 +176,8 @@ def generate_overview_table(output_filename, table_id, section, table_name, titl # Initialize the dict with the default.ini value. ini_data[ini_filename] = valid_features.copy() - # Check for a valid ini section. + # Check for a section. if not config.has_section(section): - print("{}: File '{}' has no [{}] secton".format(warning, - ini_filename, - section)) continue # Check for valid features names. @@ -234,7 +185,10 @@ def generate_overview_table(output_filename, table_id, section, table_name, titl if name not in valid_features: print("{}: Unknown feature '{}' in '{}'".format(warning, name, - ini_filename)) + ini_filename), + file=stderr) + if stop_on_error: + raise Exception('Warning is treated as a failure') continue if value: @@ -314,16 +268,22 @@ def print_table_css(outfile, table_id): cursor: default; overflow: hidden; } + table#idx p { + margin: 0; + line-height: inherit; + } table#idx th, table#idx td { text-align: center; + border: solid 1px #ddd; } table#idx th { - font-size: 72%; + padding: 0.5em 0; + } + table#idx th, table#idx th p { + font-size: 11px; white-space: pre-wrap; vertical-align: top; - padding: 0.5em 0; min-width: 0.9em; - width: 2em; } table#idx col:first-child { width: 0; @@ -332,9 +292,11 @@ def print_table_css(outfile, table_id): vertical-align: bottom; } table#idx td { - font-size: 70%; padding: 1px; } + table#idx td, table#idx td p { + font-size: 11px; + } table#idx td:first-child { padding-left: 1em; text-align: left; @@ -371,6 +333,16 @@ def setup(app): 'Features', 'Features availability in networking drivers', 'Feature') + table_file = dirname(__file__) + '/nics/rte_flow_items_table.txt' + generate_overview_table(table_file, 2, + 'rte_flow items', + 'rte_flow items availability in networking drivers', + 'Item') + table_file = dirname(__file__) + '/nics/rte_flow_actions_table.txt' + generate_overview_table(table_file, 3, + 'rte_flow actions', + 'rte_flow actions availability in networking drivers', + 'Action') table_file = dirname(__file__) + '/cryptodevs/overview_feature_table.txt' generate_overview_table(table_file, 1, 'Features', @@ -401,13 +373,33 @@ def setup(app): 'Features', 'Features availability in compression drivers', 'Feature') + table_file = dirname(__file__) + '/regexdevs/overview_feature_table.txt' + generate_overview_table(table_file, 1, + 'Features', + 'Features availability in regex drivers', + 'Feature') + table_file = dirname(__file__) + '/vdpadevs/overview_feature_table.txt' + generate_overview_table(table_file, 1, + 'Features', + 'Features availability in vDPA drivers', + 'Feature') + table_file = dirname(__file__) + '/bbdevs/overview_feature_table.txt' + generate_overview_table(table_file, 1, + 'Features', + 'Features availability in bbdev drivers', + 'Feature') if LooseVersion(sphinx_version) < LooseVersion('1.3.1'): print('Upgrade sphinx to version >= 1.3.1 for ' - 'improved Figure/Table number handling.') + 'improved Figure/Table number handling.', + file=stderr) # Add a role to handle :numref: references. app.add_role('numref', numref_role) # Process the numref references once the doctree has been created. app.connect('doctree-resolved', process_numref) - app.add_stylesheet('css/custom.css') + try: + # New function in sphinx 1.8 + app.add_css_file('css/custom.css') + except: + app.add_stylesheet('css/custom.css')