[valadoc] Parser: Fix simple links
- From: Florian Brosch <flobrosch src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [valadoc] Parser: Fix simple links
- Date: Sat, 31 Oct 2009 03:11:29 +0000 (UTC)
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]