1.1 --- a/moinformat/serialisers/html/moin.py Tue Jul 24 15:43:20 2018 +0200
1.2 +++ b/moinformat/serialisers/html/moin.py Tue Jul 24 18:45:13 2018 +0200
1.3 @@ -141,6 +141,29 @@
1.4 def end_listitem(self, indent, marker, space, num):
1.5 self.out("</li>")
1.6
1.7 + def start_macro(self, name, args):
1.8 +
1.9 + # Fallback case for when macros are not replaced.
1.10 +
1.11 + self.out("<span class='macro'>")
1.12 + self.out(escape_text("<<"))
1.13 + self.out("<span class='name'>%s</span>" % escape_text(name))
1.14 + if args:
1.15 + self.out("(")
1.16 + first = True
1.17 + for arg in args:
1.18 + if not first:
1.19 + self.out(",")
1.20 + self.out("<span class='arg'>%s</span>" % escape_text(arg))
1.21 + first = False
1.22 + if args:
1.23 + self.out(")")
1.24 + self.out(escape_text(">>"))
1.25 + self.out("</span>")
1.26 +
1.27 + def end_macro(self):
1.28 + pass
1.29 +
1.30 def start_monospace(self):
1.31 self.out("<tt>")
1.32
1.33 @@ -213,32 +236,6 @@
1.34 def break_(self):
1.35 pass
1.36
1.37 - def macro(self, name, args):
1.38 -
1.39 - # NOTE: Special case.
1.40 -
1.41 - if name == "BR":
1.42 - self.out("<br />")
1.43 - return
1.44 -
1.45 - # Fallback case.
1.46 -
1.47 - self.out("<span class='macro'>")
1.48 - self.out(escape_text("<<"))
1.49 - self.out("<span class='name'>%s</span>" % escape_text(name))
1.50 - if args:
1.51 - self.out("(")
1.52 - first = True
1.53 - for arg in args:
1.54 - if not first:
1.55 - self.out(",")
1.56 - self.out("<span class='arg'>%s</span>" % escape_text(arg))
1.57 - first = False
1.58 - if args:
1.59 - self.out(")")
1.60 - self.out(escape_text(">>"))
1.61 - self.out("</span>")
1.62 -
1.63 def rule(self, length):
1.64 self.out("<hr style='height: %dpt' />" % min(length, 10))
1.65