X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fconf.py;h=d8fe5cccd79ba41207d41180f17d0123f0d288e4;hb=cf9b3c36e5a297200c169dbbf9d6e655d8096948;hp=cf06f257210c171d6cc3fcc769989f7c8b34bba3;hpb=f41989c8c02675c777326b33f590eb347aa0e0dc;p=dpdk.git diff --git a/doc/guides/conf.py b/doc/guides/conf.py index cf06f25721..d8fe5cccd7 100644 --- a/doc/guides/conf.py +++ b/doc/guides/conf.py @@ -9,6 +9,7 @@ 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 @@ -37,14 +38,16 @@ html_add_permalinks = "" html_show_copyright = False highlight_language = 'none' -version = subprocess.check_output(['make', '-sRrC', '../../', 'showversion']) +# 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 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 @@ -59,11 +62,11 @@ latex_documents = [ # Latex directives to be included directly in the latex/pdf docs. custom_latex_preamble = r""" -\usepackage[utf8]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{helvet} -\renewcommand{\familydefault}{\sfdefault} +\usepackage{textalpha} \RecustomVerbatimEnvironment{Verbatim}{Verbatim}{xleftmargin=5mm} +\usepackage{etoolbox} +\robustify\( +\robustify\) """ # Configuration for the latex/pdf docs. @@ -190,18 +193,23 @@ def generate_overview_table(output_filename, table_id, section, table_name, titl 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. @@ -229,7 +237,7 @@ def generate_overview_table(output_filename, table_id, section, table_name, titl ini_filename)) continue - if value is not '': + if value: # Get the first letter only. ini_data[ini_filename][name] = value[0] @@ -253,7 +261,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] @@ -306,16 +314,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: 80%; + 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; @@ -324,9 +338,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; @@ -383,6 +399,31 @@ def setup(app): 'AEAD', 'AEAD algorithms in crypto drivers', 'AEAD algorithm') + table_file = dirname(__file__) + '/cryptodevs/overview_asym_table.txt' + generate_overview_table(table_file, 5, + 'Asymmetric', + 'Asymmetric algorithms in crypto drivers', + 'Asymmetric algorithm') + table_file = dirname(__file__) + '/compressdevs/overview_feature_table.txt' + generate_overview_table(table_file, 1, + '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 ' @@ -392,4 +433,8 @@ def setup(app): # 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')