Allow for tables without header row

fixes #42
This commit is contained in:
AlexVonB
2021-05-16 19:02:00 +02:00
parent fc29483899
commit 7dac92e85e
2 changed files with 36 additions and 17 deletions

View File

@@ -279,14 +279,20 @@ class MarkdownConverter(object):
def convert_table(self, el, text, convert_as_inline):
rows = el.find_all('tr')
text_data = []
rendered_header = False
for row in rows:
headers = row.find_all('th')
columns = row.find_all('td')
if len(headers) > 0:
if not rendered_header and len(headers) > 0:
headers = [head.text.strip() for head in headers]
text_data.append('| ' + ' | '.join(headers) + ' |')
text_data.append('| ' + ' | '.join(['---'] * len(headers)) + ' |')
rendered_header = True
elif len(columns) > 0:
if not rendered_header:
text_data.append('| ' + ' | '.join([''] * len(columns)) + ' |')
text_data.append('| ' + ' | '.join(['---'] * len(columns)) + ' |')
rendered_header = True
columns = [colm.text.strip() for colm in columns]
text_data.append('| ' + ' | '.join(columns) + ' |')
else: