From dc9a4dbf5638d44595f720c4bef6f6280b9bede7 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Mon, 26 Nov 2018 17:21:24 +0300 Subject: [PATCH] Removed html from core artifact --- .../ru/noties/markwon/MarkdownRenderer.java | 2 +- markwon-html/src/main/AndroidManifest.xml | 2 +- .../html/{impl => }/AppendableUtils.java | 2 +- .../html/{impl => }/CssInlineStyleParser.java | 2 +- .../markwon/html/{impl => }/CssProperty.java | 2 +- .../{impl => }/HtmlEmptyTagReplacement.java | 4 +- .../markwon/html/{impl => }/HtmlPlugin.java | 17 +----- .../java/ru/noties/markwon/html/HtmlTag.java | 0 .../markwon/html/{impl => }/HtmlTagImpl.java | 4 +- .../markwon/html/MarkwonHtmlParser.java | 0 .../{impl => }/MarkwonHtmlParserImpl.java | 18 +++--- .../markwon/html/MarkwonHtmlParserNoOp.java | 0 .../markwon/html/MarkwonHtmlRenderer.java | 0 .../{impl => }/MarkwonHtmlRendererImpl.java | 32 +++++----- .../markwon/html/MarkwonHtmlRendererNoOp.java | 0 .../ru/noties/markwon/html/TagHandler.java | 8 ++- .../html/{impl => }/TrimmingAppender.java | 4 +- .../jsoup/UncheckedIOException.java | 2 +- .../{impl => }/jsoup/helper/Normalizer.java | 2 +- .../{impl => }/jsoup/helper/Validate.java | 2 +- .../{impl => }/jsoup/nodes/Attribute.java | 4 +- .../{impl => }/jsoup/nodes/Attributes.java | 9 +-- .../jsoup/nodes/CommonMarkEntities.java | 2 +- .../{impl => }/jsoup/nodes/DocumentType.java | 2 +- .../jsoup/parser/CharacterReader.java | 8 +-- .../{impl => }/jsoup/parser/ParseError.java | 2 +- .../jsoup/parser/ParseErrorList.java | 2 +- .../html/{impl => }/jsoup/parser/Token.java | 8 +-- .../{impl => }/jsoup/parser/Tokeniser.java | 6 +- .../jsoup/parser/TokeniserState.java | 4 +- .../html/{impl => }/span/SubScriptSpan.java | 4 +- .../html/{impl => }/span/SuperScriptSpan.java | 4 +- .../{impl => }/tag/BlockquoteHandler.java | 6 +- .../html/{impl => }/tag/EmphasisHandler.java | 2 +- .../html/{impl => }/tag/HeadingHandler.java | 2 +- .../html/{impl => }/tag/ImageHandler.java | 4 +- .../{impl => }/tag/ImageSizeParserImpl.java | 6 +- .../html/{impl => }/tag/LinkHandler.java | 2 +- .../html/{impl => }/tag/ListHandler.java | 6 +- .../html/{impl => }/tag/SimpleTagHandler.java | 5 +- .../html/{impl => }/tag/StrikeHandler.java | 6 +- .../{impl => }/tag/StrongEmphasisHandler.java | 2 +- .../html/{impl => }/tag/SubScriptHandler.java | 4 +- .../{impl => }/tag/SuperScriptHandler.java | 4 +- .../html/{impl => }/tag/UnderlineHandler.java | 6 +- .../html/impl/CssInlineStyleParserTest.java | 2 + .../impl/HtmlEmptyTagReplacementTest.java | 3 +- .../html/impl/MarkwonHtmlParserImplTest.java | 2 + .../html/impl/TrimmingAppenderTest.java | 2 + .../jsoup/nodes/CommonMarkEntitiesTest.java | 2 + .../impl/tag/ImageSizeParserImplTest.java | 1 + .../noties/markwon/MarkwonConfiguration.java | 58 +------------------ .../markwon/image/AsyncDrawableLoader.java | 16 +++++ .../image/AsyncDrawableLoaderNoOp.java | 2 +- 54 files changed, 129 insertions(+), 172 deletions(-) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/AppendableUtils.java (95%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/CssInlineStyleParser.java (99%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/CssProperty.java (95%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/HtmlEmptyTagReplacement.java (95%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/HtmlPlugin.java (78%) rename {markwon => markwon-html}/src/main/java/ru/noties/markwon/html/HtmlTag.java (100%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/HtmlTagImpl.java (98%) rename {markwon => markwon-html}/src/main/java/ru/noties/markwon/html/MarkwonHtmlParser.java (100%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/MarkwonHtmlParserImpl.java (96%) rename {markwon => markwon-html}/src/main/java/ru/noties/markwon/html/MarkwonHtmlParserNoOp.java (100%) rename {markwon => markwon-html}/src/main/java/ru/noties/markwon/html/MarkwonHtmlRenderer.java (100%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/MarkwonHtmlRendererImpl.java (86%) rename {markwon => markwon-html}/src/main/java/ru/noties/markwon/html/MarkwonHtmlRendererNoOp.java (100%) rename {markwon => markwon-html}/src/main/java/ru/noties/markwon/html/TagHandler.java (73%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/TrimmingAppender.java (94%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/UncheckedIOException.java (85%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/helper/Normalizer.java (89%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/helper/Validate.java (98%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/nodes/Attribute.java (98%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/nodes/Attributes.java (98%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/nodes/CommonMarkEntities.java (96%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/nodes/DocumentType.java (98%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/parser/CharacterReader.java (98%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/parser/ParseError.java (94%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/parser/ParseErrorList.java (93%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/parser/Token.java (97%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/parser/Tokeniser.java (98%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/jsoup/parser/TokeniserState.java (99%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/span/SubScriptSpan.java (85%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/span/SuperScriptSpan.java (85%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/BlockquoteHandler.java (76%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/EmphasisHandler.java (91%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/HeadingHandler.java (93%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/ImageHandler.java (94%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/ImageSizeParserImpl.java (95%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/LinkHandler.java (94%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/ListHandler.java (90%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/SimpleTagHandler.java (78%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/StrikeHandler.java (76%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/StrongEmphasisHandler.java (91%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/SubScriptHandler.java (80%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/SuperScriptHandler.java (80%) rename markwon-html/src/main/java/ru/noties/markwon/html/{impl => }/tag/UnderlineHandler.java (79%) 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) {