diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2017-11-27 14:01:02 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-11-27 20:28:37 -0500 |
commit | e4dc2cd51902a8cd83476f861cf52996e5adf157 (patch) | |
tree | 48caa6602cd630b76c440fd57627e68e19bfd295 /docs/users_guide/utils.py | |
parent | eb86e867694bceedfb47a527d71429197ffe6dda (diff) | |
download | haskell-e4dc2cd51902a8cd83476f861cf52996e5adf157.tar.gz |
relnotes: Rework treatment of included package list
Previously the included package lists took a disproportionate amount of
space in the resulting document and were difficult to maintain. Turn it
into a table.
Subscribers: rwbarton, thomie
Differential Revision: https://phabricator.haskell.org/D4230
Diffstat (limited to 'docs/users_guide/utils.py')
-rw-r--r-- | docs/users_guide/utils.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/users_guide/utils.py b/docs/users_guide/utils.py new file mode 100644 index 0000000000..128ae51ba5 --- /dev/null +++ b/docs/users_guide/utils.py @@ -0,0 +1,26 @@ +from docutils import nodes + +# Taken from Docutils source inside the ListTable class. We must bypass +# using the class itself, but this function comes in handy. +def build_table_from_list(table_data, col_widths): + table = nodes.table() + tgroup = nodes.tgroup(cols=len(col_widths)) + table += tgroup + for col_width in col_widths: + colspec = nodes.colspec(colwidth=col_width) + tgroup += colspec + rows = [] + for row in table_data: + row_node = nodes.row() + for cell in row: + entry = nodes.entry() + entry += cell + row_node += entry + rows.append(row_node) + thead = nodes.thead() + thead.extend(rows[:1]) + tgroup += thead + tbody = nodes.tbody() + tbody.extend(rows[1:]) + tgroup += tbody + return table |