Merge "Update to commonmark 0.21.0 (was 0.10.0)"
diff --git a/WORKSPACE b/WORKSPACE
index d0e9e4e..11821e9 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -74,37 +74,37 @@
sha1 = "f7be08ec23c21485b9b5a1cf1654c2ec8c58168d",
)
-COMMONMARK_VERSION = "0.10.0"
+COMMONMARK_VERSION = "0.21.0"
# When upgrading commonmark it should also be updated in plugins/gitiles
maven_jar(
name = "commonmark",
- artifact = "com.atlassian.commonmark:commonmark:" + COMMONMARK_VERSION,
- sha1 = "119cb7bedc3570d9ecb64ec69ab7686b5c20559b",
+ artifact = "org.commonmark:commonmark:" + COMMONMARK_VERSION,
+ sha1 = "c98f0473b17c87fe4fa2fc62a7c6523a2fe018f0",
)
maven_jar(
name = "cm-autolink",
- artifact = "com.atlassian.commonmark:commonmark-ext-autolink:" + COMMONMARK_VERSION,
- sha1 = "a6056a5efbd68f57d420bc51bbc54b28a5d3c56b",
+ artifact = "org.commonmark:commonmark-ext-autolink:" + COMMONMARK_VERSION,
+ sha1 = "55c0312cf443fa3d5af0daeeeca00d6deee3cf90",
)
maven_jar(
name = "autolink",
- artifact = "org.nibor.autolink:autolink:0.7.0",
- sha1 = "649f9f13422cf50c926febe6035662ae25dc89b2",
+ artifact = "org.nibor.autolink:autolink:0.10.0",
+ sha1 = "6579ea7079be461e5ffa99f33222a632711cc671",
)
maven_jar(
name = "gfm-strikethrough",
- artifact = "com.atlassian.commonmark:commonmark-ext-gfm-strikethrough:" + COMMONMARK_VERSION,
- sha1 = "40837da951b421b545edddac57012e15fcc9e63c",
+ artifact = "org.commonmark:commonmark-ext-gfm-strikethrough:" + COMMONMARK_VERSION,
+ sha1 = "953f4b71e133a98fcca93f3c3f4e58b895b76d1f",
)
maven_jar(
name = "gfm-tables",
- artifact = "com.atlassian.commonmark:commonmark-ext-gfm-tables:" + COMMONMARK_VERSION,
- sha1 = "c075db2a3301100cf70c7dced8ecf86b494458a2",
+ artifact = "org.commonmark:commonmark-ext-gfm-tables:" + COMMONMARK_VERSION,
+ sha1 = "fb7d65fa89a4cfcd2f51535d2549b570cf1dbd1a",
)
maven_jar(
diff --git a/java/com/google/gitiles/doc/BlockNoteExtension.java b/java/com/google/gitiles/doc/BlockNoteExtension.java
index deda75a..fa3cf5f 100644
--- a/java/com/google/gitiles/doc/BlockNoteExtension.java
+++ b/java/com/google/gitiles/doc/BlockNoteExtension.java
@@ -73,7 +73,7 @@
}
if (state.getIndent() <= indent) {
int s = state.getNextNonSpaceIndex();
- CharSequence line = state.getLine();
+ CharSequence line = state.getLine().getContent();
if ("***".contentEquals(line.subSequence(s, line.length()))) {
done = true;
return BlockContinue.atIndex(line.length());
@@ -97,7 +97,7 @@
@Override
public BlockStart tryStart(ParserState state, MatchedBlockParser matched) {
int s = state.getNextNonSpaceIndex();
- CharSequence line = state.getLine();
+ CharSequence line = state.getLine().getContent();
CharSequence text = line.subSequence(s, line.length());
if (text.length() < 3 || !"***".contentEquals(text.subSequence(0, 3))) {
return BlockStart.none();
diff --git a/java/com/google/gitiles/doc/GitHubThematicBreakExtension.java b/java/com/google/gitiles/doc/GitHubThematicBreakExtension.java
index 3e32990..a8b8c7b 100644
--- a/java/com/google/gitiles/doc/GitHubThematicBreakExtension.java
+++ b/java/com/google/gitiles/doc/GitHubThematicBreakExtension.java
@@ -55,7 +55,7 @@
@Override
public BlockStart tryStart(ParserState state, MatchedBlockParser matched) {
if (state.getIndent() == 0) {
- CharSequence line = state.getLine();
+ CharSequence line = state.getLine().getContent();
int s = state.getNextNonSpaceIndex();
if ("--".contentEquals(line.subSequence(s, line.length()))) {
return BlockStart.of(new BreakParser()).atIndex(line.length());
diff --git a/java/com/google/gitiles/doc/MarkdownToHtml.java b/java/com/google/gitiles/doc/MarkdownToHtml.java
index ec9f058..a2d5752 100644
--- a/java/com/google/gitiles/doc/MarkdownToHtml.java
+++ b/java/com/google/gitiles/doc/MarkdownToHtml.java
@@ -49,6 +49,7 @@
import org.commonmark.node.Image;
import org.commonmark.node.IndentedCodeBlock;
import org.commonmark.node.Link;
+import org.commonmark.node.LinkReferenceDefinition;
import org.commonmark.node.ListBlock;
import org.commonmark.node.ListItem;
import org.commonmark.node.Node;
@@ -391,6 +392,11 @@
html.close("a");
}
+ @Override
+ public void visit(LinkReferenceDefinition node) {
+ // Ignored in rendered output
+ }
+
@VisibleForTesting
String href(String target) {
if (target.startsWith("#")
diff --git a/java/com/google/gitiles/doc/MultiColumnExtension.java b/java/com/google/gitiles/doc/MultiColumnExtension.java
index 4f1ca53..125c9ce 100644
--- a/java/com/google/gitiles/doc/MultiColumnExtension.java
+++ b/java/com/google/gitiles/doc/MultiColumnExtension.java
@@ -86,7 +86,7 @@
}
if (state.getIndent() == 0) {
int s = state.getNextNonSpaceIndex();
- CharSequence line = state.getLine();
+ CharSequence line = state.getLine().getContent();
if (MARKER.contentEquals(line.subSequence(s, line.length()))) {
done = true;
return BlockContinue.atIndex(line.length());
@@ -157,7 +157,7 @@
}
int s = state.getNextNonSpaceIndex();
- CharSequence line = state.getLine();
+ CharSequence line = state.getLine().getContent();
CharSequence text = line.subSequence(s, line.length());
if (text.length() < MARKER.length()
|| !MARKER.contentEquals(text.subSequence(0, MARKER.length()))) {
diff --git a/java/com/google/gitiles/doc/NamedAnchorExtension.java b/java/com/google/gitiles/doc/NamedAnchorExtension.java
index e6a3071..cd02733 100644
--- a/java/com/google/gitiles/doc/NamedAnchorExtension.java
+++ b/java/com/google/gitiles/doc/NamedAnchorExtension.java
@@ -56,12 +56,9 @@
}
@Override
- public int getDelimiterUse(DelimiterRun opener, DelimiterRun closer) {
- return 1;
- }
-
- @Override
- public void process(Text opener, Text closer, int delimiterUse) {
+ public int process(DelimiterRun openingRun, DelimiterRun closingRun) {
+ Text opener = openingRun.getOpener();
+ Text closer = closingRun.getCloser();
Node content = opener.getNext();
if (content instanceof Text && content.getNext() == closer) {
Matcher m = ID.matcher(((Text) content).getLiteral());
@@ -72,13 +69,14 @@
anchor.setName(m.group(1));
opener.insertAfter(anchor);
MarkdownUtil.trimPreviousWhitespace(opener);
- return;
+ return 1;
}
}
// If its not exactly one well formed Text node; restore the delimiter text.
opener.insertAfter(new Text("{"));
closer.insertBefore(new Text("}"));
+ return 1;
}
}
}
diff --git a/java/com/google/gitiles/doc/SmartQuotedExtension.java b/java/com/google/gitiles/doc/SmartQuotedExtension.java
index 7df0c13..f1b8c02 100644
--- a/java/com/google/gitiles/doc/SmartQuotedExtension.java
+++ b/java/com/google/gitiles/doc/SmartQuotedExtension.java
@@ -77,13 +77,9 @@
}
@Override
- public int getDelimiterUse(DelimiterRun opener, DelimiterRun closer) {
+ public int process(DelimiterRun openingRun, DelimiterRun closingRun) {
+ quote(type, openingRun.getOpener(), closingRun.getCloser());
return 1;
}
-
- @Override
- public void process(Text opener, Text closer, int delimiterUse) {
- quote(type, opener, closer);
- }
}
}
diff --git a/java/com/google/gitiles/doc/TocExtension.java b/java/com/google/gitiles/doc/TocExtension.java
index 34db0cf..24eabe0 100644
--- a/java/com/google/gitiles/doc/TocExtension.java
+++ b/java/com/google/gitiles/doc/TocExtension.java
@@ -56,7 +56,7 @@
@Override
public BlockStart tryStart(ParserState state, MatchedBlockParser matched) {
if (state.getIndent() == 0) {
- CharSequence line = state.getLine();
+ CharSequence line = state.getLine().getContent();
int s = state.getNextNonSpaceIndex();
if ("[TOC]".contentEquals(line.subSequence(s, line.length()))) {
return BlockStart.of(new TocParser()).atIndex(line.length());