Update latex extension for latest changes
This commit is contained in:
parent
107246c573
commit
f86cf1d109
@ -5,6 +5,7 @@ import android.net.Uri;
|
|||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
|
|
||||||
|
import org.commonmark.node.Image;
|
||||||
import org.commonmark.parser.Parser;
|
import org.commonmark.parser.Parser;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
@ -14,10 +15,11 @@ import java.util.Scanner;
|
|||||||
|
|
||||||
import ru.noties.jlatexmath.JLatexMathDrawable;
|
import ru.noties.jlatexmath.JLatexMathDrawable;
|
||||||
import ru.noties.markwon.AbstractMarkwonPlugin;
|
import ru.noties.markwon.AbstractMarkwonPlugin;
|
||||||
import ru.noties.markwon.MarkwonConfiguration;
|
|
||||||
import ru.noties.markwon.MarkwonVisitor;
|
import ru.noties.markwon.MarkwonVisitor;
|
||||||
|
import ru.noties.markwon.RenderProps;
|
||||||
import ru.noties.markwon.image.AsyncDrawableLoader;
|
import ru.noties.markwon.image.AsyncDrawableLoader;
|
||||||
import ru.noties.markwon.image.ImageItem;
|
import ru.noties.markwon.image.ImageItem;
|
||||||
|
import ru.noties.markwon.image.ImageProps;
|
||||||
import ru.noties.markwon.image.ImageSize;
|
import ru.noties.markwon.image.ImageSize;
|
||||||
import ru.noties.markwon.image.MediaDecoder;
|
import ru.noties.markwon.image.MediaDecoder;
|
||||||
import ru.noties.markwon.image.SchemeHandler;
|
import ru.noties.markwon.image.SchemeHandler;
|
||||||
@ -77,19 +79,13 @@ public class JLatexMathPlugin extends AbstractMarkwonPlugin {
|
|||||||
final int length = visitor.length();
|
final int length = visitor.length();
|
||||||
visitor.builder().append(latex);
|
visitor.builder().append(latex);
|
||||||
|
|
||||||
final MarkwonConfiguration configuration = visitor.configuration();
|
final RenderProps renderProps = visitor.renderProps();
|
||||||
|
|
||||||
visitor.setSpans(
|
ImageProps.DESTINATION.set(renderProps, makeDestination(latex));
|
||||||
length,
|
ImageProps.REPLACEMENT_TEXT_IS_LINK.set(renderProps, false);
|
||||||
configuration.factory().image(
|
ImageProps.IMAGE_SIZE.set(renderProps, new ImageSize(new ImageSize.Dimension(100, "%"), null));
|
||||||
visitor.theme(),
|
|
||||||
makeDestination(latex),
|
visitor.setSpansForNode(Image.class, length);
|
||||||
configuration.asyncDrawableLoader(),
|
|
||||||
configuration.imageSizeResolver(),
|
|
||||||
new ImageSize(new ImageSize.Dimension(100, "%"), null),
|
|
||||||
false
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,10 @@ public interface MarkwonVisitor extends Visitor {
|
|||||||
// will throw, if not desired use setSpansForNodeOptional
|
// will throw, if not desired use setSpansForNodeOptional
|
||||||
<N extends Node> void setSpansForNode(@NonNull N node, int start);
|
<N extends Node> void setSpansForNode(@NonNull N node, int start);
|
||||||
|
|
||||||
|
<N extends Node> void setSpansForNode(@NonNull Class<N> node, int start);
|
||||||
|
|
||||||
// does not throw if there is no SpanFactory registered for this node
|
// does not throw if there is no SpanFactory registered for this node
|
||||||
<N extends Node> void setSpansForNodeOptional(@NonNull N node, int start);
|
<N extends Node> void setSpansForNodeOptional(@NonNull N node, int start);
|
||||||
|
|
||||||
|
<N extends Node> void setSpansForNodeOptional(@NonNull Class<N> node, int start);
|
||||||
}
|
}
|
||||||
|
@ -236,6 +236,11 @@ class MarkwonVisitorImpl implements MarkwonVisitor {
|
|||||||
setSpans(start, configuration.spansFactory().require(node).getSpans(configuration, renderProps));
|
setSpans(start, configuration.spansFactory().require(node).getSpans(configuration, renderProps));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <N extends Node> void setSpansForNode(@NonNull Class<N> node, int start) {
|
||||||
|
setSpans(start, configuration.spansFactory().require(node).getSpans(configuration, renderProps));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <N extends Node> void setSpansForNodeOptional(@NonNull N node, int start) {
|
public <N extends Node> void setSpansForNodeOptional(@NonNull N node, int start) {
|
||||||
final SpanFactory factory = configuration.spansFactory().get(node);
|
final SpanFactory factory = configuration.spansFactory().get(node);
|
||||||
@ -244,6 +249,14 @@ class MarkwonVisitorImpl implements MarkwonVisitor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <N extends Node> void setSpansForNodeOptional(@NonNull Class<N> node, int start) {
|
||||||
|
final SpanFactory factory = configuration.spansFactory().get(node);
|
||||||
|
if (factory != null) {
|
||||||
|
setSpans(start, factory.getSpans(configuration, renderProps));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static class BuilderImpl implements Builder {
|
static class BuilderImpl implements Builder {
|
||||||
|
|
||||||
private final Map<Class<? extends Node>, NodeVisitor<? extends Node>> nodes = new HashMap<>();
|
private final Map<Class<? extends Node>, NodeVisitor<? extends Node>> nodes = new HashMap<>();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user