[valadoc] Parser: Fix simple links



commit 804fefb1e66f237c8145da61dd537989a7948e8b
Author: Didier 'Ptitjes <ptitjes at free dot fr>
Date:   Sat Oct 31 03:43:03 2009 +0100

    Parser: Fix simple links

 src/doclets/valadoc.org/wikirenderer.vala          |   10 ++++++----
 src/libvaladoc/content/link.vala                   |    4 +---
 .../documentation/documentationparser.vala         |    2 +-
 src/libvaladoc/html/htmlmarkupwriter.vala          |    2 +-
 src/libvaladoc/html/htmlrenderer.vala              |    9 +++++++--
 5 files changed, 16 insertions(+), 11 deletions(-)
---
diff --git a/src/doclets/valadoc.org/wikirenderer.vala b/src/doclets/valadoc.org/wikirenderer.vala
index 11b6066..89cf544 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 e567d53..fa8da9a 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 c5edb74..e615b5d 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 d5c56c4..2351ea7 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 6ff7d49..25eb1ee 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) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]