Moved html artifacts to corresponding packages
This commit is contained in:
parent
be484765da
commit
1bad514714
@ -18,6 +18,7 @@ dependencies {
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
generateDebugBuildConfig.enabled = false
|
||||
generateReleaseBuildConfig.enabled = false
|
||||
}
|
||||
|
||||
|
@ -1 +1 @@
|
||||
<manifest package="ru.noties.markwon.html" />
|
||||
<manifest package="ru.noties.markwon.html.api" />
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html;
|
||||
package ru.noties.markwon.html.api;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html;
|
||||
package ru.noties.markwon.html.api;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html;
|
||||
package ru.noties.markwon.html.api;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
@ -23,6 +23,7 @@ dependencies {
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
generateDebugBuildConfig.enabled = false
|
||||
generateReleaseBuildConfig.enabled = false
|
||||
}
|
||||
|
||||
|
@ -1 +1 @@
|
||||
<manifest package="ru.noties.markwon.html" />
|
||||
<manifest package="ru.noties.markwon.html.impl" />
|
||||
|
@ -1,9 +1,9 @@
|
||||
package ru.noties.markwon.html;
|
||||
package ru.noties.markwon.html.impl;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import ru.noties.markwon.html.jsoup.parser.Token;
|
||||
import ru.noties.markwon.html.impl.jsoup.parser.Token;
|
||||
|
||||
/**
|
||||
* This class will be used to append some text to output in order to
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html;
|
||||
package ru.noties.markwon.html.impl;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
@ -7,6 +7,8 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import ru.noties.markwon.html.api.HtmlTag;
|
||||
|
||||
abstract class HtmlTagImpl implements HtmlTag {
|
||||
|
||||
private static final int NO_VALUE = -1;
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html;
|
||||
package ru.noties.markwon.html.impl;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
@ -14,16 +14,15 @@ import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import ru.noties.markwon.html.HtmlTag.Block;
|
||||
import ru.noties.markwon.html.HtmlTag.Inline;
|
||||
import ru.noties.markwon.html.HtmlTagImpl.BlockImpl;
|
||||
import ru.noties.markwon.html.HtmlTagImpl.InlineImpl;
|
||||
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 ru.noties.markwon.html.api.HtmlTag.Block;
|
||||
import ru.noties.markwon.html.api.HtmlTag.Inline;
|
||||
import ru.noties.markwon.html.api.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;
|
||||
|
||||
public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
|
||||
@ -108,9 +107,9 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
|
||||
private final HtmlEmptyTagReplacement emptyTagReplacement;
|
||||
|
||||
private final List<InlineImpl> inlineTags = new ArrayList<>(0);
|
||||
private final List<HtmlTagImpl.InlineImpl> inlineTags = new ArrayList<>(0);
|
||||
|
||||
private BlockImpl currentBlock = BlockImpl.root();
|
||||
private HtmlTagImpl.BlockImpl currentBlock = HtmlTagImpl.BlockImpl.root();
|
||||
|
||||
MarkwonHtmlParserImpl(@NonNull HtmlEmptyTagReplacement replacement) {
|
||||
this.emptyTagReplacement = replacement;
|
||||
@ -174,7 +173,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
@Override
|
||||
public void flushInlineTags(int documentLength, @NonNull FlushAction<Inline> action) {
|
||||
if (inlineTags.size() > 0) {
|
||||
for (InlineImpl inline : inlineTags) {
|
||||
for (HtmlTagImpl.InlineImpl inline : inlineTags) {
|
||||
inline.closeAt(documentLength);
|
||||
}
|
||||
//noinspection unchecked
|
||||
@ -186,7 +185,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
@Override
|
||||
public void flushBlockTags(int documentLength, @NonNull FlushAction<Block> action) {
|
||||
|
||||
BlockImpl block = currentBlock;
|
||||
HtmlTagImpl.BlockImpl block = currentBlock;
|
||||
while (!block.isRoot()) {
|
||||
block = block.parent;
|
||||
}
|
||||
@ -198,13 +197,13 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
action.apply(children);
|
||||
}
|
||||
|
||||
currentBlock = BlockImpl.root();
|
||||
currentBlock = HtmlTagImpl.BlockImpl.root();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
inlineTags.clear();
|
||||
currentBlock = BlockImpl.root();
|
||||
currentBlock = HtmlTagImpl.BlockImpl.root();
|
||||
}
|
||||
|
||||
|
||||
@ -214,7 +213,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
|
||||
final String name = startTag.normalName;
|
||||
|
||||
final InlineImpl inline = new InlineImpl(name, output.length(), extractAttributes(startTag));
|
||||
final HtmlTagImpl.InlineImpl inline = new HtmlTagImpl.InlineImpl(name, output.length(), extractAttributes(startTag));
|
||||
|
||||
if (isVoidTag(name)
|
||||
|| startTag.selfClosing) {
|
||||
@ -239,7 +238,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
@NonNull Token.EndTag endTag) {
|
||||
|
||||
// try to find it, if none found -> ignore
|
||||
final InlineImpl openInline = findOpenInlineTag(endTag.normalName);
|
||||
final HtmlTagImpl.InlineImpl openInline = findOpenInlineTag(endTag.normalName);
|
||||
if (openInline != null) {
|
||||
// close open inline tag
|
||||
openInline.closeAt(output.length());
|
||||
@ -276,7 +275,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
|
||||
final int start = output.length();
|
||||
|
||||
final BlockImpl block = BlockImpl.create(name, start, extractAttributes(startTag), currentBlock);
|
||||
final HtmlTagImpl.BlockImpl block = HtmlTagImpl.BlockImpl.create(name, start, extractAttributes(startTag), currentBlock);
|
||||
|
||||
final boolean isVoid = isVoidTag(name) || startTag.selfClosing;
|
||||
if (isVoid) {
|
||||
@ -303,7 +302,7 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
|
||||
final String name = endTag.normalName;
|
||||
|
||||
final BlockImpl block = findOpenBlockTag(endTag.normalName);
|
||||
final HtmlTagImpl.BlockImpl block = findOpenBlockTag(endTag.normalName);
|
||||
if (block != null) {
|
||||
|
||||
block.closeAt(output.length());
|
||||
@ -334,8 +333,8 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
append(output, character.getData());
|
||||
}
|
||||
|
||||
protected void appendBlockChild(@NonNull BlockImpl parent, @NonNull BlockImpl child) {
|
||||
List<BlockImpl> children = parent.children;
|
||||
protected void appendBlockChild(@NonNull HtmlTagImpl.BlockImpl parent, @NonNull HtmlTagImpl.BlockImpl child) {
|
||||
List<HtmlTagImpl.BlockImpl> children = parent.children;
|
||||
if (children == null) {
|
||||
children = new ArrayList<>(2);
|
||||
parent.children = children;
|
||||
@ -344,9 +343,9 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected InlineImpl findOpenInlineTag(@NonNull String name) {
|
||||
protected HtmlTagImpl.InlineImpl findOpenInlineTag(@NonNull String name) {
|
||||
|
||||
InlineImpl inline;
|
||||
HtmlTagImpl.InlineImpl inline;
|
||||
|
||||
for (int i = inlineTags.size() - 1; i > -1; i--) {
|
||||
inline = inlineTags.get(i);
|
||||
@ -360,9 +359,9 @@ public class MarkwonHtmlParserImpl extends MarkwonHtmlParser {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected BlockImpl findOpenBlockTag(@NonNull String name) {
|
||||
protected HtmlTagImpl.BlockImpl findOpenBlockTag(@NonNull String name) {
|
||||
|
||||
BlockImpl blockTag = currentBlock;
|
||||
HtmlTagImpl.BlockImpl blockTag = currentBlock;
|
||||
|
||||
while (blockTag != null
|
||||
&& !name.equals(blockTag.name) && !blockTag.isClosed()) {
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html.jsoup;
|
||||
package ru.noties.markwon.html.impl.jsoup;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html.jsoup.helper;
|
||||
package ru.noties.markwon.html.impl.jsoup.helper;
|
||||
|
||||
import java.util.Locale;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html.jsoup.helper;
|
||||
package ru.noties.markwon.html.impl.jsoup.helper;
|
||||
|
||||
/**
|
||||
* Simple validation methods. Designed for jsoup internal use
|
@ -1,8 +1,8 @@
|
||||
package ru.noties.markwon.html.jsoup.nodes;
|
||||
package ru.noties.markwon.html.impl.jsoup.nodes;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import ru.noties.markwon.html.jsoup.helper.Validate;
|
||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
|
||||
|
||||
/**
|
||||
A single key + value attribute. (Only used for presentation.)
|
@ -1,18 +1,14 @@
|
||||
package ru.noties.markwon.html.jsoup.nodes;
|
||||
package ru.noties.markwon.html.impl.jsoup.nodes;
|
||||
|
||||
import java.util.AbstractMap;
|
||||
import java.util.AbstractSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import ru.noties.markwon.html.jsoup.helper.Validate;
|
||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
|
||||
|
||||
import static ru.noties.markwon.html.jsoup.helper.Normalizer.lowerCase;
|
||||
import static ru.noties.markwon.html.impl.jsoup.helper.Normalizer.lowerCase;
|
||||
|
||||
/**
|
||||
* The attributes of an Element.
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html.jsoup.nodes;
|
||||
package ru.noties.markwon.html.impl.jsoup.nodes;
|
||||
|
||||
/**
|
||||
* A {@code <!DOCTYPE>} node.
|
@ -1,14 +1,14 @@
|
||||
package ru.noties.markwon.html.jsoup.nodes;
|
||||
package ru.noties.markwon.html.impl.jsoup.nodes;
|
||||
|
||||
import java.nio.charset.CharsetEncoder;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
|
||||
import ru.noties.markwon.html.jsoup.helper.Validate;
|
||||
import ru.noties.markwon.html.jsoup.parser.CharacterReader;
|
||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
|
||||
import ru.noties.markwon.html.impl.jsoup.parser.CharacterReader;
|
||||
|
||||
import static ru.noties.markwon.html.jsoup.nodes.Entities.EscapeMode.base;
|
||||
import static ru.noties.markwon.html.jsoup.nodes.Entities.EscapeMode.extended;
|
||||
import static ru.noties.markwon.html.impl.jsoup.nodes.Entities.EscapeMode.base;
|
||||
import static ru.noties.markwon.html.impl.jsoup.nodes.Entities.EscapeMode.extended;
|
||||
|
||||
/**
|
||||
* HTML entities, and escape routines. Source: <a href="http://www.w3.org/TR/html5/named-character-references.html#named-character-references">W3C
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html.jsoup.nodes;
|
||||
package ru.noties.markwon.html.impl.jsoup.nodes;
|
||||
|
||||
/**
|
||||
* Holds packed data that represents Entity name=value pairs. Parsed by Entities, created by BuildEntities.
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html.jsoup.parser;
|
||||
package ru.noties.markwon.html.impl.jsoup.parser;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Reader;
|
||||
@ -6,8 +6,8 @@ import java.io.StringReader;
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
|
||||
import ru.noties.markwon.html.jsoup.UncheckedIOException;
|
||||
import ru.noties.markwon.html.jsoup.helper.Validate;
|
||||
import ru.noties.markwon.html.impl.jsoup.UncheckedIOException;
|
||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
|
||||
|
||||
/**
|
||||
CharacterReader consumes tokens off a string. Used internally by jsoup. API subject to changes.
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html.jsoup.parser;
|
||||
package ru.noties.markwon.html.impl.jsoup.parser;
|
||||
|
||||
/**
|
||||
* A Parse Error records an error in the input HTML that occurs in either the tokenisation or the tree building phase.
|
@ -1,4 +1,4 @@
|
||||
package ru.noties.markwon.html.jsoup.parser;
|
||||
package ru.noties.markwon.html.impl.jsoup.parser;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -1,11 +1,11 @@
|
||||
package ru.noties.markwon.html.jsoup.parser;
|
||||
package ru.noties.markwon.html.impl.jsoup.parser;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import ru.noties.markwon.html.jsoup.helper.Validate;
|
||||
import ru.noties.markwon.html.jsoup.nodes.Attributes;
|
||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
|
||||
import ru.noties.markwon.html.impl.jsoup.nodes.Attributes;
|
||||
|
||||
import static ru.noties.markwon.html.jsoup.helper.Normalizer.lowerCase;
|
||||
import static ru.noties.markwon.html.impl.jsoup.helper.Normalizer.lowerCase;
|
||||
|
||||
/**
|
||||
* Parse tokens for the Tokeniser.
|
@ -1,9 +1,9 @@
|
||||
package ru.noties.markwon.html.jsoup.parser;
|
||||
package ru.noties.markwon.html.impl.jsoup.parser;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import ru.noties.markwon.html.jsoup.helper.Validate;
|
||||
import ru.noties.markwon.html.jsoup.nodes.Entities;
|
||||
import ru.noties.markwon.html.impl.jsoup.helper.Validate;
|
||||
import ru.noties.markwon.html.impl.jsoup.nodes.Entities;
|
||||
|
||||
/**
|
||||
* Readers the input stream into tokens.
|
@ -1,6 +1,6 @@
|
||||
package ru.noties.markwon.html.jsoup.parser;
|
||||
package ru.noties.markwon.html.impl.jsoup.parser;
|
||||
|
||||
import ru.noties.markwon.html.jsoup.nodes.DocumentType;
|
||||
import ru.noties.markwon.html.impl.jsoup.nodes.DocumentType;
|
||||
|
||||
/**
|
||||
* States and transition activations for the Tokeniser.
|
@ -14,7 +14,11 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import ru.noties.markwon.html.jsoup.parser.Token;
|
||||
import ru.noties.markwon.html.api.HtmlTag;
|
||||
import ru.noties.markwon.html.api.MarkwonHtmlParser;
|
||||
import ru.noties.markwon.html.impl.HtmlEmptyTagReplacement;
|
||||
import ru.noties.markwon.html.impl.MarkwonHtmlParserImpl;
|
||||
import ru.noties.markwon.html.impl.jsoup.parser.Token;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user