diff --git a/models/database.py b/models/database.py
index 4a3930200f58e2db1095de59f73e886472c563ef..737086e861193920dbb4e9c6c52482549df83f8c 100644
--- a/models/database.py
+++ b/models/database.py
@@ -618,8 +618,11 @@ class Todo(DatabaseModel):
             escape_tex(self.get_state_tex())
         )
 
-    def render_wikitext(self, current_protocol=None):
-        return "'''{}:''' {}: {} - {}".format(
+    def render_wikitext(self, current_protocol=None, use_dokuwiki=False):
+        bold = "'''"
+        if use_dokuwiki:
+            bold = "**"
+        return "{0}{1}:{0} {2}: {3} - {4}".format(bold,
             "Neuer Todo" if self.is_new(current_protocol) else "Todo",
             self.who,
             self.description,
diff --git a/protoparser.py b/protoparser.py
index b72ce51cdf8aa31d4a4eff038362a061c40aaa5d..cac3b434d0839225791a635d45b6ad6f93584c86 100644
--- a/protoparser.py
+++ b/protoparser.py
@@ -34,6 +34,7 @@ class RenderType(Enum):
     wikitext = 1
     plaintext = 2
     html = 3
+    dokuwiki = 4
 
 def _not_implemented(self, render_type):
     return NotImplementedError("The rendertype {} has not been implemented for {}.".format(render_type.name, self.__class__.__name__))
@@ -179,6 +180,8 @@ class Text:
             return self.text
         elif render_type == RenderType.html:
             return self.text
+        elif render_type == RenderType.dokuwiki:
+            return self.text
         else:
             raise _not_implemented(self, render_type)
 
@@ -270,6 +273,20 @@ class Tag:
                 return '<sup id="#fnref{0}"><a href="#fn{0}">Fn</a></sup>'.format(
                     footnote_hash(self.values[0]))
             return "[{}: {}]".format(self.name, ";".join(self.values))
+        elif render_type == RenderType.dokuwiki:
+            if self.name == "url":
+                return self.values[0]
+            elif self.name == "todo":
+                if not show_private:
+                    return ""
+                return self.todo.render_wikitext(current_protocol=protocol,
+                    use_dokuwiki=True)
+            elif self.name == "beschluss":
+                return "**{}:** {}".format(self.name.capitalize(), ";".join(self.values))
+            elif self.name == "footnote":
+                return "(({}))".format(self.values[0])
+            else:
+                return "**{}:** {}".format(self.name.capitalize(), ";".join(self.values))
         else:
             raise _not_implemented(self, render_type)
 
@@ -332,6 +349,8 @@ class Remark(Element):
             return "{}: {}".format(RenderType.plaintex)
         elif render_type == RenderType.html:
             return "<p>{}: {}</p>".format(self.name, self.value)
+        elif render_type == RenderType.dokuwiki:
+            return r"{}: {}\\".format(self.name, self.value)
         else:
             raise _not_implemented(self, render_type)
             
@@ -413,7 +432,7 @@ class Fork(Element):
                     return r"\textit{[An dieser Stelle wurde intern protokolliert.]}"
             else:
                 return "\n".join([escape_tex(name_line), begin_line, content_lines, end_line])
-        elif render_type == RenderType.wikitext:
+        elif render_type == RenderType.wikitext or render_type == RenderType.dokuwiki:
             title_line = "{0} {1} {0}".format("=" * (level + 2), name_line)
             content_parts = []
             for child in self.children: