X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fconf.py;h=c883306d77e60409059577074dab7b54821b869c;hb=01add9da25cd6372d16feea3569e6c5b78051188;hp=01ce16d2e928ef81e30bfef845986e9567a6c80d;hpb=807418f263a48855fcc64455afda1b7d4be03e47;p=dpdk.git diff --git a/doc/guides/conf.py b/doc/guides/conf.py index 01ce16d2e9..c883306d77 100644 --- a/doc/guides/conf.py +++ b/doc/guides/conf.py @@ -1,32 +1,5 @@ -# BSD LICENSE -# Copyright(c) 2010-2015 Intel Corporation. All rights reserved. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Intel Corporation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2010-2015 Intel Corporation from __future__ import print_function import subprocess @@ -47,11 +20,17 @@ except: # Python 3. import configparser +try: + import sphinx_rtd_theme -project = 'Data Plane Development Kit' - -if LooseVersion(sphinx_version) >= LooseVersion('1.3.1'): 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') + pass + +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 = "" @@ -79,7 +58,7 @@ latex_documents = [ ] # Latex directives to be included directly in the latex/pdf docs. -latex_preamble = r""" +custom_latex_preamble = r""" \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{helvet} @@ -95,7 +74,7 @@ latex_elements = { 'classoptions': ',openany,oneside', 'babel': '\\usepackage[english]{babel}', # customize Latex formatting - 'preamble': latex_preamble + 'preamble': custom_latex_preamble } @@ -178,7 +157,7 @@ def process_numref(app, doctree, from_docname): node.replace_self(newnode) -def generate_overview_table(output_filename, section, table_name, title): +def generate_overview_table(output_filename, table_id, section, table_name, title): """ Function to generate the Overview Table from the ini files that define the features for each driver. @@ -211,18 +190,23 @@ def generate_overview_table(output_filename, section, table_name, title): ini_files.sort() # Build up a list of the table header names from the ini filenames. - header_names = [] + pmd_names = [] for ini_filename in ini_files: name = ini_filename[:-4] name = name.replace('_vf', 'vf') + pmd_names.append(name) - # Pad the table header names to match the existing format. + # Pad the table header names. + max_header_len = len(max(pmd_names, key=len)) + header_names = [] + for name in pmd_names: if '_vec' in name: pmd, vec = name.split('_') - name = '{0:{fill}{align}7}vec'.format(pmd, fill='.', align='<') + name = '{0:{fill}{align}{width}}vec'.format(pmd, + fill='.', align='<', width=max_header_len-3) else: - name = '{0:{fill}{align}10}'.format(name, fill=' ', align='<') - + name = '{0:{fill}{align}{width}}'.format(name, + fill=' ', align='<', width=max_header_len) header_names.append(name) # Create a dict of the defined features for each driver from the ini files. @@ -258,9 +242,8 @@ def generate_overview_table(output_filename, section, table_name, title): outfile = open(output_filename, 'w') num_cols = len(header_names) - print('.. table:: ' + table_name + '\n', - file=outfile) - + print_table_css(outfile, table_id) + print('.. table:: ' + table_name + '\n', file=outfile) print_table_header(outfile, num_cols, header_names, title) print_table_body(outfile, num_cols, ini_files, ini_data, default_features) @@ -275,7 +258,7 @@ def print_table_header(outfile, num_cols, header_names, title): print_table_row(outfile, title, line) - for i in range(1, 10): + for i in range(1, len(header_names[0])): line = '' for name in header_names: line += ' ' + name[i] @@ -316,32 +299,100 @@ def print_table_divider(outfile, num_cols): print_table_row(outfile, feature, line) +def print_table_css(outfile, table_id): + template = """ +.. raw:: html + + +""" + print(template.replace("idx", "id%d" % (table_id)), file=outfile) + + def setup(app): table_file = dirname(__file__) + '/nics/overview_table.txt' - generate_overview_table(table_file, + generate_overview_table(table_file, 1, 'Features', 'Features availability in networking drivers', 'Feature') table_file = dirname(__file__) + '/cryptodevs/overview_feature_table.txt' - generate_overview_table(table_file, + generate_overview_table(table_file, 1, 'Features', 'Features availability in crypto drivers', 'Feature') table_file = dirname(__file__) + '/cryptodevs/overview_cipher_table.txt' - generate_overview_table(table_file, + generate_overview_table(table_file, 2, 'Cipher', 'Cipher algorithms in crypto drivers', 'Cipher algorithm') table_file = dirname(__file__) + '/cryptodevs/overview_auth_table.txt' - generate_overview_table(table_file, + generate_overview_table(table_file, 3, 'Auth', 'Authentication algorithms in crypto drivers', 'Authentication algorithm') table_file = dirname(__file__) + '/cryptodevs/overview_aead_table.txt' - generate_overview_table(table_file, + generate_overview_table(table_file, 4, 'AEAD', 'AEAD algorithms in crypto drivers', 'AEAD algorithm') + table_file = dirname(__file__) + '/compressdevs/overview_feature_table.txt' + generate_overview_table(table_file, 1, + 'Features', + 'Features availability in compression drivers', + 'Feature') if LooseVersion(sphinx_version) < LooseVersion('1.3.1'): print('Upgrade sphinx to version >= 1.3.1 for ' @@ -350,3 +401,5 @@ def setup(app): 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')