1.1 --- a/moinformat/parsers/moin.py Tue Jul 31 19:08:41 2018 +0200
1.2 +++ b/moinformat/parsers/moin.py Tue Jul 31 19:14:38 2018 +0200
1.3 @@ -487,7 +487,7 @@
1.4 def parse_link(self, region):
1.5 target = self.match_group("target")
1.6 text = self.match_group("text")
1.7 - link = Link(text and [Text(text)], target)
1.8 + link = Link(text and [Text(text)] or [], target)
1.9 region.append_inline(link)
1.10
1.11 def parse_macro(self, region):
2.1 --- a/moinformat/serialisers/html/moin.py Tue Jul 31 19:08:41 2018 +0200
2.2 +++ b/moinformat/serialisers/html/moin.py Tue Jul 31 19:14:38 2018 +0200
2.3 @@ -90,7 +90,7 @@
2.4 self.out("</em>")
2.5
2.6 def start_heading(self, level, extra, pad, text):
2.7 - self.out("<h%d id='%s'>" % (level, make_id(text)))
2.8 + self.out("<h%d id='%s'>" % (level, escape_attr(make_id(text))))
2.9
2.10 def end_heading(self, level, pad, extra):
2.11 self.out("</h%d>" % level)
2.12 @@ -101,10 +101,12 @@
2.13 def end_larger(self):
2.14 self.out("</big>")
2.15
2.16 - def start_link(self, target):
2.17 + def start_link(self, target, nodes):
2.18 if self.linker:
2.19 target = self.linker.translate(target)
2.20 self.out('<a href="%s">' % escape_attr(target))
2.21 + if not nodes:
2.22 + self.out(escape_text(target))
2.23
2.24 def end_link(self):
2.25 self.out("</a>")
3.1 --- a/moinformat/serialisers/moin/moin.py Tue Jul 31 19:08:41 2018 +0200
3.2 +++ b/moinformat/serialisers/moin/moin.py Tue Jul 31 19:14:38 2018 +0200
3.3 @@ -78,7 +78,7 @@
3.4 def end_larger(self):
3.5 self.out("+~")
3.6
3.7 - def start_link(self, target):
3.8 + def start_link(self, target, nodes):
3.9 self.out("[[%s" % target)
3.10
3.11 def end_link(self):
4.1 --- a/moinformat/tree/moin.py Tue Jul 31 19:08:41 2018 +0200
4.2 +++ b/moinformat/tree/moin.py Tue Jul 31 19:14:38 2018 +0200
4.3 @@ -489,7 +489,7 @@
4.4 return self._prettyprint(l, indent)
4.5
4.6 def to_string(self, out):
4.7 - out.start_link(self.target)
4.8 + out.start_link(self.target, self.nodes)
4.9 if self.nodes:
4.10 out.start_linktext()
4.11 self._to_string(out)