1.1 --- a/moinformat/tree/moin.py Tue Aug 14 22:33:30 2018 +0200
1.2 +++ b/moinformat/tree/moin.py Thu Aug 16 17:51:57 2018 +0200
1.3 @@ -370,6 +370,36 @@
1.4 self._to_string(out)
1.5 out.end_heading(self.level, self.end_pad, self.end_extra)
1.6
1.7 +class LinkLabel(Container):
1.8 +
1.9 + "A link or transclusion label."
1.10 +
1.11 + def __repr__(self):
1.12 + return "LinkLabel(%r)" % self.nodes
1.13 +
1.14 + def prettyprint(self, indent=""):
1.15 + l = ["%sLinkLabel" % indent]
1.16 + return self._prettyprint(l, indent)
1.17 +
1.18 + def to_string(self, out):
1.19 + out.link_label(self.nodes)
1.20 +
1.21 +class LinkParameter(Container):
1.22 +
1.23 + "A link or transclusion parameter."
1.24 +
1.25 + def __repr__(self):
1.26 + return "LinkParameter(%r)" % self.nodes
1.27 +
1.28 + def prettyprint(self, indent=""):
1.29 + l = ["%sLinkParameter" % indent]
1.30 + return self._prettyprint(l, indent)
1.31 +
1.32 + def to_string(self, out):
1.33 + s = self.text_content()
1.34 + t = s.split("=", 1)
1.35 + out.link_parameter(t)
1.36 +
1.37 class List(Container):
1.38
1.39 "A list."
1.40 @@ -531,12 +561,7 @@
1.41 return self._prettyprint(l, indent)
1.42
1.43 def to_string(self, out):
1.44 - out.start_link(self.target, self.nodes)
1.45 - if self.nodes:
1.46 - out.start_linktext()
1.47 - self._to_string(out)
1.48 - out.end_linktext()
1.49 - out.end_link()
1.50 + out.link(self.target, self.nodes)
1.51
1.52 class Macro(Container):
1.53
1.54 @@ -607,6 +632,24 @@
1.55 self._to_string(out)
1.56 out.end_superscript()
1.57
1.58 +class Transclusion(Container):
1.59 +
1.60 + "Transclusion details."
1.61 +
1.62 + def __init__(self, nodes, target):
1.63 + Container.__init__(self, nodes)
1.64 + self.target = target
1.65 +
1.66 + def __repr__(self):
1.67 + return "Transclusion(%r, %r)" % (self.nodes, self.target)
1.68 +
1.69 + def prettyprint(self, indent=""):
1.70 + l = ["%sTransclusion: target=%r" % (indent, self.target)]
1.71 + return self._prettyprint(l, indent)
1.72 +
1.73 + def to_string(self, out):
1.74 + out.transclusion(self.target, self.nodes)
1.75 +
1.76 class Underline(Inline):
1.77
1.78 "Underlined text."