summaryrefslogtreecommitdiff
path: root/creole/emitter/html2markdown_emitter.py
diff options
context:
space:
mode:
Diffstat (limited to 'creole/emitter/html2markdown_emitter.py')
-rw-r--r--creole/emitter/html2markdown_emitter.py26
1 files changed, 20 insertions, 6 deletions
diff --git a/creole/emitter/html2markdown_emitter.py b/creole/emitter/html2markdown_emitter.py
index 540d53a..83f4ede 100644
--- a/creole/emitter/html2markdown_emitter.py
+++ b/creole/emitter/html2markdown_emitter.py
@@ -10,12 +10,10 @@
"""
-import posixpath
-
from creole.parser.html_parser import HtmlParser
-from creole.parser.html_parser_config import BLOCK_TAGS
from creole.shared.base_emitter import BaseEmitter
from creole.shared.document_tree import DocNode
+from creole.shared.markup_table import MarkupTable
class MarkdownEmitter(BaseEmitter):
@@ -28,14 +26,30 @@ class MarkdownEmitter(BaseEmitter):
self.strict = strict
super().__init__(document_tree, *args, **kwargs)
- self.table_head_prefix = '= '
- self.table_auto_width = True
-
def emit(self):
"""Emit the document represented by self.root DOM tree."""
return self.emit_node(self.root).strip() # FIXME
# --------------------------------------------------------------------------
+ def table_emit(self, node):
+ self._table = MarkupTable(head_prefix='', debug_msg=self.debug_msg)
+ self.emit_children(node)
+ content = self._table.get_markdown_table()
+ return f'{content}\n\n'
+
+ def tr_emit(self, node):
+ self._table.add_tr()
+ self.emit_children(node)
+ return ''
+
+ def th_emit(self, node):
+ self._table.add_th(self.emit_children(node))
+ return ''
+
+ def td_emit(self, node):
+ self._table.add_td(self.emit_children(node))
+ return ''
+ # --------------------------------------------------------------------------
def blockdata_pre_emit(self, node: DocNode):
"""pre block -> with newline at the end"""