From: Didier 'Ptitjes Date: Sat, 31 Oct 2009 02:43:03 +0000 (+0100) Subject: Parser: Fix simple links X-Git-Tag: 0.37.1~3^2~501 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=804fefb1e66f237c8145da61dd537989a7948e8b;p=thirdparty%2Fvala.git Parser: Fix simple links --- diff --git a/src/doclets/valadoc.org/wikirenderer.vala b/src/doclets/valadoc.org/wikirenderer.vala index 11b60665d..89cf54408 100755 --- a/src/doclets/valadoc.org/wikirenderer.vala +++ b/src/doclets/valadoc.org/wikirenderer.vala @@ -126,10 +126,12 @@ public class Valadoc.ValadocOrg.WikiRenderer : ContentRenderer { } public override void visit_link (Link element) { - var label = element.label; - _stream.printf ("[[%s|%s]]", - element.url, - (label == null || label == "") ? element.url : label); + _stream.printf ("[[%s", element.url); + if (element.content.size > 0) { + _stream.printf ("|"); + element.accept_children (this); + } + _stream.printf ("]]"); } public override void visit_symbol_link (SymbolLink element) { diff --git a/src/libvaladoc/content/link.vala b/src/libvaladoc/content/link.vala index e567d53ed..fa8da9a02 100755 --- a/src/libvaladoc/content/link.vala +++ b/src/libvaladoc/content/link.vala @@ -23,9 +23,8 @@ using Gee; -public class Valadoc.Content.Link : ContentElement, Inline { +public class Valadoc.Content.Link : InlineContent, Inline { public string url { get; set; } - public string label { get; set; } internal Link () { base (); @@ -41,4 +40,3 @@ public class Valadoc.Content.Link : ContentElement, Inline { visitor.visit_link (this); } } - diff --git a/src/libvaladoc/documentation/documentationparser.vala b/src/libvaladoc/documentation/documentationparser.vala index c5edb741e..e615b5d39 100644 --- a/src/libvaladoc/documentation/documentationparser.vala +++ b/src/libvaladoc/documentation/documentationparser.vala @@ -318,7 +318,7 @@ public class Valadoc.DocumentationParser : Object, ResourceLocator { Rule link = Rule.seq ({ TokenType.DOUBLE_OPEN_BRACKET.action (() => { _scanner.set_url_escape_mode (true); }), - TokenType.any_word (), + TokenType.any_word ().action ((token) => { ((Link) peek ()).url = token.to_string (); }), Rule.option ({ TokenType.PIPE.action (() => { _scanner.set_url_escape_mode (false); }), run diff --git a/src/libvaladoc/html/htmlmarkupwriter.vala b/src/libvaladoc/html/htmlmarkupwriter.vala index d5c56c4d9..2351ea751 100755 --- a/src/libvaladoc/html/htmlmarkupwriter.vala +++ b/src/libvaladoc/html/htmlmarkupwriter.vala @@ -86,7 +86,7 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter { || name == "h3" || name == "h4" || name == "h5" - || name == "li" + || name == "li" || name == "span" || name == "code" || name == "b" diff --git a/src/libvaladoc/html/htmlrenderer.vala b/src/libvaladoc/html/htmlrenderer.vala index 6ff7d49cb..25eb1ee44 100755 --- a/src/libvaladoc/html/htmlrenderer.vala +++ b/src/libvaladoc/html/htmlrenderer.vala @@ -210,8 +210,13 @@ public class Valadoc.Html.HtmlRenderer : ContentRenderer { } public override void visit_link (Link element) { - var label = element.label; - writer.link (element.url, (label == null || label == "") ? element.url : label); + writer.start_tag ("a", {"href", element.url}); + if (element.content.size > 0) { + element.accept_children (this); + } else { + writer.text (element.url); + } + writer.end_tag ("a"); } public override void visit_symbol_link (SymbolLink element) {