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.
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)
print_table_row(outfile, feature, line)
+def print_table_css(outfile, table_id):
+ template = """
+.. raw:: html
+
+ <style>
+ .wy-nav-content {
+ opacity: .99;
+ }
+ table#idx {
+ cursor: default;
+ overflow: hidden;
+ }
+ table#idx th, table#idx td {
+ text-align: center;
+ }
+ table#idx th {
+ font-size: 80%;
+ white-space: pre-wrap;
+ vertical-align: top;
+ padding: 2px;
+ }
+ table#idx th:first-child {
+ vertical-align: bottom;
+ }
+ table#idx td {
+ font-size: 70%;
+ padding: 1px;
+ }
+ table#idx td:first-child {
+ padding-left: 1em;
+ text-align: left;
+ }
+ table#idx tr:nth-child(2n-1) td {
+ background-color: rgba(210, 210, 210, 0.2);
+ }
+ table#idx th:not(:first-child):hover,
+ table#idx td:not(:first-child):hover {
+ position: relative;
+ }
+ table#idx th:not(:first-child):hover::after,
+ table#idx td:not(:first-child):hover::after {
+ content: '';
+ height: 6000px;
+ top: -3000px;
+ width: 100%;
+ left: 0;
+ position: absolute;
+ z-index: -1;
+ background-color: #ffb;
+ }
+ table#idx tr:hover td {
+ background-color: #ffb;
+ }
+ </style>
+"""
+ 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')