aboutsummaryrefslogtreecommitdiff
path: root/mammoth/writers
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-02-07 18:55:24 +0000
committerMichael Williamson <mike@zwobble.org>2015-02-07 18:55:24 +0000
commit57eddaefd1961884cddbaf427459822ad8811aeb (patch)
tree1693604dfbd460f861227915b9734a4b9ebeb3eb /mammoth/writers
parente0b022e52d720758023bb0248ea0a17a4cbbb822 (diff)
Add scaffolding for markdown
Diffstat (limited to 'mammoth/writers')
-rw-r--r--mammoth/writers/__init__.py18
-rw-r--r--mammoth/writers/markdown.py25
2 files changed, 41 insertions, 2 deletions
diff --git a/mammoth/writers/__init__.py b/mammoth/writers/__init__.py
index 04a64d7..376b322 100644
--- a/mammoth/writers/__init__.py
+++ b/mammoth/writers/__init__.py
@@ -1,5 +1,19 @@
from .html import HtmlWriter
+from .markdown import MarkdownWriter
-def writer():
- return HtmlWriter()
+def writer(output_format=None):
+ if output_format is None:
+ output_format = "html"
+
+ return _writers[output_format]()
+
+
+def formats():
+ return _writers.keys()
+
+
+_writers = {
+ "html": HtmlWriter,
+ "markdown": MarkdownWriter,
+}
diff --git a/mammoth/writers/markdown.py b/mammoth/writers/markdown.py
new file mode 100644
index 0000000..c4e1158
--- /dev/null
+++ b/mammoth/writers/markdown.py
@@ -0,0 +1,25 @@
+from __future__ import unicode_literals
+
+
+class MarkdownWriter(object):
+ def __init__(self):
+ self._fragments = []
+
+ def text(self, text):
+ self._fragments.append(text)
+
+ def start(self, name, attributes=None):
+ pass
+
+ def end(self, name):
+ if name == "p":
+ self._fragments.append("\n\n")
+
+ def self_closing(self, name, attributes=None):
+ pass
+
+ def append(self, other):
+ self._fragments.append(other)
+
+ def as_string(self):
+ return "".join(self._fragments)