diff --git a/app/src/main/java/ru/noties/markwon/MarkdownRenderer.java b/app/src/main/java/ru/noties/markwon/MarkdownRenderer.java
index 2da031f0..007b754f 100644
--- a/app/src/main/java/ru/noties/markwon/MarkdownRenderer.java
+++ b/app/src/main/java/ru/noties/markwon/MarkdownRenderer.java
@@ -18,7 +18,7 @@ import ru.noties.markwon.ext.strikethrough.StrikethroughPlugin;
import ru.noties.markwon.ext.tables.TablePlugin;
import ru.noties.markwon.ext.tasklist.TaskListPlugin;
import ru.noties.markwon.gif.GifAwarePlugin;
-import ru.noties.markwon.html.impl.HtmlPlugin;
+import ru.noties.markwon.html.HtmlPlugin;
import ru.noties.markwon.image.ImagesPlugin;
import ru.noties.markwon.image.gif.GifPlugin;
import ru.noties.markwon.image.svg.SvgPlugin;
diff --git a/markwon-html/src/main/AndroidManifest.xml b/markwon-html/src/main/AndroidManifest.xml
index 14bee867..6d886e0e 100644
--- a/markwon-html/src/main/AndroidManifest.xml
+++ b/markwon-html/src/main/AndroidManifest.xml
@@ -1 +1 @@
-
+
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/AppendableUtils.java b/markwon-html/src/main/java/ru/noties/markwon/html/AppendableUtils.java
similarity index 95%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/AppendableUtils.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/AppendableUtils.java
index 39b6bf73..5e890174 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/AppendableUtils.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/AppendableUtils.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl;
+package ru.noties.markwon.html;
import android.support.annotation.NonNull;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/CssInlineStyleParser.java b/markwon-html/src/main/java/ru/noties/markwon/html/CssInlineStyleParser.java
similarity index 99%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/CssInlineStyleParser.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/CssInlineStyleParser.java
index a42fab05..c9d7c1fc 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/CssInlineStyleParser.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/CssInlineStyleParser.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl;
+package ru.noties.markwon.html;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/CssProperty.java b/markwon-html/src/main/java/ru/noties/markwon/html/CssProperty.java
similarity index 95%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/CssProperty.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/CssProperty.java
index 405d7c61..70bc6d88 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/CssProperty.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/CssProperty.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl;
+package ru.noties.markwon.html;
import android.support.annotation.NonNull;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/HtmlEmptyTagReplacement.java b/markwon-html/src/main/java/ru/noties/markwon/html/HtmlEmptyTagReplacement.java
similarity index 95%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/HtmlEmptyTagReplacement.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/HtmlEmptyTagReplacement.java
index 6604242b..c191b59d 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/HtmlEmptyTagReplacement.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/HtmlEmptyTagReplacement.java
@@ -1,10 +1,8 @@
-package ru.noties.markwon.html.impl;
+package ru.noties.markwon.html;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
-import ru.noties.markwon.html.HtmlTag;
-
/**
* This class will be used to append some text to output in order to
* apply a Span for this tag. Please note that this class will be used for
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/HtmlPlugin.java b/markwon-html/src/main/java/ru/noties/markwon/html/HtmlPlugin.java
similarity index 78%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/HtmlPlugin.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/HtmlPlugin.java
index 6e8935df..3852c772 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/HtmlPlugin.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/HtmlPlugin.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl;
+package ru.noties.markwon.html;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -8,10 +8,7 @@ import org.commonmark.node.HtmlBlock;
import org.commonmark.node.HtmlInline;
import ru.noties.markwon.AbstractMarkwonPlugin;
-import ru.noties.markwon.MarkwonConfiguration;
import ru.noties.markwon.MarkwonVisitor;
-import ru.noties.markwon.html.MarkwonHtmlParser;
-import ru.noties.markwon.html.MarkwonHtmlRenderer;
public class HtmlPlugin extends AbstractMarkwonPlugin {
@@ -43,13 +40,6 @@ public class HtmlPlugin extends AbstractMarkwonPlugin {
this.parser = parser;
}
- @Override
- public void configureConfiguration(@NonNull MarkwonConfiguration.Builder builder) {
- builder
- .htmlParser(parser)
- .htmlRenderer(renderer);
- }
-
@Override
public void configureVisitor(@NonNull MarkwonVisitor.Builder builder) {
builder
@@ -59,8 +49,7 @@ public class HtmlPlugin extends AbstractMarkwonPlugin {
visitor.visitChildren(document);
- final MarkwonConfiguration configuration = visitor.configuration();
- configuration.htmlRenderer().render(configuration, visitor.builder(), configuration.htmlParser());
+ renderer.render(visitor.configuration(), visitor.builder(), parser);
}
})
.on(HtmlBlock.class, new MarkwonVisitor.NodeVisitor() {
@@ -79,7 +68,7 @@ public class HtmlPlugin extends AbstractMarkwonPlugin {
private void visitHtml(@NonNull MarkwonVisitor visitor, @Nullable String html) {
if (html != null) {
- visitor.configuration().htmlParser().processFragment(visitor.builder(), html);
+ parser.processFragment(visitor.builder(), html);
}
}
}
diff --git a/markwon/src/main/java/ru/noties/markwon/html/HtmlTag.java b/markwon-html/src/main/java/ru/noties/markwon/html/HtmlTag.java
similarity index 100%
rename from markwon/src/main/java/ru/noties/markwon/html/HtmlTag.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/HtmlTag.java
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/HtmlTagImpl.java b/markwon-html/src/main/java/ru/noties/markwon/html/HtmlTagImpl.java
similarity index 98%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/HtmlTagImpl.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/HtmlTagImpl.java
index 8cedc767..7c07360a 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/HtmlTagImpl.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/HtmlTagImpl.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl;
+package ru.noties.markwon.html;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -7,8 +7,6 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
-import ru.noties.markwon.html.HtmlTag;
-
abstract class HtmlTagImpl implements HtmlTag {
final String name;
diff --git a/markwon/src/main/java/ru/noties/markwon/html/MarkwonHtmlParser.java b/markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlParser.java
similarity index 100%
rename from markwon/src/main/java/ru/noties/markwon/html/MarkwonHtmlParser.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlParser.java
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/MarkwonHtmlParserImpl.java b/markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlParserImpl.java
similarity index 96%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/MarkwonHtmlParserImpl.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlParserImpl.java
index 1bd639c6..6d715510 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/MarkwonHtmlParserImpl.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlParserImpl.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl;
+package ru.noties.markwon.html;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -14,18 +14,16 @@ import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import ru.noties.markwon.html.HtmlTag;
import ru.noties.markwon.html.HtmlTag.Block;
import ru.noties.markwon.html.HtmlTag.Inline;
-import ru.noties.markwon.html.MarkwonHtmlParser;
-import ru.noties.markwon.html.impl.jsoup.nodes.Attribute;
-import ru.noties.markwon.html.impl.jsoup.nodes.Attributes;
-import ru.noties.markwon.html.impl.jsoup.parser.CharacterReader;
-import ru.noties.markwon.html.impl.jsoup.parser.ParseErrorList;
-import ru.noties.markwon.html.impl.jsoup.parser.Token;
-import ru.noties.markwon.html.impl.jsoup.parser.Tokeniser;
+import ru.noties.markwon.html.jsoup.nodes.Attribute;
+import ru.noties.markwon.html.jsoup.nodes.Attributes;
+import ru.noties.markwon.html.jsoup.parser.CharacterReader;
+import ru.noties.markwon.html.jsoup.parser.ParseErrorList;
+import ru.noties.markwon.html.jsoup.parser.Token;
+import ru.noties.markwon.html.jsoup.parser.Tokeniser;
-import static ru.noties.markwon.html.impl.AppendableUtils.appendQuietly;
+import static ru.noties.markwon.html.AppendableUtils.appendQuietly;
/**
* @since 2.0.0
diff --git a/markwon/src/main/java/ru/noties/markwon/html/MarkwonHtmlParserNoOp.java b/markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlParserNoOp.java
similarity index 100%
rename from markwon/src/main/java/ru/noties/markwon/html/MarkwonHtmlParserNoOp.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlParserNoOp.java
diff --git a/markwon/src/main/java/ru/noties/markwon/html/MarkwonHtmlRenderer.java b/markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlRenderer.java
similarity index 100%
rename from markwon/src/main/java/ru/noties/markwon/html/MarkwonHtmlRenderer.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlRenderer.java
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/MarkwonHtmlRendererImpl.java b/markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlRendererImpl.java
similarity index 86%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/MarkwonHtmlRendererImpl.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlRendererImpl.java
index b6b2851d..399d58ca 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/MarkwonHtmlRendererImpl.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlRendererImpl.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl;
+package ru.noties.markwon.html;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -11,21 +11,17 @@ import java.util.Map;
import ru.noties.markwon.MarkwonConfiguration;
import ru.noties.markwon.SpannableBuilder;
-import ru.noties.markwon.html.HtmlTag;
-import ru.noties.markwon.html.MarkwonHtmlParser;
-import ru.noties.markwon.html.MarkwonHtmlRenderer;
-import ru.noties.markwon.html.TagHandler;
-import ru.noties.markwon.html.impl.tag.BlockquoteHandler;
-import ru.noties.markwon.html.impl.tag.EmphasisHandler;
-import ru.noties.markwon.html.impl.tag.HeadingHandler;
-import ru.noties.markwon.html.impl.tag.ImageHandler;
-import ru.noties.markwon.html.impl.tag.LinkHandler;
-import ru.noties.markwon.html.impl.tag.ListHandler;
-import ru.noties.markwon.html.impl.tag.StrikeHandler;
-import ru.noties.markwon.html.impl.tag.StrongEmphasisHandler;
-import ru.noties.markwon.html.impl.tag.SubScriptHandler;
-import ru.noties.markwon.html.impl.tag.SuperScriptHandler;
-import ru.noties.markwon.html.impl.tag.UnderlineHandler;
+import ru.noties.markwon.html.tag.BlockquoteHandler;
+import ru.noties.markwon.html.tag.EmphasisHandler;
+import ru.noties.markwon.html.tag.HeadingHandler;
+import ru.noties.markwon.html.tag.ImageHandler;
+import ru.noties.markwon.html.tag.LinkHandler;
+import ru.noties.markwon.html.tag.ListHandler;
+import ru.noties.markwon.html.tag.StrikeHandler;
+import ru.noties.markwon.html.tag.StrongEmphasisHandler;
+import ru.noties.markwon.html.tag.SubScriptHandler;
+import ru.noties.markwon.html.tag.SuperScriptHandler;
+import ru.noties.markwon.html.tag.UnderlineHandler;
public class MarkwonHtmlRendererImpl extends MarkwonHtmlRenderer {
@@ -130,7 +126,7 @@ public class MarkwonHtmlRendererImpl extends MarkwonHtmlRenderer {
handler = tagHandler(inline.name());
if (handler != null) {
- handler.handle(configuration, builder, inline);
+ handler.handle(configuration, MarkwonHtmlRendererImpl.this, builder, inline);
}
}
}
@@ -150,7 +146,7 @@ public class MarkwonHtmlRendererImpl extends MarkwonHtmlRenderer {
handler = tagHandler(block.name());
if (handler != null) {
- handler.handle(configuration, builder, block);
+ handler.handle(configuration, MarkwonHtmlRendererImpl.this, builder, block);
} else {
// see if any of children can be handled
apply(block.children());
diff --git a/markwon/src/main/java/ru/noties/markwon/html/MarkwonHtmlRendererNoOp.java b/markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlRendererNoOp.java
similarity index 100%
rename from markwon/src/main/java/ru/noties/markwon/html/MarkwonHtmlRendererNoOp.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/MarkwonHtmlRendererNoOp.java
diff --git a/markwon/src/main/java/ru/noties/markwon/html/TagHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/TagHandler.java
similarity index 73%
rename from markwon/src/main/java/ru/noties/markwon/html/TagHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/TagHandler.java
index 50af33d8..881e882f 100644
--- a/markwon/src/main/java/ru/noties/markwon/html/TagHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/TagHandler.java
@@ -9,12 +9,14 @@ public abstract class TagHandler {
public abstract void handle(
@NonNull MarkwonConfiguration configuration,
+ @NonNull MarkwonHtmlRenderer renderer,
@NonNull SpannableBuilder builder,
@NonNull HtmlTag tag
);
protected static void visitChildren(
@NonNull MarkwonConfiguration configuration,
+ @NonNull MarkwonHtmlRenderer renderer,
@NonNull SpannableBuilder builder,
@NonNull HtmlTag.Block block) {
@@ -26,11 +28,11 @@ public abstract class TagHandler {
continue;
}
- handler = configuration.htmlRenderer().tagHandler(child.name());
+ handler = renderer.tagHandler(child.name());
if (handler != null) {
- handler.handle(configuration, builder, child);
+ handler.handle(configuration, renderer, builder, child);
} else {
- visitChildren(configuration, builder, child);
+ visitChildren(configuration, renderer, builder, child);
}
}
}
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/TrimmingAppender.java b/markwon-html/src/main/java/ru/noties/markwon/html/TrimmingAppender.java
similarity index 94%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/TrimmingAppender.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/TrimmingAppender.java
index c29c93b9..4f884b00 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/TrimmingAppender.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/TrimmingAppender.java
@@ -1,8 +1,8 @@
-package ru.noties.markwon.html.impl;
+package ru.noties.markwon.html;
import android.support.annotation.NonNull;
-import static ru.noties.markwon.html.impl.AppendableUtils.appendQuietly;
+import static ru.noties.markwon.html.AppendableUtils.appendQuietly;
abstract class TrimmingAppender {
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/UncheckedIOException.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/UncheckedIOException.java
similarity index 85%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/UncheckedIOException.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/UncheckedIOException.java
index c59b725b..9548bdf4 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/UncheckedIOException.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/UncheckedIOException.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.jsoup;
+package ru.noties.markwon.html.jsoup;
import java.io.IOException;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/helper/Normalizer.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/helper/Normalizer.java
similarity index 89%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/helper/Normalizer.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/helper/Normalizer.java
index 024e5350..a0df7dd4 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/helper/Normalizer.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/helper/Normalizer.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.jsoup.helper;
+package ru.noties.markwon.html.jsoup.helper;
import java.util.Locale;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/helper/Validate.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/helper/Validate.java
similarity index 98%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/helper/Validate.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/helper/Validate.java
index e8effd8c..0d00249b 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/helper/Validate.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/helper/Validate.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.jsoup.helper;
+package ru.noties.markwon.html.jsoup.helper;
/**
* Simple validation methods. Designed for jsoup internal use
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/Attribute.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/Attribute.java
similarity index 98%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/Attribute.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/Attribute.java
index 3ece793d..934dc364 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/Attribute.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/Attribute.java
@@ -1,8 +1,8 @@
-package ru.noties.markwon.html.impl.jsoup.nodes;
+package ru.noties.markwon.html.jsoup.nodes;
import java.util.Map;
-import ru.noties.markwon.html.impl.jsoup.helper.Validate;
+import ru.noties.markwon.html.jsoup.helper.Validate;
/**
A single key + value attribute. (Only used for presentation.)
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/Attributes.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/Attributes.java
similarity index 98%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/Attributes.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/Attributes.java
index 71494812..ced993b0 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/Attributes.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/Attributes.java
@@ -1,14 +1,11 @@
-package ru.noties.markwon.html.impl.jsoup.nodes;
+package ru.noties.markwon.html.jsoup.nodes;
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.Iterator;
-import java.util.List;
-import ru.noties.markwon.html.impl.jsoup.helper.Validate;
+import ru.noties.markwon.html.jsoup.helper.Validate;
-import static ru.noties.markwon.html.impl.jsoup.helper.Normalizer.lowerCase;
+import static ru.noties.markwon.html.jsoup.helper.Normalizer.lowerCase;
/**
* The attributes of an Element.
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/CommonMarkEntities.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/CommonMarkEntities.java
similarity index 96%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/CommonMarkEntities.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/CommonMarkEntities.java
index abb49575..ec362312 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/CommonMarkEntities.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/CommonMarkEntities.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.jsoup.nodes;
+package ru.noties.markwon.html.jsoup.nodes;
import android.support.annotation.NonNull;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/DocumentType.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/DocumentType.java
similarity index 98%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/DocumentType.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/DocumentType.java
index 0b1240df..dc11e537 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/nodes/DocumentType.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/nodes/DocumentType.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.jsoup.nodes;
+package ru.noties.markwon.html.jsoup.nodes;
/**
* A {@code } node.
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/CharacterReader.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/CharacterReader.java
similarity index 98%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/CharacterReader.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/CharacterReader.java
index f7b7d892..1839cc2b 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/CharacterReader.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/CharacterReader.java
@@ -1,6 +1,4 @@
-package ru.noties.markwon.html.impl.jsoup.parser;
-
-import android.support.annotation.NonNull;
+package ru.noties.markwon.html.jsoup.parser;
import java.io.IOException;
import java.io.Reader;
@@ -8,8 +6,8 @@ import java.io.StringReader;
import java.util.Arrays;
import java.util.Locale;
-import ru.noties.markwon.html.impl.jsoup.UncheckedIOException;
-import ru.noties.markwon.html.impl.jsoup.helper.Validate;
+import ru.noties.markwon.html.jsoup.UncheckedIOException;
+import ru.noties.markwon.html.jsoup.helper.Validate;
/**
* CharacterReader consumes tokens off a string. Used internally by jsoup. API subject to changes.
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/ParseError.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/ParseError.java
similarity index 94%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/ParseError.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/ParseError.java
index f43c3007..533f9aee 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/ParseError.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/ParseError.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.jsoup.parser;
+package ru.noties.markwon.html.jsoup.parser;
/**
* A Parse Error records an error in the input HTML that occurs in either the tokenisation or the tree building phase.
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/ParseErrorList.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/ParseErrorList.java
similarity index 93%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/ParseErrorList.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/ParseErrorList.java
index 032b7571..a3e42a08 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/ParseErrorList.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/ParseErrorList.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.jsoup.parser;
+package ru.noties.markwon.html.jsoup.parser;
import java.util.ArrayList;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/Token.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/Token.java
similarity index 97%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/Token.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/Token.java
index a70da0e7..887cc61c 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/Token.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/Token.java
@@ -1,11 +1,11 @@
-package ru.noties.markwon.html.impl.jsoup.parser;
+package ru.noties.markwon.html.jsoup.parser;
import android.support.annotation.NonNull;
-import ru.noties.markwon.html.impl.jsoup.helper.Validate;
-import ru.noties.markwon.html.impl.jsoup.nodes.Attributes;
+import ru.noties.markwon.html.jsoup.helper.Validate;
+import ru.noties.markwon.html.jsoup.nodes.Attributes;
-import static ru.noties.markwon.html.impl.jsoup.helper.Normalizer.lowerCase;
+import static ru.noties.markwon.html.jsoup.helper.Normalizer.lowerCase;
/**
* Parse tokens for the Tokeniser.
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/Tokeniser.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/Tokeniser.java
similarity index 98%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/Tokeniser.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/Tokeniser.java
index 77df2b7c..3b871776 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/Tokeniser.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/Tokeniser.java
@@ -1,9 +1,9 @@
-package ru.noties.markwon.html.impl.jsoup.parser;
+package ru.noties.markwon.html.jsoup.parser;
import java.util.Arrays;
-import ru.noties.markwon.html.impl.jsoup.helper.Validate;
-import ru.noties.markwon.html.impl.jsoup.nodes.CommonMarkEntities;
+import ru.noties.markwon.html.jsoup.helper.Validate;
+import ru.noties.markwon.html.jsoup.nodes.CommonMarkEntities;
/**
* Readers the input stream into tokens.
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/TokeniserState.java b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/TokeniserState.java
similarity index 99%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/TokeniserState.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/TokeniserState.java
index 4c3e4405..01a98958 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/jsoup/parser/TokeniserState.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/jsoup/parser/TokeniserState.java
@@ -1,6 +1,6 @@
-package ru.noties.markwon.html.impl.jsoup.parser;
+package ru.noties.markwon.html.jsoup.parser;
-import ru.noties.markwon.html.impl.jsoup.nodes.DocumentType;
+import ru.noties.markwon.html.jsoup.nodes.DocumentType;
/**
* States and transition activations for the Tokeniser.
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/span/SubScriptSpan.java b/markwon-html/src/main/java/ru/noties/markwon/html/span/SubScriptSpan.java
similarity index 85%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/span/SubScriptSpan.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/span/SubScriptSpan.java
index 8eca8fdc..d106c1a0 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/span/SubScriptSpan.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/span/SubScriptSpan.java
@@ -1,10 +1,10 @@
-package ru.noties.markwon.html.impl.span;
+package ru.noties.markwon.html.span;
import android.support.annotation.NonNull;
import android.text.TextPaint;
import android.text.style.MetricAffectingSpan;
-import ru.noties.markwon.html.impl.MarkwonHtmlRendererImpl;
+import ru.noties.markwon.html.MarkwonHtmlRendererImpl;
public class SubScriptSpan extends MetricAffectingSpan {
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/span/SuperScriptSpan.java b/markwon-html/src/main/java/ru/noties/markwon/html/span/SuperScriptSpan.java
similarity index 85%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/span/SuperScriptSpan.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/span/SuperScriptSpan.java
index d33a2bea..9d43c563 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/span/SuperScriptSpan.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/span/SuperScriptSpan.java
@@ -1,10 +1,10 @@
-package ru.noties.markwon.html.impl.span;
+package ru.noties.markwon.html.span;
import android.support.annotation.NonNull;
import android.text.TextPaint;
import android.text.style.MetricAffectingSpan;
-import ru.noties.markwon.html.impl.MarkwonHtmlRendererImpl;
+import ru.noties.markwon.html.MarkwonHtmlRendererImpl;
public class SuperScriptSpan extends MetricAffectingSpan {
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/BlockquoteHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/BlockquoteHandler.java
similarity index 76%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/BlockquoteHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/BlockquoteHandler.java
index 2687ea94..4cd93fa0 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/BlockquoteHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/BlockquoteHandler.java
@@ -1,10 +1,11 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import ru.noties.markwon.MarkwonConfiguration;
import ru.noties.markwon.SpannableBuilder;
import ru.noties.markwon.html.HtmlTag;
+import ru.noties.markwon.html.MarkwonHtmlRenderer;
import ru.noties.markwon.html.TagHandler;
public class BlockquoteHandler extends TagHandler {
@@ -12,11 +13,12 @@ public class BlockquoteHandler extends TagHandler {
@Override
public void handle(
@NonNull MarkwonConfiguration configuration,
+ @NonNull MarkwonHtmlRenderer renderer,
@NonNull SpannableBuilder builder,
@NonNull HtmlTag tag) {
if (tag.isBlock()) {
- visitChildren(configuration, builder, tag.getAsBlock());
+ visitChildren(configuration, renderer, builder, tag.getAsBlock());
}
SpannableBuilder.setSpans(
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/EmphasisHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/EmphasisHandler.java
similarity index 91%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/EmphasisHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/EmphasisHandler.java
index 0385266a..b0809be6 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/EmphasisHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/EmphasisHandler.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/HeadingHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/HeadingHandler.java
similarity index 93%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/HeadingHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/HeadingHandler.java
index d675351e..79848625 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/HeadingHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/HeadingHandler.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/ImageHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/ImageHandler.java
similarity index 94%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/ImageHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/ImageHandler.java
index 0fc9b6f2..2faf4826 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/ImageHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/ImageHandler.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -8,7 +8,7 @@ import java.util.Map;
import ru.noties.markwon.MarkwonConfiguration;
import ru.noties.markwon.html.HtmlTag;
-import ru.noties.markwon.html.impl.CssInlineStyleParser;
+import ru.noties.markwon.html.CssInlineStyleParser;
import ru.noties.markwon.image.ImageSize;
public class ImageHandler extends SimpleTagHandler {
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/ImageSizeParserImpl.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/ImageSizeParserImpl.java
similarity index 95%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/ImageSizeParserImpl.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/ImageSizeParserImpl.java
index e8d32367..236f53be 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/ImageSizeParserImpl.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/ImageSizeParserImpl.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -7,8 +7,8 @@ import android.text.TextUtils;
import java.util.Map;
-import ru.noties.markwon.html.impl.CssInlineStyleParser;
-import ru.noties.markwon.html.impl.CssProperty;
+import ru.noties.markwon.html.CssInlineStyleParser;
+import ru.noties.markwon.html.CssProperty;
import ru.noties.markwon.image.ImageSize;
class ImageSizeParserImpl implements ImageHandler.ImageSizeParser {
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/LinkHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/LinkHandler.java
similarity index 94%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/LinkHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/LinkHandler.java
index 1faba510..8bf78ff0 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/LinkHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/LinkHandler.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/ListHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/ListHandler.java
similarity index 90%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/ListHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/ListHandler.java
index 80094b5c..3a4dfd7c 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/ListHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/ListHandler.java
@@ -1,10 +1,11 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import ru.noties.markwon.MarkwonConfiguration;
import ru.noties.markwon.SpannableBuilder;
import ru.noties.markwon.html.HtmlTag;
+import ru.noties.markwon.html.MarkwonHtmlRenderer;
import ru.noties.markwon.html.TagHandler;
public class ListHandler extends TagHandler {
@@ -12,6 +13,7 @@ public class ListHandler extends TagHandler {
@Override
public void handle(
@NonNull MarkwonConfiguration configuration,
+ @NonNull MarkwonHtmlRenderer renderer,
@NonNull SpannableBuilder builder,
@NonNull HtmlTag tag) {
@@ -34,7 +36,7 @@ public class ListHandler extends TagHandler {
for (HtmlTag.Block child : block.children()) {
- visitChildren(configuration, builder, child);
+ visitChildren(configuration, renderer, builder, child);
if ("li".equals(child.name())) {
// insert list item here
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/SimpleTagHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/SimpleTagHandler.java
similarity index 78%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/SimpleTagHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/SimpleTagHandler.java
index ad68ef30..784ef8c9 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/SimpleTagHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/SimpleTagHandler.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
@@ -6,6 +6,7 @@ import android.support.annotation.Nullable;
import ru.noties.markwon.MarkwonConfiguration;
import ru.noties.markwon.SpannableBuilder;
import ru.noties.markwon.html.HtmlTag;
+import ru.noties.markwon.html.MarkwonHtmlRenderer;
import ru.noties.markwon.html.TagHandler;
public abstract class SimpleTagHandler extends TagHandler {
@@ -14,7 +15,7 @@ public abstract class SimpleTagHandler extends TagHandler {
public abstract Object getSpans(@NonNull MarkwonConfiguration configuration, @NonNull HtmlTag tag);
@Override
- public void handle(@NonNull MarkwonConfiguration configuration, @NonNull SpannableBuilder builder, @NonNull HtmlTag tag) {
+ public void handle(@NonNull MarkwonConfiguration configuration, @NonNull MarkwonHtmlRenderer renderer, @NonNull SpannableBuilder builder, @NonNull HtmlTag tag) {
final Object spans = getSpans(configuration, tag);
if (spans != null) {
SpannableBuilder.setSpans(builder, spans, tag.start(), tag.end());
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/StrikeHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/StrikeHandler.java
similarity index 76%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/StrikeHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/StrikeHandler.java
index 54497822..6df59f28 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/StrikeHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/StrikeHandler.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.text.style.StrikethroughSpan;
@@ -6,6 +6,7 @@ import android.text.style.StrikethroughSpan;
import ru.noties.markwon.MarkwonConfiguration;
import ru.noties.markwon.SpannableBuilder;
import ru.noties.markwon.html.HtmlTag;
+import ru.noties.markwon.html.MarkwonHtmlRenderer;
import ru.noties.markwon.html.TagHandler;
public class StrikeHandler extends TagHandler {
@@ -13,11 +14,12 @@ public class StrikeHandler extends TagHandler {
@Override
public void handle(
@NonNull MarkwonConfiguration configuration,
+ @NonNull MarkwonHtmlRenderer renderer,
@NonNull SpannableBuilder builder,
@NonNull HtmlTag tag) {
if (tag.isBlock()) {
- visitChildren(configuration, builder, tag.getAsBlock());
+ visitChildren(configuration, renderer, builder, tag.getAsBlock());
}
SpannableBuilder.setSpans(
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/StrongEmphasisHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/StrongEmphasisHandler.java
similarity index 91%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/StrongEmphasisHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/StrongEmphasisHandler.java
index 6b5f8230..31f5aff8 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/StrongEmphasisHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/StrongEmphasisHandler.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/SubScriptHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/SubScriptHandler.java
similarity index 80%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/SubScriptHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/SubScriptHandler.java
index 9adf5684..2dee9f7a 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/SubScriptHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/SubScriptHandler.java
@@ -1,11 +1,11 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import ru.noties.markwon.MarkwonConfiguration;
import ru.noties.markwon.html.HtmlTag;
-import ru.noties.markwon.html.impl.span.SubScriptSpan;
+import ru.noties.markwon.html.span.SubScriptSpan;
public class SubScriptHandler extends SimpleTagHandler {
@Nullable
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/SuperScriptHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/SuperScriptHandler.java
similarity index 80%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/SuperScriptHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/SuperScriptHandler.java
index 42e00075..ccc5c17a 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/SuperScriptHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/SuperScriptHandler.java
@@ -1,11 +1,11 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import ru.noties.markwon.MarkwonConfiguration;
import ru.noties.markwon.html.HtmlTag;
-import ru.noties.markwon.html.impl.span.SuperScriptSpan;
+import ru.noties.markwon.html.span.SuperScriptSpan;
public class SuperScriptHandler extends SimpleTagHandler {
@Nullable
diff --git a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/UnderlineHandler.java b/markwon-html/src/main/java/ru/noties/markwon/html/tag/UnderlineHandler.java
similarity index 79%
rename from markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/UnderlineHandler.java
rename to markwon-html/src/main/java/ru/noties/markwon/html/tag/UnderlineHandler.java
index fb492dda..882cae1c 100644
--- a/markwon-html/src/main/java/ru/noties/markwon/html/impl/tag/UnderlineHandler.java
+++ b/markwon-html/src/main/java/ru/noties/markwon/html/tag/UnderlineHandler.java
@@ -1,4 +1,4 @@
-package ru.noties.markwon.html.impl.tag;
+package ru.noties.markwon.html.tag;
import android.support.annotation.NonNull;
import android.text.style.UnderlineSpan;
@@ -6,6 +6,7 @@ import android.text.style.UnderlineSpan;
import ru.noties.markwon.MarkwonConfiguration;
import ru.noties.markwon.SpannableBuilder;
import ru.noties.markwon.html.HtmlTag;
+import ru.noties.markwon.html.MarkwonHtmlRenderer;
import ru.noties.markwon.html.TagHandler;
public class UnderlineHandler extends TagHandler {
@@ -13,6 +14,7 @@ public class UnderlineHandler extends TagHandler {
@Override
public void handle(
@NonNull MarkwonConfiguration configuration,
+ @NonNull MarkwonHtmlRenderer renderer,
@NonNull SpannableBuilder builder,
@NonNull HtmlTag tag) {
@@ -20,7 +22,7 @@ public class UnderlineHandler extends TagHandler {
// thus doesn't allow children, we must visit them first
if (tag.isBlock()) {
- visitChildren(configuration, builder, tag.getAsBlock());
+ visitChildren(configuration, renderer, builder, tag.getAsBlock());
}
SpannableBuilder.setSpans(
diff --git a/markwon-html/src/test/java/ru/noties/markwon/html/impl/CssInlineStyleParserTest.java b/markwon-html/src/test/java/ru/noties/markwon/html/impl/CssInlineStyleParserTest.java
index 36c7d798..a898d342 100644
--- a/markwon-html/src/test/java/ru/noties/markwon/html/impl/CssInlineStyleParserTest.java
+++ b/markwon-html/src/test/java/ru/noties/markwon/html/impl/CssInlineStyleParserTest.java
@@ -14,6 +14,8 @@ import java.util.Map;
import ix.Ix;
import ix.IxFunction;
+import ru.noties.markwon.html.CssInlineStyleParser;
+import ru.noties.markwon.html.CssProperty;
import ru.noties.markwon.test.TestUtils;
import static org.junit.Assert.assertEquals;
diff --git a/markwon-html/src/test/java/ru/noties/markwon/html/impl/HtmlEmptyTagReplacementTest.java b/markwon-html/src/test/java/ru/noties/markwon/html/impl/HtmlEmptyTagReplacementTest.java
index eab3a9f1..62333012 100644
--- a/markwon-html/src/test/java/ru/noties/markwon/html/impl/HtmlEmptyTagReplacementTest.java
+++ b/markwon-html/src/test/java/ru/noties/markwon/html/impl/HtmlEmptyTagReplacementTest.java
@@ -5,8 +5,9 @@ import org.junit.Test;
import java.util.Collections;
+import ru.noties.markwon.html.HtmlEmptyTagReplacement;
import ru.noties.markwon.html.api.HtmlTag;
-import ru.noties.markwon.html.impl.HtmlTagImpl.InlineImpl;
+import ru.noties.markwon.html.HtmlTagImpl.InlineImpl;
import static org.junit.Assert.assertEquals;
diff --git a/markwon-html/src/test/java/ru/noties/markwon/html/impl/MarkwonHtmlParserImplTest.java b/markwon-html/src/test/java/ru/noties/markwon/html/impl/MarkwonHtmlParserImplTest.java
index ad0669b3..54adb09f 100644
--- a/markwon-html/src/test/java/ru/noties/markwon/html/impl/MarkwonHtmlParserImplTest.java
+++ b/markwon-html/src/test/java/ru/noties/markwon/html/impl/MarkwonHtmlParserImplTest.java
@@ -15,6 +15,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import ru.noties.markwon.html.HtmlEmptyTagReplacement;
+import ru.noties.markwon.html.MarkwonHtmlParserImpl;
import ru.noties.markwon.html.api.HtmlTag;
import ru.noties.markwon.html.api.MarkwonHtmlParser;
diff --git a/markwon-html/src/test/java/ru/noties/markwon/html/impl/TrimmingAppenderTest.java b/markwon-html/src/test/java/ru/noties/markwon/html/impl/TrimmingAppenderTest.java
index 87923c33..3d5cf4db 100644
--- a/markwon-html/src/test/java/ru/noties/markwon/html/impl/TrimmingAppenderTest.java
+++ b/markwon-html/src/test/java/ru/noties/markwon/html/impl/TrimmingAppenderTest.java
@@ -6,6 +6,8 @@ import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
+import ru.noties.markwon.html.TrimmingAppender;
+
import static org.junit.Assert.assertEquals;
@RunWith(RobolectricTestRunner.class)
diff --git a/markwon-html/src/test/java/ru/noties/markwon/html/impl/jsoup/nodes/CommonMarkEntitiesTest.java b/markwon-html/src/test/java/ru/noties/markwon/html/impl/jsoup/nodes/CommonMarkEntitiesTest.java
index ab013578..866b3352 100644
--- a/markwon-html/src/test/java/ru/noties/markwon/html/impl/jsoup/nodes/CommonMarkEntitiesTest.java
+++ b/markwon-html/src/test/java/ru/noties/markwon/html/impl/jsoup/nodes/CommonMarkEntitiesTest.java
@@ -5,6 +5,8 @@ import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
+import ru.noties.markwon.html.jsoup.nodes.CommonMarkEntities;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
diff --git a/markwon-html/src/test/java/ru/noties/markwon/html/impl/tag/ImageSizeParserImplTest.java b/markwon-html/src/test/java/ru/noties/markwon/html/impl/tag/ImageSizeParserImplTest.java
index 37a10c8d..c1549747 100644
--- a/markwon-html/src/test/java/ru/noties/markwon/html/impl/tag/ImageSizeParserImplTest.java
+++ b/markwon-html/src/test/java/ru/noties/markwon/html/impl/tag/ImageSizeParserImplTest.java
@@ -13,6 +13,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import ru.noties.markwon.html.tag.ImageSizeParserImpl;
import ru.noties.markwon.image.ImageSize;
import ru.noties.markwon.renderer.html2.CssInlineStyleParser;
diff --git a/markwon/src/main/java/ru/noties/markwon/MarkwonConfiguration.java b/markwon/src/main/java/ru/noties/markwon/MarkwonConfiguration.java
index df083e42..347e2e95 100644
--- a/markwon/src/main/java/ru/noties/markwon/MarkwonConfiguration.java
+++ b/markwon/src/main/java/ru/noties/markwon/MarkwonConfiguration.java
@@ -3,10 +3,7 @@ package ru.noties.markwon;
import android.content.Context;
import android.support.annotation.NonNull;
-import ru.noties.markwon.html.MarkwonHtmlParser;
-import ru.noties.markwon.html.MarkwonHtmlRenderer;
import ru.noties.markwon.image.AsyncDrawableLoader;
-import ru.noties.markwon.image.AsyncDrawableLoaderNoOp;
import ru.noties.markwon.image.ImageSizeResolver;
import ru.noties.markwon.image.ImageSizeResolverDef;
import ru.noties.markwon.spans.LinkSpan;
@@ -20,8 +17,9 @@ public class MarkwonConfiguration {
// creates default configuration
@NonNull
+ @Deprecated
public static MarkwonConfiguration create(@NonNull Context context) {
- return new Builder(context).build(MarkwonTheme.create(context), new AsyncDrawableLoaderNoOp());
+ return new Builder(context).build(MarkwonTheme.create(context), AsyncDrawableLoader.noOp());
}
@NonNull
@@ -37,8 +35,6 @@ public class MarkwonConfiguration {
private final UrlProcessor urlProcessor;
private final ImageSizeResolver imageSizeResolver;
private final SpannableFactory factory; // @since 1.1.0
- private final MarkwonHtmlParser htmlParser; // @since 2.0.0
- private final MarkwonHtmlRenderer htmlRenderer; // @since 2.0.0
private MarkwonConfiguration(@NonNull Builder builder) {
this.theme = builder.theme;
@@ -48,8 +44,6 @@ public class MarkwonConfiguration {
this.urlProcessor = builder.urlProcessor;
this.imageSizeResolver = builder.imageSizeResolver;
this.factory = builder.factory;
- this.htmlParser = builder.htmlParser;
- this.htmlRenderer = builder.htmlRenderer;
}
/**
@@ -95,22 +89,6 @@ public class MarkwonConfiguration {
return factory;
}
- /**
- * @since 2.0.0
- */
- @NonNull
- public MarkwonHtmlParser htmlParser() {
- return htmlParser;
- }
-
- /**
- * @since 2.0.0
- */
- @NonNull
- public MarkwonHtmlRenderer htmlRenderer() {
- return htmlRenderer;
- }
-
@SuppressWarnings("unused")
public static class Builder {
@@ -123,8 +101,6 @@ public class MarkwonConfiguration {
private UrlProcessor urlProcessor;
private ImageSizeResolver imageSizeResolver;
private SpannableFactory factory; // @since 1.1.0
- private MarkwonHtmlParser htmlParser; // @since 2.0.0
- private MarkwonHtmlRenderer htmlRenderer; // @since 2.0.0
Builder(@NonNull Context context) {
this.context = context;
@@ -139,8 +115,6 @@ public class MarkwonConfiguration {
this.urlProcessor = configuration.urlProcessor;
this.imageSizeResolver = configuration.imageSizeResolver;
this.factory = configuration.factory;
- this.htmlParser = configuration.htmlParser;
- this.htmlRenderer = configuration.htmlRenderer;
}
@NonNull
@@ -179,24 +153,6 @@ public class MarkwonConfiguration {
return this;
}
- /**
- * @since 2.0.0
- */
- @NonNull
- public Builder htmlParser(@NonNull MarkwonHtmlParser htmlParser) {
- this.htmlParser = htmlParser;
- return this;
- }
-
- /**
- * @since 2.0.0
- */
- @NonNull
- public Builder htmlRenderer(@NonNull MarkwonHtmlRenderer htmlRenderer) {
- this.htmlRenderer = htmlRenderer;
- return this;
- }
-
@NonNull
public MarkwonConfiguration build(@NonNull MarkwonTheme theme, @NonNull AsyncDrawableLoader asyncDrawableLoader) {
@@ -224,16 +180,6 @@ public class MarkwonConfiguration {
factory = SpannableFactoryDef.create();
}
- // @since 2.0.0
- if (htmlParser == null) {
- htmlParser = MarkwonHtmlParser.noOp();
- }
-
- // @since 2.0.0
- if (htmlRenderer == null) {
- htmlRenderer = MarkwonHtmlRenderer.noOp();
- }
-
return new MarkwonConfiguration(this);
}
}
diff --git a/markwon/src/main/java/ru/noties/markwon/image/AsyncDrawableLoader.java b/markwon/src/main/java/ru/noties/markwon/image/AsyncDrawableLoader.java
index 1e841f49..f036aa7b 100644
--- a/markwon/src/main/java/ru/noties/markwon/image/AsyncDrawableLoader.java
+++ b/markwon/src/main/java/ru/noties/markwon/image/AsyncDrawableLoader.java
@@ -12,6 +12,22 @@ import java.util.concurrent.Executors;
public abstract class AsyncDrawableLoader {
+ /**
+ * @since 3.0.0
+ */
+ @NonNull
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ /**
+ * @since 3.0.0
+ */
+ @NonNull
+ public static AsyncDrawableLoader noOp() {
+ return new AsyncDrawableLoaderNoOp();
+ }
+
public abstract void load(@NonNull String destination, @NonNull AsyncDrawable drawable);
diff --git a/markwon/src/main/java/ru/noties/markwon/image/AsyncDrawableLoaderNoOp.java b/markwon/src/main/java/ru/noties/markwon/image/AsyncDrawableLoaderNoOp.java
index 08e1283f..cef634a4 100644
--- a/markwon/src/main/java/ru/noties/markwon/image/AsyncDrawableLoaderNoOp.java
+++ b/markwon/src/main/java/ru/noties/markwon/image/AsyncDrawableLoaderNoOp.java
@@ -2,7 +2,7 @@ package ru.noties.markwon.image;
import android.support.annotation.NonNull;
-public class AsyncDrawableLoaderNoOp extends AsyncDrawableLoader {
+class AsyncDrawableLoaderNoOp extends AsyncDrawableLoader {
@Override
public void load(@NonNull String destination, @NonNull AsyncDrawable drawable) {