]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Parser: Fix simple links
authorDidier 'Ptitjes <ptitjes at free dot fr>
Sat, 31 Oct 2009 02:43:03 +0000 (03:43 +0100)
committerFlorian Brosch <flo.brosch@gmail.com>
Sat, 31 Oct 2009 02:57:46 +0000 (03:57 +0100)
src/doclets/valadoc.org/wikirenderer.vala
src/libvaladoc/content/link.vala
src/libvaladoc/documentation/documentationparser.vala
src/libvaladoc/html/htmlmarkupwriter.vala
src/libvaladoc/html/htmlrenderer.vala

index 11b60665dd32273a017a9a0daa97ec2f0e23d9e8..89cf54408fb3107974744db8a87c05d0506b0d96 100755 (executable)
@@ -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) {
index e567d53ed237bfc9e8dbb4bf422fa8b5abd63900..fa8da9a024bbedfcbfd20dc16c2492a2b37980d7 100755 (executable)
@@ -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);
        }
 }
-
index c5edb741e8e91961ada28a89d40e0f796178743d..e615b5d39581886ba749f9e3e665e6e6c011ad9c 100644 (file)
@@ -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
index d5c56c4d9f41a59d1c945e6225850c525b4eb566..2351ea751b781660280edbdbd6ff0829e652c12e 100755 (executable)
@@ -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"
index 6ff7d49cb020748dd626ff87f7af315694ef5afb..25eb1ee44f8f0bc73011f1477871bea4ef316e6e 100755 (executable)
@@ -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) {