From 6103ec0574190ff09032a9821f25e9071d14af63 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Tue, 19 May 2020 12:57:17 +0300 Subject: [PATCH 01/52] 4.4.1-SNAPSHOT --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 559ebd01..601c8418 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ android.enableJetifier=true android.enableBuildCache=true android.buildCacheDir=build/pre-dex-cache -VERSION_NAME=4.4.0 +VERSION_NAME=4.4.1-SNAPSHOT GROUP=io.noties.markwon POM_DESCRIPTION=Markwon markdown for Android From 03770cfe2d50d44fc6260696bcbf10dee46ecaf6 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Thu, 28 May 2020 11:54:15 +0300 Subject: [PATCH 02/52] SimpleTagHandler visit children if tag is block --- CHANGELOG.md | 5 ++ .../markwon/html/tag/SimpleTagHandler.java | 5 ++ .../markwon/sample/html/CenterTagHandler.java | 39 +++++++++++ .../markwon/sample/html/HtmlActivity.java | 66 ++++++++++++++++++- .../markwon/sample/html/IFrameHtmlPlugin.java | 2 +- 5 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 sample/src/main/java/io/noties/markwon/sample/html/CenterTagHandler.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 38b9e884..478a4600 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +# $nap; +* `html` - `SimpleTagHandler` visits children tags if supplied tag is block one ([#235]) + +[#235]: https://github.com/noties/Markwon/issues/235 + # 4.4.0 * `TextViewSpan` to obtain `TextView` in which markdown is displayed (applied by `CorePlugin`) * `TextLayoutSpan` to obtain `Layout` in which markdown is displayed (applied by `TablePlugin`, more specifically `TableRowSpan` to propagate layout in which cell content is displayed) diff --git a/markwon-html/src/main/java/io/noties/markwon/html/tag/SimpleTagHandler.java b/markwon-html/src/main/java/io/noties/markwon/html/tag/SimpleTagHandler.java index 337ac748..d0ffef45 100644 --- a/markwon-html/src/main/java/io/noties/markwon/html/tag/SimpleTagHandler.java +++ b/markwon-html/src/main/java/io/noties/markwon/html/tag/SimpleTagHandler.java @@ -28,6 +28,11 @@ public abstract class SimpleTagHandler extends TagHandler { @Override public void handle(@NonNull MarkwonVisitor visitor, @NonNull MarkwonHtmlRenderer renderer, @NonNull HtmlTag tag) { + // @since $nap; check if tag is block one and visit children + if (tag.isBlock()) { + visitChildren(visitor, renderer, tag.getAsBlock()); + } + final Object spans = getSpans(visitor.configuration(), visitor.renderProps(), tag); if (spans != null) { SpannableBuilder.setSpans(visitor.builder(), spans, tag.start(), tag.end()); diff --git a/sample/src/main/java/io/noties/markwon/sample/html/CenterTagHandler.java b/sample/src/main/java/io/noties/markwon/sample/html/CenterTagHandler.java new file mode 100644 index 00000000..fa1d7e61 --- /dev/null +++ b/sample/src/main/java/io/noties/markwon/sample/html/CenterTagHandler.java @@ -0,0 +1,39 @@ +package io.noties.markwon.sample.html; + +import android.text.Layout; +import android.text.style.AlignmentSpan; +import android.util.Log; + +import androidx.annotation.NonNull; + +import java.util.Collection; +import java.util.Collections; + +import io.noties.markwon.MarkwonVisitor; +import io.noties.markwon.SpannableBuilder; +import io.noties.markwon.html.HtmlTag; +import io.noties.markwon.html.MarkwonHtmlRenderer; +import io.noties.markwon.html.TagHandler; + +class CenterTagHandler extends TagHandler { + + @Override + public void handle(@NonNull MarkwonVisitor visitor, @NonNull MarkwonHtmlRenderer renderer, @NonNull HtmlTag tag) { + Log.e("HTML", String.format("center, isBlock: %s", tag.isBlock())); + if (tag.isBlock()) { + visitChildren(visitor, renderer, tag.getAsBlock()); + } + SpannableBuilder.setSpans( + visitor.builder(), + new AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER), + tag.start(), + tag.end() + ); + } + + @NonNull + @Override + public Collection supportedTags() { + return Collections.singleton("center"); + } +} diff --git a/sample/src/main/java/io/noties/markwon/sample/html/HtmlActivity.java b/sample/src/main/java/io/noties/markwon/sample/html/HtmlActivity.java index 1f289f79..02c65621 100644 --- a/sample/src/main/java/io/noties/markwon/sample/html/HtmlActivity.java +++ b/sample/src/main/java/io/noties/markwon/sample/html/HtmlActivity.java @@ -46,7 +46,8 @@ public class HtmlActivity extends ActivityWithMenuOptions { .add("image", this::image) // .add("elegantUnderline", this::elegantUnderline) .add("iframe", this::iframe) - .add("emptyTagReplacement", this::emptyTagReplacement); + .add("emptyTagReplacement", this::emptyTagReplacement) + .add("centerTag", this::centerTag); } private TextView textView; @@ -60,7 +61,7 @@ public class HtmlActivity extends ActivityWithMenuOptions { // let's define some custom tag-handlers textView = findViewById(R.id.text_view); - + emptyTagReplacement(); } @@ -354,4 +355,65 @@ public class HtmlActivity extends ActivityWithMenuOptions { markwon.setMarkdown(textView, md); } + + private void centerTag() { + final String html = "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "

\n" + + "

LiSA's Sword Art Online: Alicization OP Song \"ADAMAS\" Certified Platinum with 250,000 Downloads

\n" + + "

\n" + + "
The upper tune was already certified Gold one month after its digital release
\n" + + "

According to The Recording Industry Association of Japan (RIAJ)'s monthly report for April 2020, one of the LiSA's 14th single songs,\n" + + " \"ADAMAS\" (the first OP theme for the TV anime Sword Art Online:\n" + + " Alicization) has been certified Platinum for\n" + + " surpassing 250,000 downloads.

\n" + + "

 

\n" + + "

As a double A-side single with \"Akai Wana (who loves it?),\" \"ADAMAS\" was\n" + + " released from SACRA Music in Japan on December 12, 2018. Its CD single ranked second in Oricon's weekly single\n" + + " chart by selling 35,000 copies in its first week. Meanwhile, the song was released digitally two months prior to\n" + + " its CD release, October 8, then reached Gold (100,000 downloads) in the following month.

\n" + + "

 

\n" + + "

 

\n" + + "
\n" + + "

\"ADAMAS\" MV YouTube EDIT ver.:

\n" + + "

\n" + + "

\n" + + "

 

\n" + + "

Standard edition CD jacket:

\n" + + "

\"\"

\n" + + "
\n" + + "

  

\n" + + "
\n" + + "

 

\n" + + "

Source: RIAJ press release

\n" + + "

 

\n" + + "

©SACRA MUSIC

\n" + + "

 

\n" + + "

\n" + + "\n" + + "\n" + + ""; + + final Markwon markwon = Markwon.builder(this) + .usePlugin(HtmlPlugin.create(new HtmlPlugin.HtmlConfigure() { + @Override + public void configureHtml(@NonNull HtmlPlugin plugin) { + plugin.addHandler(new CenterTagHandler()); + } + })) + .usePlugin(new IFrameHtmlPlugin()) + .usePlugin(ImagesPlugin.create()) + .build(); + + markwon.setMarkdown(textView, html); + } } diff --git a/sample/src/main/java/io/noties/markwon/sample/html/IFrameHtmlPlugin.java b/sample/src/main/java/io/noties/markwon/sample/html/IFrameHtmlPlugin.java index ddbbfce7..effc6fdf 100644 --- a/sample/src/main/java/io/noties/markwon/sample/html/IFrameHtmlPlugin.java +++ b/sample/src/main/java/io/noties/markwon/sample/html/IFrameHtmlPlugin.java @@ -34,7 +34,7 @@ public class IFrameHtmlPlugin extends AbstractMarkwonPlugin { public Object getSpans(@NonNull MarkwonConfiguration configuration, @NonNull RenderProps renderProps, @NonNull HtmlTag tag) { final ImageSize imageSize = new ImageSize(new ImageSize.Dimension(640, "px"), new ImageSize.Dimension(480, "px")); ImageProps.IMAGE_SIZE.set(renderProps, imageSize); - ImageProps.DESTINATION.set(renderProps, "https://hey.com/1.png"); + ImageProps.DESTINATION.set(renderProps, "https://img1.ak.crunchyroll.com/i/spire2/d7b1d6bc7563224388ef5ffc04a967581589950464_full.jpg"); return configuration.spansFactory().require(Image.class) .getSpans(configuration, renderProps); } From 8e332712fee6b713007d29b5a01ab56a2e33fdcb Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Thu, 28 May 2020 13:03:50 +0300 Subject: [PATCH 03/52] CorePlugin hasExplicitMovementMethodPlugin configuration --- CHANGELOG.md | 9 ++++ .../io/noties/markwon/core/CorePlugin.java | 16 ++++++- .../movement/MovementMethodPlugin.java | 42 ++++++++++++++++++- .../sample/recycler/RecyclerActivity.java | 2 +- 4 files changed, 65 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 478a4600..e70a3462 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,17 @@ # Changelog # $nap; + +#### Added +* `core` - `MovementMethodPlugin.none()`, `MovementMethodPlugin.link()` factory methods +* `core` - `CorePlugin` `hasExplicitMovementMethodPlugin` configuration method to **not** add implicit `LinkMovementMethod` on `afterSetText` + +#### Changed * `html` - `SimpleTagHandler` visits children tags if supplied tag is block one ([#235]) +#### Deprecated +* `core` - `MovementMethodPlugin.create()` use explicit `MovementMethodPlugin.link()` instead + [#235]: https://github.com/noties/Markwon/issues/235 # 4.4.0 diff --git a/markwon-core/src/main/java/io/noties/markwon/core/CorePlugin.java b/markwon-core/src/main/java/io/noties/markwon/core/CorePlugin.java index 1c576e7f..d9c2a3dd 100644 --- a/markwon-core/src/main/java/io/noties/markwon/core/CorePlugin.java +++ b/markwon-core/src/main/java/io/noties/markwon/core/CorePlugin.java @@ -115,9 +115,22 @@ public class CorePlugin extends AbstractMarkwonPlugin { // @since 4.0.0 private final List onTextAddedListeners = new ArrayList<>(0); + // @since $nap; + private boolean hasExplicitMovementMethodPlugin; + protected CorePlugin() { } + /** + * @since $nap; + */ + @SuppressWarnings("UnusedReturnValue") + @NonNull + public CorePlugin hasExplicitMovementMethodPlugin(boolean hasExplicitMovementMethodPlugin) { + this.hasExplicitMovementMethodPlugin = hasExplicitMovementMethodPlugin; + return this; + } + /** * Can be useful to post-process text added. For example for auto-linking capabilities. * @@ -188,7 +201,8 @@ public class CorePlugin extends AbstractMarkwonPlugin { // let's ensure that there is a movement method applied // we do it `afterSetText` so any user-defined movement method won't be // replaced (it should be done in `beforeSetText` or manually on a TextView) - if (textView.getMovementMethod() == null) { + // @since $nap; we additionally check if we should apply _implicit_ movement method + if (!hasExplicitMovementMethodPlugin && textView.getMovementMethod() == null) { textView.setMovementMethod(LinkMovementMethod.getInstance()); } } diff --git a/markwon-core/src/main/java/io/noties/markwon/movement/MovementMethodPlugin.java b/markwon-core/src/main/java/io/noties/markwon/movement/MovementMethodPlugin.java index 0f9a7e10..b16af95f 100644 --- a/markwon-core/src/main/java/io/noties/markwon/movement/MovementMethodPlugin.java +++ b/markwon-core/src/main/java/io/noties/markwon/movement/MovementMethodPlugin.java @@ -6,8 +6,10 @@ import android.text.method.MovementMethod; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.core.CorePlugin; /** * @since 3.0.0 @@ -19,26 +21,62 @@ public class MovementMethodPlugin extends AbstractMarkwonPlugin { * Uses Android system LinkMovementMethod as default * * @see #create(MovementMethod) + * @see #link() + * @deprecated $nap; use {@link #link()} */ @NonNull + @Deprecated public static MovementMethodPlugin create() { return create(LinkMovementMethod.getInstance()); } + /** + * @since $nap; + */ + @NonNull + public static MovementMethodPlugin link() { + return create(LinkMovementMethod.getInstance()); + } + + /** + * Special {@link MovementMethodPlugin} that is not applying a MovementMethod on a TextView + * implicitly + * + * @since $nap; + */ + @NonNull + public static MovementMethodPlugin none() { + return new MovementMethodPlugin(null); + } + @NonNull public static MovementMethodPlugin create(@NonNull MovementMethod movementMethod) { return new MovementMethodPlugin(movementMethod); } + @Nullable private final MovementMethod movementMethod; + /** + * Since $nap; change to be nullable + */ @SuppressWarnings("WeakerAccess") - MovementMethodPlugin(@NonNull MovementMethod movementMethod) { + MovementMethodPlugin(@Nullable MovementMethod movementMethod) { this.movementMethod = movementMethod; } + @Override + public void configure(@NonNull Registry registry) { + registry.require(CorePlugin.class) + .hasExplicitMovementMethodPlugin(true); + } + @Override public void beforeSetText(@NonNull TextView textView, @NonNull Spanned markdown) { - textView.setMovementMethod(movementMethod); + // @since $nap; check for equality + final MovementMethod current = textView.getMovementMethod(); + if (current != movementMethod) { + textView.setMovementMethod(movementMethod); + } } } diff --git a/sample/src/main/java/io/noties/markwon/sample/recycler/RecyclerActivity.java b/sample/src/main/java/io/noties/markwon/sample/recycler/RecyclerActivity.java index 50bcd696..c1424e6d 100644 --- a/sample/src/main/java/io/noties/markwon/sample/recycler/RecyclerActivity.java +++ b/sample/src/main/java/io/noties/markwon/sample/recycler/RecyclerActivity.java @@ -39,6 +39,7 @@ import io.noties.markwon.image.destination.ImageDestinationProcessorRelativeToAb import io.noties.markwon.image.file.FileSchemeHandler; import io.noties.markwon.image.network.OkHttpNetworkSchemeHandler; import io.noties.markwon.image.svg.SvgMediaDecoder; +import io.noties.markwon.movement.MovementMethodPlugin; import io.noties.markwon.recycler.MarkwonAdapter; import io.noties.markwon.recycler.SimpleEntry; import io.noties.markwon.recycler.table.TableEntry; @@ -82,7 +83,6 @@ public class RecyclerActivity extends Activity { @NonNull private static Markwon markwon(@NonNull Context context) { return Markwon.builder(context) - .usePlugin(CorePlugin.create()) .usePlugin(ImagesPlugin.create(plugin -> { plugin .addSchemeHandler(FileSchemeHandler.createWithAssets(context)) From b1a0f3b73954271e592caa7bdac5ffd625817588 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Thu, 28 May 2020 13:13:53 +0300 Subject: [PATCH 04/52] hasExplicitMovementMethodPlugin sample --- CHANGELOG.md | 2 +- .../markwon/sample/core/CoreActivity.java | 51 ++++++++++++++++++- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e70a3462..0a2e0856 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ #### Added * `core` - `MovementMethodPlugin.none()`, `MovementMethodPlugin.link()` factory methods -* `core` - `CorePlugin` `hasExplicitMovementMethodPlugin` configuration method to **not** add implicit `LinkMovementMethod` on `afterSetText` +* `core` - `CorePlugin` `hasExplicitMovementMethodPlugin` configuration method to **not** add implicit `LinkMovementMethod` in `afterSetText` #### Changed * `html` - `SimpleTagHandler` visits children tags if supplied tag is block one ([#235]) diff --git a/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java b/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java index 7ce59464..c191a59e 100644 --- a/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java +++ b/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java @@ -18,6 +18,7 @@ import java.util.Set; import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.Markwon; import io.noties.markwon.core.CorePlugin; +import io.noties.markwon.movement.MovementMethodPlugin; import io.noties.markwon.sample.ActivityWithMenuOptions; import io.noties.markwon.sample.MenuOptions; import io.noties.markwon.sample.R; @@ -33,7 +34,10 @@ public class CoreActivity extends ActivityWithMenuOptions { .add("simple", this::simple) .add("toast", this::toast) .add("alreadyParsed", this::alreadyParsed) - .add("enabledBlockTypes", this::enabledBlockTypes); + .add("enabledBlockTypes", this::enabledBlockTypes) + .add("implicitMovementMethod", this::implicitMovementMethod) + .add("explicitMovementMethod", this::explicitMovementMethod) + .add("explicitMovementMethodPlugin", this::explicitMovementMethodPlugin); } @Override @@ -163,4 +167,49 @@ public class CoreActivity extends ActivityWithMenuOptions { markwon.setMarkdown(textView, md); } + + private void implicitMovementMethod() { + // by default a LinkMovementMethod is applied automatically, so links are clickable + + final String md = "[0 link](#) here"; + + final Markwon markwon = Markwon.create(this); + + markwon.setMarkdown(textView, md); + } + + private void explicitMovementMethod() { + // NB! as movement method is set from other methods we _explicitly_ clear it + textView.setMovementMethod(null); + + // by default Markwon will set a LinkMovementMethod on a TextView if it is missing + // to control that `hasExplicitMovementMethodPlugin` can be used + final String md = "[1 link](#) here"; + + final Markwon markwon = Markwon.builder(this) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configure(@NonNull Registry registry) { + // Markwon **won't** set implicit movement method + // thus making the link in markdown input not clickable + registry.require(CorePlugin.class) + .hasExplicitMovementMethodPlugin(true); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } + + private void explicitMovementMethodPlugin() { + // additionally special MovementMethodPlugin.none() can be used to control `hasExplicitMovementMethodPlugin` + + final String md = "[2 link](#) here"; + + final Markwon markwon = Markwon.builder(this) + .usePlugin(MovementMethodPlugin.none()) + .build(); + + markwon.setMarkdown(textView, md); + } } From 94aef9934e2691e1a668dc0e7b881b520bb4030e Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Thu, 28 May 2020 14:07:13 +0300 Subject: [PATCH 05/52] sample add TriggerParentHotspot --- .../sample/recycler/TriggerParentHotspot.java | 149 ++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 sample/src/main/java/io/noties/markwon/sample/recycler/TriggerParentHotspot.java diff --git a/sample/src/main/java/io/noties/markwon/sample/recycler/TriggerParentHotspot.java b/sample/src/main/java/io/noties/markwon/sample/recycler/TriggerParentHotspot.java new file mode 100644 index 00000000..08e583a0 --- /dev/null +++ b/sample/src/main/java/io/noties/markwon/sample/recycler/TriggerParentHotspot.java @@ -0,0 +1,149 @@ +package io.noties.markwon.sample.recycler; + +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.PixelFormat; +import android.graphics.Point; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.util.StateSet; +import android.view.View; +import android.view.ViewTreeObserver; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; + +public class TriggerParentHotspot { + + public static void init(@NonNull final View parent, @NonNull final View view) { + final Drawable background = parent.getBackground(); + if (background == null) { + view.setBackground(null); + return; + } + + final Wrapper wrapper = ensureWrapper(view); + wrapper.wrapped = background; + + view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { + @Override + public boolean onPreDraw() { + final Point point = relativeTo(parent, view, POINT); + wrapper.offsetHorizontal = point.x; + wrapper.offsetVertical = point.y; + view.getViewTreeObserver().removeOnPreDrawListener(this); + return true; + } + }); + } + + private static final Point POINT = new Point(); + + @NonNull + private static Wrapper ensureWrapper(@NonNull View view) { + final Drawable drawable = view.getBackground(); + if (!(drawable instanceof Wrapper)) { + final Wrapper wrapper = new Wrapper(); + view.setBackground(wrapper); + return wrapper; + } + return (Wrapper) drawable; + } + + @NonNull + private static Point relativeTo(@NonNull View parent, @NonNull View who, @NonNull Point point) { + point.x += who.getLeft(); + point.y += who.getTop(); + if (who != parent + && who.getParent() instanceof View) { + relativeTo(parent, (View) who.getParent(), point); + } + return point; + } + + private static class Wrapper extends Drawable { + + private Drawable wrapped; + + private int offsetHorizontal; + private int offsetVertical; + + @Override + public void draw(@NonNull Canvas canvas) { + // no op + } + + @Override + public void setAlpha(int alpha) { + // no op + } + + @Override + public void setColorFilter(@Nullable ColorFilter colorFilter) { + // no op + } + + @Override + public int getOpacity() { + if (wrapped == null) { + return PixelFormat.TRANSPARENT; + } + return wrapped.getOpacity(); + } + + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) + @Override + public void setHotspot(float x, float y) { + if (wrapped != null) { + wrapped.setHotspot(x + offsetHorizontal, y + offsetVertical); + } + } + + @RequiresApi(Build.VERSION_CODES.LOLLIPOP) + @Override + public void setHotspotBounds(int left, int top, int right, int bottom) { + if (wrapped != null) { + wrapped.setHotspotBounds( + left + offsetHorizontal, + top + offsetVertical, + right + offsetHorizontal, + bottom + offsetVertical + ); + } + } + + @RequiresApi(Build.VERSION_CODES.M) + @Override + public void getHotspotBounds(@NonNull Rect outRect) { + if (wrapped != null) { + wrapped.getHotspotBounds(outRect); + if (!outRect.isEmpty()) { + outRect.set( + outRect.left - offsetHorizontal, + outRect.top - offsetVertical, + outRect.right - offsetHorizontal, + outRect.bottom - offsetVertical + ); + } + } + } + + @Override + public boolean isStateful() { + return wrapped != null && wrapped.isStateful(); + } + + @Override + public boolean setState(@NonNull int[] stateSet) { + return wrapped != null && wrapped.setState(stateSet); + } + + @NonNull + @Override + public int[] getState() { + return wrapped != null ? wrapped.getState() : StateSet.WILD_CARD; + } + } +} From dfa21f68e22a1460f8a3d1e96240eea0da642f67 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Thu, 28 May 2020 14:49:18 +0300 Subject: [PATCH 06/52] Add core plugin explicit movement method test --- .../noties/markwon/core/CorePluginTest.java | 56 ++++--------------- 1 file changed, 10 insertions(+), 46 deletions(-) diff --git a/markwon-core/src/test/java/io/noties/markwon/core/CorePluginTest.java b/markwon-core/src/test/java/io/noties/markwon/core/CorePluginTest.java index 56bc539c..02dfbf82 100644 --- a/markwon-core/src/test/java/io/noties/markwon/core/CorePluginTest.java +++ b/markwon-core/src/test/java/io/noties/markwon/core/CorePluginTest.java @@ -56,6 +56,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.RETURNS_MOCKS; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -213,52 +214,6 @@ public class CorePluginTest { assertEquals(impl.map.toString(), 0, impl.map.size()); } - @Test - public void plugin_methods() { - // checks that only expected plugin methods are overridden - - // these represent actual methods that are present (we expect them to be present) - final Set usedMethods = new HashSet() {{ - add("configureVisitor"); - add("configureSpansFactory"); - add("beforeSetText"); - add("afterSetText"); - add("priority"); - add("addOnTextAddedListener"); - }}; - - // we will use declaredMethods because it won't return inherited ones - final Method[] declaredMethods = CorePlugin.class.getDeclaredMethods(); - assertNotNull(declaredMethods); - assertTrue(declaredMethods.length > 0); - - final List methods = Ix.fromArray(declaredMethods) - .filter(new IxPredicate() { - @Override - public boolean test(Method method) { - // ignore private, static - final int modifiers = method.getModifiers(); - return !Modifier.isStatic(modifiers) - && !Modifier.isPrivate(modifiers); - } - }) - .map(new IxFunction() { - @Override - public String apply(Method method) { - return method.getName(); - } - }) - .filter(new IxPredicate() { - @Override - public boolean test(String s) { - return !usedMethods.contains(s); - } - }) - .toList(); - - assertEquals(methods.toString(), 0, methods.size()); - } - @Test public void softbreak() { @@ -320,6 +275,15 @@ public class CorePluginTest { verify(textView, times(0)).setMovementMethod(any(MovementMethod.class)); } + @Test + public void explicit_movement_method() { + final TextView textView = mock(TextView.class); + final CorePlugin plugin = CorePlugin.create() + .hasExplicitMovementMethodPlugin(true); + plugin.afterSetText(textView); + verify(textView, never()).setMovementMethod(any(MovementMethod.class)); + } + @Test public void code_block_info_prop() { final CorePlugin plugin = CorePlugin.create(); From 7f6d85e1fbbc29ee2a014d93274d9421d94c9261 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Tue, 9 Jun 2020 13:36:07 +0300 Subject: [PATCH 07/52] Fix GlideImagesPlugin.create(Context) factory method --- CHANGELOG.md | 5 +++++ .../markwon/image/glide/GlideImagesPlugin.java | 18 ++++-------------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a2e0856..92dc20de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,10 +9,15 @@ #### Changed * `html` - `SimpleTagHandler` visits children tags if supplied tag is block one ([#235]) +#### Fixed +* `image-glide` cache `RequestManager` in `GlideImagesPlugin#create(Context)` factory method ([#259]) + #### Deprecated * `core` - `MovementMethodPlugin.create()` use explicit `MovementMethodPlugin.link()` instead [#235]: https://github.com/noties/Markwon/issues/235 +[#259]: https://github.com/noties/Markwon/issues/259 + # 4.4.0 * `TextViewSpan` to obtain `TextView` in which markdown is displayed (applied by `CorePlugin`) diff --git a/markwon-image-glide/src/main/java/io/noties/markwon/image/glide/GlideImagesPlugin.java b/markwon-image-glide/src/main/java/io/noties/markwon/image/glide/GlideImagesPlugin.java index e690c014..657229ec 100644 --- a/markwon-image-glide/src/main/java/io/noties/markwon/image/glide/GlideImagesPlugin.java +++ b/markwon-image-glide/src/main/java/io/noties/markwon/image/glide/GlideImagesPlugin.java @@ -44,20 +44,10 @@ public class GlideImagesPlugin extends AbstractMarkwonPlugin { @NonNull public static GlideImagesPlugin create(@NonNull final Context context) { - return create(new GlideStore() { - @NonNull - @Override - public RequestBuilder load(@NonNull AsyncDrawable drawable) { - return Glide.with(context) - .load(drawable.getDestination()); - } - - @Override - public void cancel(@NonNull Target target) { - Glide.with(context) - .clear(target); - } - }); + // @since $nap; cache RequestManager + // sometimes `cancel` would be called after activity is destroyed, + // so `Glide.with(context)` will throw an exception + return create(Glide.with(context)); } @NonNull From bdb47c73f24b5df37f1a7ddf7315e24dd33b8b7d Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Tue, 9 Jun 2020 15:14:54 +0300 Subject: [PATCH 08/52] BangInlineProcessor reset state if no image match found --- CHANGELOG.md | 1 + build.gradle | 3 +- .../inlineparser/BangInlineProcessor.java | 6 +- .../inlineparser/InlineParserActivity.java | 180 +++++++++++++++++- 4 files changed, 187 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92dc20de..c8eddc98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ #### Changed * `html` - `SimpleTagHandler` visits children tags if supplied tag is block one ([#235]) +* `inline-parser` - `BangInlineProcessor` properly returns `null` if no image node is found (possible to define other inline parsers that use `!` as special character) #### Fixed * `image-glide` cache `RequestManager` in `GlideImagesPlugin#create(Context)` factory method ([#259]) diff --git a/build.gradle b/build.gradle index b92f8dd9..7734c06e 100644 --- a/build.gradle +++ b/build.gradle @@ -22,8 +22,9 @@ allprojects { version = VERSION_NAME group = GROUP + // do we actually need javadoc any more? tasks.withType(Javadoc) { - options.addStringOption('Xdoclint:none', '-quiet') + enabled = false } } diff --git a/markwon-inline-parser/src/main/java/io/noties/markwon/inlineparser/BangInlineProcessor.java b/markwon-inline-parser/src/main/java/io/noties/markwon/inlineparser/BangInlineProcessor.java index 75d6fb03..9d0d2217 100644 --- a/markwon-inline-parser/src/main/java/io/noties/markwon/inlineparser/BangInlineProcessor.java +++ b/markwon-inline-parser/src/main/java/io/noties/markwon/inlineparser/BangInlineProcessor.java @@ -29,7 +29,11 @@ public class BangInlineProcessor extends InlineProcessor { return node; } else { - return text("!"); + // @since $nap; return null in case no match (multiple inline + // processors can define `!` as _special_ character, so let them handle it) + // NB! do not forget to reset index + index = startIndex; + return null; } } } diff --git a/sample/src/main/java/io/noties/markwon/sample/inlineparser/InlineParserActivity.java b/sample/src/main/java/io/noties/markwon/sample/inlineparser/InlineParserActivity.java index 718d40e7..33ac4158 100644 --- a/sample/src/main/java/io/noties/markwon/sample/inlineparser/InlineParserActivity.java +++ b/sample/src/main/java/io/noties/markwon/sample/inlineparser/InlineParserActivity.java @@ -1,7 +1,17 @@ package io.noties.markwon.sample.inlineparser; +import android.app.Activity; +import android.graphics.Point; import android.os.Bundle; +import android.text.Layout; +import android.text.Spannable; +import android.text.TextPaint; +import android.text.style.ClickableSpan; +import android.view.Gravity; +import android.view.View; +import android.view.Window; import android.widget.TextView; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -10,11 +20,13 @@ import org.commonmark.internal.inline.AsteriskDelimiterProcessor; import org.commonmark.internal.inline.UnderscoreDelimiterProcessor; import org.commonmark.node.Block; import org.commonmark.node.BlockQuote; +import org.commonmark.node.CustomNode; import org.commonmark.node.FencedCodeBlock; import org.commonmark.node.Heading; import org.commonmark.node.HtmlBlock; import org.commonmark.node.IndentedCodeBlock; import org.commonmark.node.ListBlock; +import org.commonmark.node.Node; import org.commonmark.node.ThematicBreak; import org.commonmark.parser.InlineParserFactory; import org.commonmark.parser.Parser; @@ -22,13 +34,17 @@ import org.commonmark.parser.Parser; import java.util.Arrays; import java.util.HashSet; import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.inlineparser.BackticksInlineProcessor; import io.noties.markwon.inlineparser.BangInlineProcessor; import io.noties.markwon.inlineparser.CloseBracketInlineProcessor; import io.noties.markwon.inlineparser.HtmlInlineProcessor; +import io.noties.markwon.inlineparser.InlineProcessor; import io.noties.markwon.inlineparser.MarkwonInlineParser; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.OpenBracketInlineProcessor; @@ -49,7 +65,8 @@ public class InlineParserActivity extends ActivityWithMenuOptions { .add("pluginWithDefaults", this::pluginWithDefaults) .add("pluginNoDefaults", this::pluginNoDefaults) .add("disableHtmlInlineParser", this::disableHtmlInlineParser) - .add("disableHtmlSanitize", this::disableHtmlSanitize); + .add("disableHtmlSanitize", this::disableHtmlSanitize) + .add("tooltip", this::tooltip); } @Override @@ -244,4 +261,165 @@ public class InlineParserActivity extends ActivityWithMenuOptions { markwon.setMarkdown(textView, md); } + + private void tooltip() { + // NB! tooltip contents cannot have new lines + final String md = "" + + "\n" + + "\n" + + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vitae enim ut sem aliquet ultrices. Nunc a accumsan orci. Suspendisse tortor ante, lacinia ac scelerisque sed, dictum eget metus. Morbi ante augue, tristique eget quam in, vestibulum rutrum lacus. Nulla aliquam auctor cursus. Nulla at lacus condimentum, viverra lacus eget, sollicitudin ex. Cras efficitur leo dui, sit amet rutrum tellus venenatis et. Sed in facilisis libero. Etiam ultricies, nulla ut venenatis tincidunt, tortor erat tristique ante, non aliquet massa arcu eget nisl. Etiam gravida erat ante, sit amet lobortis mauris commodo nec. Praesent vitae sodales quam. Vivamus condimentum porta suscipit. Donec posuere id felis ac scelerisque. Vestibulum lacinia et leo id lobortis. Sed vitae dolor nec ligula dapibus finibus vel eu libero. Nam tincidunt maximus elit, sit amet tincidunt lacus laoreet malesuada.\n" + + "\n" + + "Aenean at urna leo. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla facilisi. Integer lectus elit, congue a orci sed, dignissim sagittis sem. Aenean et pretium magna, nec ornare justo. Sed quis nunc blandit, luctus justo eget, pellentesque arcu. Pellentesque porta semper tristique. Donec et odio arcu. Nullam ultrices gravida congue. Praesent vel leo sed orci tempor luctus. Vivamus eget tortor arcu. Nullam sapien nulla, iaculis sit amet semper in, mattis nec metus. In porttitor augue id elit euismod mattis. Ut est justo, dapibus suscipit erat eu, pellentesque porttitor magna.\n" + + "\n" + + "Nunc porta orci eget dictum malesuada. Donec vehicula felis sit amet leo tincidunt placerat. Cras quis elit faucibus, porta elit at, sodales tortor. Donec elit mi, eleifend et maximus vitae, pretium varius velit. Integer maximus egestas urna, at semper augue egestas vitae. Phasellus arcu tellus, tincidunt eget tellus nec, hendrerit mollis mauris. Pellentesque commodo urna quis nisi ultrices, quis vehicula felis ultricies. Vivamus eu feugiat leo.\n" + + "\n" + + "Etiam sit amet lorem et eros suscipit rhoncus a a tellus. Sed pharetra dui purus, quis molestie leo congue nec. Suspendisse sed scelerisque quam. Vestibulum non laoreet felis. Fusce interdum euismod purus at scelerisque. Vivamus tempus varius nibh, sed accumsan nisl interdum non. Pellentesque rutrum egestas eros sit amet sollicitudin. Vivamus ultrices est erat. Curabitur gravida justo non felis euismod mollis. Ut porta finibus nulla, sed pellentesque purus euismod ac.\n" + + "\n" + + "Aliquam erat volutpat. Nullam suscipit sit amet tortor vel fringilla. Nulla facilisi. Nullam lacinia ex lacus, sit amet scelerisque justo semper a. Nullam ullamcorper, erat ac malesuada porta, augue erat sagittis mi, in auctor turpis mauris nec orci. Nunc sit amet felis placerat, pharetra diam nec, dapibus metus. Proin nulla orci, iaculis vitae vulputate vel, placerat ac erat. Morbi sit amet blandit velit. Cras consectetur vehicula lacus vel sagittis. Nunc tincidunt lacus in blandit faucibus. Curabitur vestibulum auctor vehicula. Sed quis ligula sit amet quam venenatis venenatis eget id felis. Maecenas feugiat nisl elit, facilisis tempus risus malesuada quis. " + + "# Hello tooltip!\n\n" + + "This is the !{tooltip label}(and actual content comes here)\n\n" + + "what if it is !{here}(The contents can be blocks, limited though) instead?\n\n" + + "![image](#) anyway"; + + final Markwon markwon = Markwon.builder(this) + .usePlugin(MarkwonInlineParserPlugin.create(factoryBuilder -> + factoryBuilder.addInlineProcessor(new TooltipInlineProcessor()))) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureVisitor(@NonNull MarkwonVisitor.Builder builder) { + builder.on(TooltipNode.class, (visitor, tooltipNode) -> { + final int start = visitor.length(); + visitor.builder().append(tooltipNode.label); + visitor.setSpans(start, new TooltipSpan(tooltipNode.contents)); + }); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } + + private static class TooltipInlineProcessor extends InlineProcessor { + + // NB! without bang + // `\\{` is required (although marked as redundant), without it - runtime crash + @SuppressWarnings("RegExpRedundantEscape") + private static final Pattern RE = Pattern.compile("\\{(.+?)\\}\\((.+?)\\)"); + + @Override + public char specialCharacter() { + return '!'; + } + + @Nullable + @Override + protected Node parse() { + final String match = match(RE); + if (match == null) { + return null; + } + + final Matcher matcher = RE.matcher(match); + if (matcher.matches()) { + final String label = matcher.group(1); + final String contents = matcher.group(2); + return new TooltipNode(label, contents); + } + + return null; + } + } + + private static class TooltipNode extends CustomNode { + final String label; + final String contents; + + TooltipNode(@NonNull String label, @NonNull String contents) { + this.label = label; + this.contents = contents; + } + } + + private static class TooltipSpan extends ClickableSpan { + final String contents; + + TooltipSpan(@NonNull String contents) { + this.contents = contents; + } + + @Override + public void onClick(@NonNull View widget) { + // just to be safe + if (!(widget instanceof TextView)) { + return; + } + + final TextView textView = (TextView) widget; + final Spannable spannable = (Spannable) textView.getText(); + + // find self ending position (can also obtain start) +// final int start = spannable.getSpanStart(this); + final int end = spannable.getSpanEnd(this); + + // weird, didn't find self + if (/*start < 0 ||*/ end < 0) { + return; + } + + final Layout layout = textView.getLayout(); + if (layout == null) { + // also weird + return; + } + + final int line = layout.getLineForOffset(end); + + // position inside TextView, these values must also be adjusted to parent widget + // also note that container can + final int y = layout.getLineBottom(line); + final int x = (int) (layout.getPrimaryHorizontal(end) + 0.5F); + + final Window window = ((Activity) widget.getContext()).getWindow(); + final View decor = window.getDecorView(); + final Point point = relativeTo(decor, widget); + +// new Tooltip.Builder(widget.getContext()) +// .anchor(x + point.x, y + point.y) +// .text(contents) +// .create() +// .show(widget, Tooltip.Gravity.TOP, false); + + // Toast is not reliable when tried to position on the screen + // but anyway, this is to showcase only + final Toast toast = Toast.makeText(widget.getContext(), contents, Toast.LENGTH_LONG); + toast.setGravity(Gravity.TOP | Gravity.START, x + point.x, y + point.y); + toast.show(); + } + + @Override + public void updateDrawState(@NonNull TextPaint ds) { + // can customize appearance here as spans will be rendered as links + super.updateDrawState(ds); + } + + @NonNull + private static Point relativeTo(@NonNull View parent, @NonNull View who) { + return relativeTo(parent, who, new Point()); + } + + @NonNull + private static Point relativeTo(@NonNull View parent, @NonNull View who, @NonNull Point point) { + // NB! the scroll adjustments (we are interested in screen position, + // not real position inside parent) + point.x += who.getLeft(); + point.y += who.getTop(); + point.x -= who.getScrollX(); + point.y -= who.getScrollY(); + if (who != parent + && who.getParent() instanceof View) { + relativeTo(parent, (View) who.getParent(), point); + } + return point; + } + } } From 19b6763a23fe0a631b1c1d999e4e6d91793916ed Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Tue, 9 Jun 2020 15:23:06 +0300 Subject: [PATCH 09/52] Link title sample --- .../markwon/sample/core/CoreActivity.java | 66 ++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java b/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java index c191a59e..a8625d59 100644 --- a/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java +++ b/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java @@ -2,6 +2,8 @@ package io.noties.markwon.sample.core; import android.os.Bundle; import android.text.Spanned; +import android.util.Log; +import android.view.View; import android.widget.TextView; import android.widget.Toast; @@ -10,14 +12,20 @@ import androidx.annotation.Nullable; import org.commonmark.node.Block; import org.commonmark.node.BlockQuote; +import org.commonmark.node.Link; import org.commonmark.node.Node; import org.commonmark.parser.Parser; import java.util.Set; import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.LinkResolver; import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.core.CorePlugin; +import io.noties.markwon.core.CoreProps; +import io.noties.markwon.core.MarkwonTheme; +import io.noties.markwon.core.spans.LinkSpan; import io.noties.markwon.movement.MovementMethodPlugin; import io.noties.markwon.sample.ActivityWithMenuOptions; import io.noties.markwon.sample.MenuOptions; @@ -37,7 +45,8 @@ public class CoreActivity extends ActivityWithMenuOptions { .add("enabledBlockTypes", this::enabledBlockTypes) .add("implicitMovementMethod", this::implicitMovementMethod) .add("explicitMovementMethod", this::explicitMovementMethod) - .add("explicitMovementMethodPlugin", this::explicitMovementMethodPlugin); + .add("explicitMovementMethodPlugin", this::explicitMovementMethodPlugin) + .add("linkTitle", this::linkTitle); } @Override @@ -212,4 +221,59 @@ public class CoreActivity extends ActivityWithMenuOptions { markwon.setMarkdown(textView, md); } + + private void linkTitle() { + final String md = "" + + "# Links\n\n" + + "[link title](#)"; + + final Markwon markwon = Markwon.builder(this) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureSpansFactory(@NonNull MarkwonSpansFactory.Builder builder) { + builder.setFactory(Link.class, (configuration, props) -> + new ClickSelfSpan( + configuration.theme(), + CoreProps.LINK_DESTINATION.require(props), + configuration.linkResolver() + ) + ); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } + + private static class ClickSelfSpan extends LinkSpan { + + ClickSelfSpan( + @NonNull MarkwonTheme theme, + @NonNull String link, + @NonNull LinkResolver resolver) { + super(theme, link, resolver); + } + + @Override + public void onClick(View widget) { + Log.e("CLICK", "title: '" + linkTitle(widget) + "'"); + super.onClick(widget); + } + + @Nullable + private CharSequence linkTitle(@NonNull View widget) { + if (!(widget instanceof TextView)) { + return null; + } + final Spanned spanned = (Spanned) ((TextView) widget).getText(); + final int start = spanned.getSpanStart(this); + final int end = spanned.getSpanEnd(this); + + if (start < 0 || end < 0) { + return null; + } + + return spanned.subSequence(start, end); + } + } } From 93472087460d56ac494aba0f6d90b0e351bf218b Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Tue, 9 Jun 2020 15:47:22 +0300 Subject: [PATCH 10/52] AsyncDrawable remove deprecated hasKnownDimentions --- CHANGELOG.md | 3 +++ .../java/io/noties/markwon/image/AsyncDrawable.java | 11 ----------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8eddc98..b8f19b47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,9 @@ #### Deprecated * `core` - `MovementMethodPlugin.create()` use explicit `MovementMethodPlugin.link()` instead +#### Removed +* `image` - `AsyncDrawable#hasKnownDimentions` (deprecated in `4.2.1`) + [#235]: https://github.com/noties/Markwon/issues/235 [#259]: https://github.com/noties/Markwon/issues/259 diff --git a/markwon-core/src/main/java/io/noties/markwon/image/AsyncDrawable.java b/markwon-core/src/main/java/io/noties/markwon/image/AsyncDrawable.java index 8447110a..686ecd25 100644 --- a/markwon-core/src/main/java/io/noties/markwon/image/AsyncDrawable.java +++ b/markwon-core/src/main/java/io/noties/markwon/image/AsyncDrawable.java @@ -70,17 +70,6 @@ public class AsyncDrawable extends Drawable { return imageSizeResolver; } - /** - * @see #hasKnownDimensions() - * @since 4.0.0 - * @deprecated 4.2.1 - */ - @SuppressWarnings({"unused", "WeakerAccess"}) - @Deprecated - public boolean hasKnownDimentions() { - return canvasWidth > 0; - } - /** * @since 4.2.1 */ From 1ba2da37574c91029bc603820b34ae4382e1b3fb Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Tue, 9 Jun 2020 17:04:27 +0300 Subject: [PATCH 11/52] AsyncDrawable resume Animatable if was playing before --- CHANGELOG.md | 3 ++ .../noties/markwon/image/AsyncDrawable.java | 39 ++++++++++++++++--- sample/build.gradle | 1 + .../sample/recycler/RecyclerActivity.java | 11 +++++- 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8f19b47..be426a6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ #### Changed * `html` - `SimpleTagHandler` visits children tags if supplied tag is block one ([#235]) * `inline-parser` - `BangInlineProcessor` properly returns `null` if no image node is found (possible to define other inline parsers that use `!` as special character) +* `image` - `AsyncDrawable` won't trigger loading if it has result (aim: `RecyclerView` due to multiple attach/detach events of a View) +* `image` - `AsyncDrawable` will resume result if it is `Animatable` and was playing before detach event (aim: `RecyclerView`) ([#241]) #### Fixed * `image-glide` cache `RequestManager` in `GlideImagesPlugin#create(Context)` factory method ([#259]) @@ -20,6 +22,7 @@ * `image` - `AsyncDrawable#hasKnownDimentions` (deprecated in `4.2.1`) [#235]: https://github.com/noties/Markwon/issues/235 +[#241]: https://github.com/noties/Markwon/issues/241 [#259]: https://github.com/noties/Markwon/issues/259 diff --git a/markwon-core/src/main/java/io/noties/markwon/image/AsyncDrawable.java b/markwon-core/src/main/java/io/noties/markwon/image/AsyncDrawable.java index 686ecd25..330403b8 100644 --- a/markwon-core/src/main/java/io/noties/markwon/image/AsyncDrawable.java +++ b/markwon-core/src/main/java/io/noties/markwon/image/AsyncDrawable.java @@ -18,6 +18,9 @@ public class AsyncDrawable extends Drawable { private final ImageSize imageSize; private final ImageSizeResolver imageSizeResolver; + // @since $nap; + private final Drawable placeholder; + private Drawable result; private Callback callback; @@ -27,6 +30,10 @@ public class AsyncDrawable extends Drawable { // @since 2.0.1 for use-cases when image is loaded faster than span is drawn and knows canvas width private boolean waitingForDimensions; + // @since $nap; in case if result is Animatable and this drawable was detached, we + // keep the state to resume when we are going to be attached again (when used in RecyclerView) + private boolean wasPlayingBefore = false; + /** * @since 1.0.1 */ @@ -41,7 +48,7 @@ public class AsyncDrawable extends Drawable { this.imageSizeResolver = imageSizeResolver; this.imageSize = imageSize; - final Drawable placeholder = loader.placeholder(this); + final Drawable placeholder = this.placeholder = loader.placeholder(this); if (placeholder != null) { setPlaceholderResult(placeholder); } @@ -99,7 +106,6 @@ public class AsyncDrawable extends Drawable { return result; } - @SuppressWarnings("WeakerAccess") public boolean hasResult() { return result != null; } @@ -108,8 +114,6 @@ public class AsyncDrawable extends Drawable { return getCallback() != null; } - // yeah - @SuppressWarnings("WeakerAccess") public void setCallback2(@Nullable Callback cb) { // @since 4.2.1 @@ -132,7 +136,21 @@ public class AsyncDrawable extends Drawable { result.setCallback(callback); } - loader.load(this); + // @since $nap; we trigger loading only if we have no result (and result is not placeholder) + final boolean shouldLoad = result == null || result == placeholder; + + if (result != null) { + result.setCallback(callback); + + // @since $nap; + if (result instanceof Animatable && wasPlayingBefore) { + ((Animatable) result).start(); + } + } + + if (shouldLoad) { + loader.load(this); + } } else { if (result != null) { @@ -140,9 +158,14 @@ public class AsyncDrawable extends Drawable { // let's additionally stop if it Animatable if (result instanceof Animatable) { - ((Animatable) result).stop(); + final Animatable animatable = (Animatable) result; + final boolean isPlaying = wasPlayingBefore = animatable.isRunning(); + if (isPlaying) { + animatable.stop(); + } } } + loader.cancel(this); } } @@ -206,6 +229,9 @@ public class AsyncDrawable extends Drawable { public void setResult(@NonNull Drawable result) { + // @since $nap; revert this flag when we have new source + wasPlayingBefore = false; + // if we have previous one, detach it if (this.result != null) { this.result.setCallback(null); @@ -250,6 +276,7 @@ public class AsyncDrawable extends Drawable { waitingForDimensions = false; final Rect bounds = resolveBounds(); + result.setBounds(bounds); // @since 4.2.1, we set callback after bounds are resolved // to reduce number of invalidations diff --git a/sample/build.gradle b/sample/build.gradle index b87cab5e..81d14d9e 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -60,6 +60,7 @@ dependencies { implementation it['debug'] implementation it['adapt'] implementation it['android-svg'] + implementation it['android-gif'] } deps['annotationProcessor'].with { diff --git a/sample/src/main/java/io/noties/markwon/sample/recycler/RecyclerActivity.java b/sample/src/main/java/io/noties/markwon/sample/recycler/RecyclerActivity.java index c1424e6d..3d73de6d 100644 --- a/sample/src/main/java/io/noties/markwon/sample/recycler/RecyclerActivity.java +++ b/sample/src/main/java/io/noties/markwon/sample/recycler/RecyclerActivity.java @@ -3,12 +3,14 @@ package io.noties.markwon.sample.recycler; import android.app.Activity; import android.content.Context; import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.text.TextPaint; import android.text.TextUtils; import android.text.style.CharacterStyle; import android.text.style.UpdateAppearance; +import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -87,8 +89,11 @@ public class RecyclerActivity extends Activity { plugin .addSchemeHandler(FileSchemeHandler.createWithAssets(context)) .addSchemeHandler(OkHttpNetworkSchemeHandler.create()) - .addMediaDecoder(SvgMediaDecoder.create()) - .placeholderProvider(drawable -> new ColorDrawable(0xFFff0000)); + .placeholderProvider(drawable -> { + final Drawable placeholder = new ColorDrawable(0xFFff0000); + placeholder.setBounds(0, 0, 100, 100); + return placeholder; + }); })) // .usePlugin(PicassoImagesPlugin.create(context)) // .usePlugin(GlideImagesPlugin.create(context)) @@ -122,6 +127,8 @@ public class RecyclerActivity extends Activity { // `RemoveUnderlineSpan` will be added AFTER original, thus it will remove underline applied by original builder.appendFactory(Link.class, (configuration, props) -> new RemoveUnderlineSpan()); } + + }) .build(); } From 07310127be8b0908e7bf09d5c4054222e8ef4d02 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Tue, 9 Jun 2020 12:39:39 +0300 Subject: [PATCH 12/52] Add initial design file --- art/sample-app.epgz | Bin 0 -> 146734 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 art/sample-app.epgz diff --git a/art/sample-app.epgz b/art/sample-app.epgz new file mode 100644 index 0000000000000000000000000000000000000000..90c74c7cad96049d2a430667353ae259a7c6983b GIT binary patch literal 146734 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

d`q52Jio`l!0!(fHDf7D&%fVZ~% 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 S|33bMAO9Ct(sbegQUw5sa5hE& literal 0 HcmV?d00001 From 05b78e936b53fa74fa7eee68ade8fb9f72789426 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Thu, 11 Jun 2020 17:12:22 +0300 Subject: [PATCH 13/52] Sample, read more plugin --- .../basicplugins/BasicPluginsActivity.java | 16 +- .../sample/basicplugins/ReadMorePlugin.java | 180 ++++++++++++++++++ .../main/res/layout/activity_text_view.xml | 2 +- 3 files changed, 196 insertions(+), 2 deletions(-) create mode 100644 sample/src/main/java/io/noties/markwon/sample/basicplugins/ReadMorePlugin.java diff --git a/sample/src/main/java/io/noties/markwon/sample/basicplugins/BasicPluginsActivity.java b/sample/src/main/java/io/noties/markwon/sample/basicplugins/BasicPluginsActivity.java index 21ba2bad..a7b2fd7d 100644 --- a/sample/src/main/java/io/noties/markwon/sample/basicplugins/BasicPluginsActivity.java +++ b/sample/src/main/java/io/noties/markwon/sample/basicplugins/BasicPluginsActivity.java @@ -30,6 +30,7 @@ import io.noties.markwon.SoftBreakAddsNewLinePlugin; import io.noties.markwon.core.CoreProps; import io.noties.markwon.core.MarkwonTheme; import io.noties.markwon.core.spans.LastLineSpacingSpan; +import io.noties.markwon.ext.tables.TablePlugin; import io.noties.markwon.image.ImageItem; import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.SchemeHandler; @@ -61,7 +62,8 @@ public class BasicPluginsActivity extends ActivityWithMenuOptions { .add("allBlocksNoForcedLine", this::allBlocksNoForcedLine) .add("anchor", this::anchor) .add("letterOrderedList", this::letterOrderedList) - .add("tableOfContents", this::tableOfContents); + .add("tableOfContents", this::tableOfContents) + .add("readMore", this::readMore); } @Override @@ -463,4 +465,16 @@ public class BasicPluginsActivity extends ActivityWithMenuOptions { // .build(); // markwon.setMarkdown(textView, md); // } + + private void readMore() { + final String md = "" + + "Lorem **ipsum** ![dolor](https://avatars2.githubusercontent.com/u/30618885?s=460&v=4) sit amet, consectetur adipiscing elit. Morbi vitae enim ut sem aliquet ultrices. Nunc a accumsan orci. Suspendisse tortor ante, lacinia ac scelerisque sed, dictum eget metus. Morbi ante augue, tristique eget quam in, vestibulum rutrum lacus. Nulla aliquam auctor cursus. Nulla at lacus condimentum, viverra lacus eget, sollicitudin ex. Cras efficitur leo dui, sit amet rutrum tellus venenatis et. Sed in facilisis libero. Etiam ultricies, nulla ut venenatis tincidunt, tortor erat tristique ante, non aliquet massa arcu eget nisl. Etiam gravida erat ante, sit amet lobortis mauris commodo nec. Praesent vitae sodales quam. Vivamus condimentum porta suscipit. Donec posuere id felis ac scelerisque. Vestibulum lacinia et leo id lobortis. Sed vitae dolor nec ligula dapibus finibus vel eu libero. Nam tincidunt maximus elit, sit amet tincidunt lacus laoreet malesuada.\n\n" + + "here we ![are](https://avatars2.githubusercontent.com/u/30618885?s=460&v=4)"; + final Markwon markwon = Markwon.builder(this) + .usePlugin(ImagesPlugin.create()) + .usePlugin(TablePlugin.create(this)) + .usePlugin(new ReadMorePlugin()) + .build(); + markwon.setMarkdown(textView, md); + } } diff --git a/sample/src/main/java/io/noties/markwon/sample/basicplugins/ReadMorePlugin.java b/sample/src/main/java/io/noties/markwon/sample/basicplugins/ReadMorePlugin.java new file mode 100644 index 00000000..793daf06 --- /dev/null +++ b/sample/src/main/java/io/noties/markwon/sample/basicplugins/ReadMorePlugin.java @@ -0,0 +1,180 @@ +package io.noties.markwon.sample.basicplugins; + +import android.text.SpannableStringBuilder; +import android.text.Spanned; +import android.text.style.ClickableSpan; +import android.text.style.ReplacementSpan; +import android.view.View; +import android.widget.TextView; + +import androidx.annotation.NonNull; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.ext.tables.TablePlugin; +import io.noties.markwon.image.ImagesPlugin; + +/** + * Read more plugin based on text length. It is easier to implement than lines (need to adjust + * last line to include expand/collapse text). + */ +public class ReadMorePlugin extends AbstractMarkwonPlugin { + + @SuppressWarnings("FieldCanBeLocal") + private final int maxLength = 150; + + @SuppressWarnings("FieldCanBeLocal") + private final String labelMore = "Show more..."; + + @SuppressWarnings("FieldCanBeLocal") + private final String labelLess = "...Show less"; + + @Override + public void configure(@NonNull Registry registry) { + // establish connections with all _dynamic_ content that your markdown supports, + // like images, tables, latex, etc + registry.require(ImagesPlugin.class); + registry.require(TablePlugin.class); + } + + @Override + public void afterSetText(@NonNull TextView textView) { + final CharSequence text = textView.getText(); + if (text.length() < maxLength) { + // everything is OK, no need to ellipsize) + return; + } + + final int breakAt = breakTextAt(text, 0, maxLength); + final CharSequence cs = createCollapsedString(text, 0, breakAt); + textView.setText(cs); + } + + @SuppressWarnings("SameParameterValue") + @NonNull + private CharSequence createCollapsedString(@NonNull CharSequence text, int start, int end) { + final SpannableStringBuilder builder = new SpannableStringBuilder(text, start, end); + + // NB! each table row is represented as a space character and new-line (so length=2) no + // matter how many characters are inside table cells + + // we can _clean_ this builder, for example remove all dynamic content (like images and tables, + // but keep them in full/expanded version) + //noinspection ConstantConditions + if (true) { + // it is an implementation detail but _mostly_ dynamic content is implemented as + // ReplacementSpans + final ReplacementSpan[] spans = builder.getSpans(0, builder.length(), ReplacementSpan.class); + if (spans != null) { + for (ReplacementSpan span : spans) { + builder.removeSpan(span); + } + } + + // NB! if there will be a table in _preview_ (collapsed) then each row will be represented as a + // space and new-line + trim(builder); + } + + final CharSequence fullText = createFullText(text, builder); + + builder.append(' '); + + final int length = builder.length(); + builder.append(labelMore); + builder.setSpan(new ClickableSpan() { + @Override + public void onClick(@NonNull View widget) { + ((TextView) widget).setText(fullText); + } + }, length, builder.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + + return builder; + } + + @NonNull + private CharSequence createFullText(@NonNull CharSequence text, @NonNull CharSequence collapsedText) { + // full/expanded text can also be different, + // for example it can be kept as-is and have no `collapse` functionality (once expanded cannot collapse) + // or can contain collapse feature + final CharSequence fullText; + //noinspection ConstantConditions + if (true) { + // for example let's allow collapsing + final SpannableStringBuilder builder = new SpannableStringBuilder(text); + builder.append(' '); + + final int length = builder.length(); + builder.append(labelLess); + builder.setSpan(new ClickableSpan() { + @Override + public void onClick(@NonNull View widget) { + ((TextView) widget).setText(collapsedText); + } + }, length, builder.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + + fullText = builder; + } else { + fullText = text; + } + + return fullText; + } + + private static void trim(@NonNull SpannableStringBuilder builder) { + + // NB! tables use `\u00a0` (non breaking space) which is not reported as white-space + + char c; + + for (int i = 0, length = builder.length(); i < length; i++) { + c = builder.charAt(i); + if (!Character.isWhitespace(c) && c != '\u00a0') { + if (i > 0) { + builder.replace(0, i, ""); + } + break; + } + } + + for (int i = builder.length() - 1; i >= 0; i--) { + c = builder.charAt(i); + if (!Character.isWhitespace(c) && c != '\u00a0') { + if (i < builder.length() - 1) { + builder.replace(i, builder.length(), ""); + } + break; + } + } + } + + // depending on your locale these can be different + // There is a BreakIterator in Android, but it is not reliable, still theoretically + // it should work better than hand-written and hardcoded rules + @SuppressWarnings("SameParameterValue") + private static int breakTextAt(@NonNull CharSequence text, int start, int max) { + + int last = start; + + // no need to check for _start_ (anyway will be ignored) + for (int i = start + max - 1; i > start; i--) { + final char c = text.charAt(i); + if (Character.isWhitespace(c) + || c == '.' + || c == ',' + || c == '!' + || c == '?') { + // include this special character + last = i - 1; + break; + } + } + + if (last <= start) { + // when used in subSequence last index is exclusive, + // so given max=150 would result in 0-149 subSequence + return start + max; + } + + return last; + } +} diff --git a/sample/src/main/res/layout/activity_text_view.xml b/sample/src/main/res/layout/activity_text_view.xml index dcbe4d67..318cb3b2 100644 --- a/sample/src/main/res/layout/activity_text_view.xml +++ b/sample/src/main/res/layout/activity_text_view.xml @@ -11,10 +11,10 @@ android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="wrap_content" + android:padding="8dip" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#000" android:textSize="16sp" - android:padding="8dip" tools:text="whatever" /> \ No newline at end of file From cd7aae7c9e431713dc9e6d9474fdeb722ecdaf07 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Thu, 11 Jun 2020 19:14:53 +0300 Subject: [PATCH 14/52] Working with new sample application --- app-sample/build.gradle | 50 ++++++++++++++ app-sample/src/main/AndroidManifest.xml | 24 +++++++ .../main/java/io/noties/markwon/app/App.java | 16 +++++ .../io/noties/markwon/app/MainActivity.java | 16 +++++ .../main/java/io/noties/markwon/app/Test.java | 15 ++++ .../res/drawable/ic_launcher_background.xml | 24 +++++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 ++ .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 ++ .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4557 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 3639 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2760 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 2078 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 6349 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 4773 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 10360 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 9285 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 14303 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 11222 bytes app-sample/src/main/res/values/colors.xml | 4 ++ app-sample/src/main/res/values/strings.xml | 4 ++ app-sample/src/main/res/values/styles.xml | 8 +++ art/sample-app.epgz | Bin 146734 -> 172084 bytes .../sample/annotations/MarkwonArtifact.java | 21 ++++++ .../sample/annotations/MarkwonSample.java | 30 ++++++++ sample-utils/processor/build.gradle | 12 ++++ .../processor/MarkwonSampleProcessor.java | 65 ++++++++++++++++++ .../javax.annotation.processing.Processor | 1 + settings.gradle | 3 + 28 files changed, 303 insertions(+) create mode 100644 app-sample/build.gradle create mode 100644 app-sample/src/main/AndroidManifest.xml create mode 100644 app-sample/src/main/java/io/noties/markwon/app/App.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/MainActivity.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/Test.java create mode 100644 app-sample/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app-sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app-sample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app-sample/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app-sample/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 app-sample/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app-sample/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 app-sample/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app-sample/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 app-sample/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app-sample/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 app-sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app-sample/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 app-sample/src/main/res/values/colors.xml create mode 100644 app-sample/src/main/res/values/strings.xml create mode 100644 app-sample/src/main/res/values/styles.xml create mode 100644 sample-utils/annotations/io/noties/markwon/sample/annotations/MarkwonArtifact.java create mode 100644 sample-utils/annotations/io/noties/markwon/sample/annotations/MarkwonSample.java create mode 100644 sample-utils/processor/build.gradle create mode 100644 sample-utils/processor/src/main/java/io/noties/markwon/sample/processor/MarkwonSampleProcessor.java create mode 100644 sample-utils/processor/src/main/resources/META-INF/services/javax.annotation.processing.Processor diff --git a/app-sample/build.gradle b/app-sample/build.gradle new file mode 100644 index 00000000..a63d63f0 --- /dev/null +++ b/app-sample/build.gradle @@ -0,0 +1,50 @@ +apply plugin: 'com.android.application' + +android { + + compileSdkVersion config['compile-sdk'] + buildToolsVersion config['build-tools'] + + defaultConfig { + applicationId 'io.noties.markwon.app' + minSdkVersion 23 + targetSdkVersion config['target-sdk'] + versionCode 1 + versionName version + + resConfig 'en' + + javaCompileOptions { + annotationProcessorOptions { + arguments = [ + // cannot cast GString... + // cannot use `-` + 'markwon.samples.file': "\"${projectDir}/samples.json\"".toString() + ] + } + } + } + + dexOptions { + preDexLibraries true + javaMaxHeapSize '5g' + } + + compileOptions { + targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_1_8 + } + + sourceSets { + main { + java.srcDirs += '../sample-utils/annotations' + } + } + + +} + +dependencies { + implementation 'io.noties:debug:5.1.0' + annotationProcessor project(':sample-utils:processor') +} diff --git a/app-sample/src/main/AndroidManifest.xml b/app-sample/src/main/AndroidManifest.xml new file mode 100644 index 00000000..eed3ca3b --- /dev/null +++ b/app-sample/src/main/AndroidManifest.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/App.java b/app-sample/src/main/java/io/noties/markwon/app/App.java new file mode 100644 index 00000000..22d93c21 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/App.java @@ -0,0 +1,16 @@ +package io.noties.markwon.app; + +import android.app.Application; + +import io.noties.debug.AndroidLogDebugOutput; +import io.noties.debug.Debug; + +public class App extends Application { + + @Override + public void onCreate() { + super.onCreate(); + + Debug.init(new AndroidLogDebugOutput(true)); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/MainActivity.java b/app-sample/src/main/java/io/noties/markwon/app/MainActivity.java new file mode 100644 index 00000000..301fe240 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/MainActivity.java @@ -0,0 +1,16 @@ +package io.noties.markwon.app; + +import android.app.Activity; +import android.os.Bundle; + +import androidx.annotation.Nullable; + +public class MainActivity extends Activity { + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/Test.java b/app-sample/src/main/java/io/noties/markwon/app/Test.java new file mode 100644 index 00000000..d9c61e70 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/Test.java @@ -0,0 +1,15 @@ +package io.noties.markwon.app; + +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSample; + +@MarkwonSample( + id = "202006163161416", + title = "The first sample title", + description = "This is description", + artifacts = {MarkwonArtifact.CORE, MarkwonArtifact.EDITOR}, + tags = "none" +) +public class Test { + +} diff --git a/app-sample/src/main/res/drawable/ic_launcher_background.xml b/app-sample/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..49c86ecb --- /dev/null +++ b/app-sample/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,24 @@ + + + + diff --git a/app-sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app-sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..c4a603d4 --- /dev/null +++ b/app-sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app-sample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..c4a603d4 --- /dev/null +++ b/app-sample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/mipmap-hdpi/ic_launcher.png b/app-sample/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..fdd31819a108bca7f12e3d2d8506dd2077576ad1 GIT binary patch literal 4557 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 literal 0 HcmV?d00001 diff --git a/app-sample/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app-sample/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..c787da34de01310b719ffea3c76372425d4eb930 GIT binary patch literal 3639 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 literal 0 HcmV?d00001 diff --git a/app-sample/src/main/res/mipmap-xhdpi/ic_launcher.png b/app-sample/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c11d8df71f9276a3405c20f86a9058fc9cd80a2a GIT binary patch literal 6349 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 P00000NkvXXu0mjfi~4Cw literal 0 HcmV?d00001 diff --git a/app-sample/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app-sample/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..d36bf1df62285b7c9e0a290aa08d3bcd91cca276 GIT binary patch literal 4773 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%0DFb3Y$-3poczd<1nwBr3jGa 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 literal 0 HcmV?d00001 diff --git a/app-sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app-sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..5d9f00fc018ef7c69028f1bf0de8ac41c3519884 GIT binary patch literal 14303 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 literal 0 HcmV?d00001 diff --git a/app-sample/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app-sample/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..373335470f045520f3fbe2b761924442b607f5d8 GIT binary patch literal 11222 zcmd^l_fykN)bBSmX^LGC1r$+`DouJ(K}h*;&wlomh1s2>+~>Ig061!RSI-gv zKy`;-P7Y>Ex0&2^0FcZ#)YG*N#SYrZnP_I^SvgnSVwut5Y z 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

^kksu~?UjMMQgEdjO_Rex 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 Xp@!Z0YRYyGl{C~h)2qGZ8uxzylAd78 literal 0 HcmV?d00001 diff --git a/app-sample/src/main/res/values/colors.xml b/app-sample/src/main/res/values/colors.xml new file mode 100644 index 00000000..d9cb06d5 --- /dev/null +++ b/app-sample/src/main/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #5CB85C + \ No newline at end of file diff --git a/app-sample/src/main/res/values/strings.xml b/app-sample/src/main/res/values/strings.xml new file mode 100644 index 00000000..74a01aa0 --- /dev/null +++ b/app-sample/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + Markwon + \ No newline at end of file diff --git a/app-sample/src/main/res/values/styles.xml b/app-sample/src/main/res/values/styles.xml new file mode 100644 index 00000000..955c5cc3 --- /dev/null +++ b/app-sample/src/main/res/values/styles.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/art/ic_hash_white_24dp.svg b/art/ic_hash_white_24dp.svg new file mode 100644 index 00000000..a0c06ae2 --- /dev/null +++ b/art/ic_hash_white_24dp.svg @@ -0,0 +1,64 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/art/sample-app.epgz b/art/sample-app.epgz index f3f3783165f320deea7a7869a57b9cb0e266394f..10314e1fd7a4c0191127523f7e32afd4c2c7f9be 100644 GIT binary patch delta 159353 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π-m*ozl|7`(&_H91ocYm2BWGV*%^oga?P>_) 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ƍ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 delta 159320 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 Date: Thu, 18 Jun 2020 15:39:21 +0300 Subject: [PATCH 18/52] Sample app, bind list results, search --- app-sample/build.gradle | 16 +- .../debug/res/layout/flowlayout_preview.xml | 166 ++++++++++ .../main/java/io/noties/markwon/app/App.kt | 8 + .../io/noties/markwon/app/MainActivity.kt | 58 +--- .../io/noties/markwon/app/MarkwonSample.kt | 5 - .../app/{MarkwonSampleItem.kt => Sample.kt} | 7 +- .../io/noties/markwon/app/SampleManager.kt | 71 +++++ .../io/noties/markwon/app/SampleSearch.kt | 13 + .../noties/markwon/app/adapt/ArtifactItem.kt | 22 -- .../io/noties/markwon/app/adapt/SampleItem.kt | 125 ++++---- .../io/noties/markwon/app/base/FlowLayout.kt | 73 ++++- .../io/noties/markwon/app/base/SearchBar.kt | 10 + .../noties/markwon/app/samples/FirstSample.kt | 2 +- .../io/noties/markwon/app/ui/MarkwonSample.kt | 5 + .../noties/markwon/app/ui/SampleFragment.kt | 20 ++ .../markwon/app/ui/SampleListFragment.kt | 288 ++++++++++++++++++ .../io/noties/markwon/app/utils/AdaptUtils.kt | 16 + .../noties/markwon/app/utils/Cancellable.kt | 7 + .../noties/markwon/app/utils/SampleUtils.java | 37 +++ .../noties/markwon/app/utils/SampleUtilsKt.kt | 9 + .../io/noties/markwon/app/utils/ViewUtils.kt | 17 +- app-sample/src/main/res/anim/screen_in.xml | 13 + .../src/main/res/anim/screen_in_pop.xml | 13 + app-sample/src/main/res/anim/screen_out.xml | 13 + .../src/main/res/anim/screen_out_pop.xml | 13 + .../src/main/res/drawable/bg_search_bar.xml | 5 + .../src/main/res/drawable/bg_splash.xml | 14 + .../res/drawable/ic_arrow_back_white_24dp.xml | 5 + .../src/main/res/layout/adapt_artifact.xml | 17 -- .../src/main/res/layout/adapt_sample.xml | 108 ++++--- ...vity_main.xml => fragment_sample_list.xml} | 37 ++- .../src/main/res/layout/sample_text_view.xml | 23 ++ .../src/main/res/layout/view_artifact.xml | 6 + .../src/main/res/layout/view_search_bar.xml | 7 +- app-sample/src/main/res/layout/view_tag.xml | 6 + app-sample/src/main/res/values/attrs.xml | 10 + app-sample/src/main/res/values/colors.xml | 6 +- app-sample/src/main/res/values/dimens.xml | 1 + app-sample/src/main/res/values/ids.xml | 4 + app-sample/src/main/res/values/styles.xml | 18 +- build.gradle | 4 +- gradle/wrapper/gradle-wrapper.properties | 3 +- .../sample/annotations/MarkwonArtifact.java | 11 +- 43 files changed, 1100 insertions(+), 212 deletions(-) create mode 100644 app-sample/src/debug/res/layout/flowlayout_preview.xml delete mode 100644 app-sample/src/main/java/io/noties/markwon/app/MarkwonSample.kt rename app-sample/src/main/java/io/noties/markwon/app/{MarkwonSampleItem.kt => Sample.kt} (71%) create mode 100644 app-sample/src/main/java/io/noties/markwon/app/SampleManager.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/SampleSearch.kt delete mode 100644 app-sample/src/main/java/io/noties/markwon/app/adapt/ArtifactItem.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/ui/SampleListFragment.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/utils/AdaptUtils.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/utils/Cancellable.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtils.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt create mode 100644 app-sample/src/main/res/anim/screen_in.xml create mode 100644 app-sample/src/main/res/anim/screen_in_pop.xml create mode 100644 app-sample/src/main/res/anim/screen_out.xml create mode 100644 app-sample/src/main/res/anim/screen_out_pop.xml create mode 100644 app-sample/src/main/res/drawable/bg_search_bar.xml create mode 100644 app-sample/src/main/res/drawable/bg_splash.xml create mode 100644 app-sample/src/main/res/drawable/ic_arrow_back_white_24dp.xml delete mode 100644 app-sample/src/main/res/layout/adapt_artifact.xml rename app-sample/src/main/res/layout/{activity_main.xml => fragment_sample_list.xml} (50%) create mode 100644 app-sample/src/main/res/layout/sample_text_view.xml create mode 100644 app-sample/src/main/res/layout/view_artifact.xml create mode 100644 app-sample/src/main/res/layout/view_tag.xml create mode 100644 app-sample/src/main/res/values/attrs.xml create mode 100644 app-sample/src/main/res/values/ids.xml diff --git a/app-sample/build.gradle b/app-sample/build.gradle index 5883ac72..9e4f0f23 100644 --- a/app-sample/build.gradle +++ b/app-sample/build.gradle @@ -1,6 +1,7 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' +apply plugin: 'kotlin-android-extensions' android { @@ -40,14 +41,23 @@ kapt { } } +androidExtensions { + features = ["parcelize"] +} + dependencies { kapt project(':sample-utils:processor') implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation project(':markwon-core') + deps.with { - api it['x-recycler-view'] - api it['adapt'] - api it['debug'] + implementation it['x-recycler-view'] + implementation it['x-cardview'] + implementation it['x-fragment'] + implementation it['gson'] + implementation it['adapt'] + implementation it['debug'] } } diff --git a/app-sample/src/debug/res/layout/flowlayout_preview.xml b/app-sample/src/debug/res/layout/flowlayout_preview.xml new file mode 100644 index 00000000..4f9f98a1 --- /dev/null +++ b/app-sample/src/debug/res/layout/flowlayout_preview.xml @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/App.kt b/app-sample/src/main/java/io/noties/markwon/app/App.kt index 0ae04ee6..444ded43 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/App.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/App.kt @@ -3,12 +3,20 @@ package io.noties.markwon.app import android.app.Application import io.noties.debug.AndroidLogDebugOutput import io.noties.debug.Debug +import java.util.concurrent.Executors +@Suppress("unused") class App : Application() { override fun onCreate() { super.onCreate() Debug.init(AndroidLogDebugOutput(BuildConfig.DEBUG)) + + sampleManager = SampleManager(this, Executors.newCachedThreadPool()) + } + + companion object { + lateinit var sampleManager: SampleManager } } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/MainActivity.kt b/app-sample/src/main/java/io/noties/markwon/app/MainActivity.kt index c265ce04..f0fc8e35 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/MainActivity.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/MainActivity.kt @@ -1,61 +1,19 @@ package io.noties.markwon.app -import android.app.Activity import android.os.Bundle -import android.view.ViewTreeObserver -import androidx.recyclerview.widget.DefaultItemAnimator -import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView -import io.noties.adapt.Adapt -import io.noties.debug.Debug -import io.noties.markwon.app.adapt.SampleItem -import io.noties.markwon.app.base.SearchBar -import io.noties.markwon.sample.annotations.MarkwonArtifact +import android.view.Window +import androidx.fragment.app.FragmentActivity +import io.noties.markwon.app.ui.SampleListFragment -class MainActivity : Activity() { +class MainActivity : FragmentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) - val searchBar: SearchBar = findViewById(R.id.search_bar) - searchBar.onSearchListener = { - Debug.i("search: '$it'") + if (supportFragmentManager.findFragmentById(Window.ID_ANDROID_CONTENT) == null) { + supportFragmentManager.beginTransaction() + .add(Window.ID_ANDROID_CONTENT, SampleListFragment.init()) + .commitNowAllowingStateLoss() } - - val recyclerView: RecyclerView = findViewById(R.id.recycler_view) - recyclerView.layoutManager = LinearLayoutManager(this) - recyclerView.itemAnimator = DefaultItemAnimator() - recyclerView.setHasFixedSize(true) - recyclerView.clipToPadding = false - - searchBar.viewTreeObserver.addOnPreDrawListener(object : ViewTreeObserver.OnPreDrawListener { - override fun onPreDraw(): Boolean { - searchBar.viewTreeObserver.removeOnPreDrawListener(this) - recyclerView.setPadding( - recyclerView.paddingLeft, - recyclerView.paddingTop + searchBar.height, - recyclerView.paddingRight, - recyclerView.paddingBottom - ) - return true - } - }) - - val adapt = Adapt.create() - recyclerView.adapter = adapt - - val list = listOf( - MarkwonSampleItem( - "first", - "1", - "Title first", - "Description her egoes and goes ang goes, so will it ever stop?", - listOf(MarkwonArtifact.CORE, MarkwonArtifact.EDITOR), - listOf("first", "second") - ) - ) - - adapt.setItems(list.map { SampleItem(it) }) } } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/MarkwonSample.kt b/app-sample/src/main/java/io/noties/markwon/app/MarkwonSample.kt deleted file mode 100644 index ed4f4d43..00000000 --- a/app-sample/src/main/java/io/noties/markwon/app/MarkwonSample.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.noties.markwon.app - -abstract class MarkwonSample { - -} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/MarkwonSampleItem.kt b/app-sample/src/main/java/io/noties/markwon/app/Sample.kt similarity index 71% rename from app-sample/src/main/java/io/noties/markwon/app/MarkwonSampleItem.kt rename to app-sample/src/main/java/io/noties/markwon/app/Sample.kt index 29942fba..5a82c7cb 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/MarkwonSampleItem.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/Sample.kt @@ -1,12 +1,15 @@ package io.noties.markwon.app +import android.os.Parcelable import io.noties.markwon.sample.annotations.MarkwonArtifact +import kotlinx.android.parcel.Parcelize -data class MarkwonSampleItem( +@Parcelize +data class Sample( val javaClassName: String, val id: String, val title: String, val description: String, val artifacts: List, val tags: List -) \ No newline at end of file +) : Parcelable \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/SampleManager.kt b/app-sample/src/main/java/io/noties/markwon/app/SampleManager.kt new file mode 100644 index 00000000..7addbabb --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/SampleManager.kt @@ -0,0 +1,71 @@ +package io.noties.markwon.app + +import android.content.Context +import io.noties.markwon.app.utils.Cancellable +import io.noties.markwon.app.utils.SampleUtils +import io.noties.markwon.sample.annotations.MarkwonArtifact +import java.util.concurrent.ExecutorService + +class SampleManager( + private val context: Context, + private val executorService: ExecutorService +) { + + private val samples: List by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { + SampleUtils.readSamples(context) + } + + fun samples(search: SampleSearch?, callback: (List) -> Unit): Cancellable { + + var action: ((List) -> Unit)? = callback + + val future = executorService.submit { + + val source = when (search) { + is SampleSearch.Artifact -> samples.filter { it.artifacts.contains(search.artifact) } + is SampleSearch.Tag -> samples.filter { it.tags.contains(search.tag) } + else -> samples.toList() // just copy all + } + + val text = search?.text + val results = if (text == null) { + // no further filtering, just return the full source here + source + } else { + source.filter { filter(it, text) } + } + + action?.invoke(results) + } + + return object : Cancellable { + override val isCancelled: Boolean + get() = future.isDone + + override fun cancel() { + action = null + future.cancel(true) + } + } + } + + // if title contains, + // if description contains, + // if tags contains + // if artifacts contains, + private fun filter(sample: Sample, text: String): Boolean { + return sample.javaClassName.contains(text, true) + || sample.title.contains(text, true) + || sample.description.contains(text, true) + || filterTags(sample.tags, text) + || filterArtifacts(sample.artifacts, text) + } + + private fun filterTags(tags: List, text: String): Boolean { + return tags.firstOrNull { it.contains(text, true) } != null + } + + private fun filterArtifacts(artifacts: List, text: String): Boolean { + return artifacts.firstOrNull { it.artifactName().contains(text, true) } != null + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/SampleSearch.kt b/app-sample/src/main/java/io/noties/markwon/app/SampleSearch.kt new file mode 100644 index 00000000..6f79aef4 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/SampleSearch.kt @@ -0,0 +1,13 @@ +package io.noties.markwon.app + +import io.noties.markwon.sample.annotations.MarkwonArtifact + +sealed class SampleSearch(val text: String?) { + class Artifact(text: String?, val artifact: MarkwonArtifact) : SampleSearch(text) + class Tag(text: String?, val tag: String) : SampleSearch(text) + class All(text: String?) : SampleSearch(text) + + override fun toString(): String { + return "SampleSearch(text=$text,type=${javaClass.simpleName})" + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/adapt/ArtifactItem.kt b/app-sample/src/main/java/io/noties/markwon/app/adapt/ArtifactItem.kt deleted file mode 100644 index 1dcfe5c0..00000000 --- a/app-sample/src/main/java/io/noties/markwon/app/adapt/ArtifactItem.kt +++ /dev/null @@ -1,22 +0,0 @@ -package io.noties.markwon.app.adapt - -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.TextView -import io.noties.adapt.Item -import io.noties.markwon.sample.annotations.MarkwonArtifact - -class ArtifactItem(artifact: MarkwonArtifact): Item(artifact.name.hashCode().toLong()) { - - override fun createHolder(inflater: LayoutInflater, parent: ViewGroup): Holder { - return Holder(inflater.inflate(0, parent, false)) - } - - override fun render(holder: Holder) { - } - - class Holder(itemView: View): Item.Holder(itemView) { - val textView: TextView = requireView(0) - } -} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt b/app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt index 9aa75ff9..64d1c605 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt @@ -1,89 +1,100 @@ package io.noties.markwon.app.adapt -import android.graphics.Color -import android.text.Spannable -import android.text.SpannableStringBuilder -import android.text.TextPaint -import android.text.method.LinkMovementMethod -import android.text.style.ClickableSpan +import android.text.Spanned import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import io.noties.adapt.Item -import io.noties.debug.Debug -import io.noties.markwon.app.MarkwonSampleItem +import io.noties.markwon.Markwon import io.noties.markwon.app.R +import io.noties.markwon.app.Sample +import io.noties.markwon.app.base.FlowLayout +import io.noties.markwon.app.utils.displayName +import io.noties.markwon.app.utils.hidden +import io.noties.markwon.app.utils.tagDisplayName import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.utils.NoCopySpannableFactory -class SampleItem(private val item: MarkwonSampleItem) : Item(item.id.hashCode().toLong()) { +class SampleItem( + private val markwon: Markwon, + private val sample: Sample, + private val onArtifactClick: (MarkwonArtifact) -> Unit, + private val onTagClick: (String) -> Unit, + private val onSampleClick: (Sample) -> Unit +) : Item(sample.id.hashCode().toLong()) { - var search: String? = null +// var search: String? = null + + private val text: Spanned by lazy(LazyThreadSafetyMode.NONE) { + markwon.toMarkdown(sample.description) + } override fun createHolder(inflater: LayoutInflater, parent: ViewGroup): Holder { - val holder = Holder(inflater.inflate(R.layout.adapt_sample, parent, false)) - holder.artifactsAndTags.movementMethod = LinkMovementMethod.getInstance() - return holder + return Holder(inflater.inflate(R.layout.adapt_sample, parent, false)).apply { + description.setSpannableFactory(NoCopySpannableFactory.getInstance()) + } } override fun render(holder: Holder) { holder.apply { - title.text = item.title - description.text = item.description - artifactsAndTags.text = buildArtifactsAndTags - } - } + title.text = sample.title - private val buildArtifactsAndTags: CharSequence - get() { - val builder = SpannableStringBuilder() - - item.artifacts - .forEach { - val length = builder.length - builder.append("\u00a0${it.name}\u00a0") - builder.setSpan(ArtifactSpan(it), length, builder.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) - } - - if (!builder.isEmpty()) { - builder.append("\n") + val text = this@SampleItem.text + if (text.isEmpty()) { + description.text = "" + description.hidden = true + } else { + markwon.setParsedMarkdown(description, text) + description.hidden = false } - item.tags - .forEach { - val length = builder.length - builder.append("\u00a0$it\u00a0") - builder.setSpan(TagSpan(it), length, builder.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) + // there is no need to display the core artifact (it is implicit), + // hide if empty (removed core) + artifacts.ensure(sample.artifacts.size, R.layout.view_artifact) + .zip(sample.artifacts) + .forEach { (view, artifact) -> + (view as TextView).text = artifact.displayName + view.setOnClickListener { + onArtifactClick(artifact) + } } - return builder + tags.ensure(sample.tags.size, R.layout.view_tag) + .zip(sample.tags) + .forEach { (view, tag) -> + (view as TextView).text = tag.tagDisplayName + view.setOnClickListener { + onTagClick(tag) + } + } + + itemView.setOnClickListener { + onSampleClick(sample) + } } + } class Holder(itemView: View) : Item.Holder(itemView) { val title: TextView = requireView(R.id.title) val description: TextView = requireView(R.id.description) - val artifactsAndTags: TextView = requireView(R.id.artifacts_and_tags) + val artifacts: FlowLayout = requireView(R.id.artifacts) + val tags: FlowLayout = requireView(R.id.tags) } +} - private class ArtifactSpan(val artifact: MarkwonArtifact) : ClickableSpan() { - override fun onClick(widget: View) { - Debug.i("clicked artifact: $artifact") +private fun FlowLayout.ensure(viewsCount: Int, layoutResId: Int): List { + if (viewsCount > childCount) { + // inflate new views + val inflater = LayoutInflater.from(context) + for (i in 0 until (viewsCount - childCount)) { + addView(inflater.inflate(layoutResId, this, false)) } - - override fun updateDrawState(ds: TextPaint) { - ds.isUnderlineText = false - ds.bgColor = Color.GREEN + } else { + // return requested vies and GONE the rest + for (i in viewsCount until childCount) { + getChildAt(i).hidden = true } } - - private class TagSpan(val tag: String) : ClickableSpan() { - override fun onClick(widget: View) { - Debug.i("clicked tag: $tag") - } - - override fun updateDrawState(ds: TextPaint) { - ds.isUnderlineText = false - ds.bgColor = Color.BLUE - } - } -} \ No newline at end of file + return (0 until viewsCount).map { getChildAt(it) } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/base/FlowLayout.kt b/app-sample/src/main/java/io/noties/markwon/app/base/FlowLayout.kt index 6aa1ad10..be8fca71 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/base/FlowLayout.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/base/FlowLayout.kt @@ -3,8 +3,25 @@ package io.noties.markwon.app.base import android.content.Context import android.util.AttributeSet import android.view.ViewGroup +import io.noties.markwon.app.R +import kotlin.math.max class FlowLayout(context: Context, attrs: AttributeSet) : ViewGroup(context, attrs) { + + private val spacingVertical: Int + private val spacingHorizontal: Int + + init { + val array = context.obtainStyledAttributes(attrs, R.styleable.FlowLayout) + try { + val spacing = array.getDimensionPixelSize(R.styleable.FlowLayout_fl_spacing, 0) + spacingVertical = array.getDimensionPixelSize(R.styleable.FlowLayout_fl_spacingVertical, spacing) + spacingHorizontal = array.getDimensionPixelSize(R.styleable.FlowLayout_fl_spacingHorizontal, spacing) + } finally { + array.recycle() + } + } + override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) { for (i in 0 until childCount) { val child = getChildAt(i) @@ -21,7 +38,61 @@ class FlowLayout(context: Context, attrs: AttributeSet) : ViewGroup(context, att } override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec) + val width = MeasureSpec.getSize(widthMeasureSpec) + + // we must have width (match_parent or exact dimension) + if (width <= 0) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec) + return + } + + val availableWidth = width - paddingLeft - paddingRight + + // child must not exceed our width + val childWidthSpec = MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.AT_MOST) + + // we also could enforce flexible height here (instead of exact one) + val childHeightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED) + + var x = 0 + var y = 0 + + var lineHeight = 0 + + for (i in 0 until childCount) { + val child = getChildAt(i) + + // measure + child.measure(childWidthSpec, childHeightSpec) + + val params = child.layoutParams as LayoutParams + val measuredWidth = child.measuredWidth + + if (measuredWidth > (availableWidth - x)) { + // new line + // make next child start at child measure width (starting at x = 0) + params.x = 0 + params.y = y + lineHeight + spacingVertical + + x = measuredWidth + spacingHorizontal + // move vertically by max value of child height on this line + y += lineHeight + spacingVertical + + lineHeight = child.measuredHeight + + } else { + // we fit this line + params.x = x + params.y = y + + x += measuredWidth + spacingHorizontal + lineHeight = max(lineHeight, child.measuredHeight) + } + } + + val height = y + lineHeight + paddingTop + paddingBottom + + setMeasuredDimension(width, height) } override fun generateDefaultLayoutParams(): ViewGroup.LayoutParams { diff --git a/app-sample/src/main/java/io/noties/markwon/app/base/SearchBar.kt b/app-sample/src/main/java/io/noties/markwon/app/base/SearchBar.kt index 6ab10838..ba4f644d 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/base/SearchBar.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/base/SearchBar.kt @@ -61,6 +61,12 @@ class SearchBar(context: Context, attrs: AttributeSet?) : LinearLayout(context, clear.setOnClickListener { textField.setText("") + // ensure that we have focus when clear is clicked + if (!textField.hasFocus()) { + textField.requestFocus() + // additionally ensure keyboard is showing + KeyboardUtils.show(textField) + } } cancel.setOnClickListener { @@ -69,6 +75,10 @@ class SearchBar(context: Context, attrs: AttributeSet?) : LinearLayout(context, } } + fun search(text: String) { + textField.setText(text) + } + private fun textFieldChanged(text: CharSequence) { val isEmpty = text.isEmpty() clear.hidden = isEmpty diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt index 20b65e25..f7c484b4 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt @@ -1,6 +1,6 @@ package io.noties.markwon.app.samples -import io.noties.markwon.app.MarkwonSample +import io.noties.markwon.app.ui.MarkwonSample import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonSampleInfo diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt b/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt new file mode 100644 index 00000000..c339bcf0 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt @@ -0,0 +1,5 @@ +package io.noties.markwon.app.ui + +abstract class MarkwonSample { + +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt new file mode 100644 index 00000000..ae5babe6 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt @@ -0,0 +1,20 @@ +package io.noties.markwon.app.ui + +import android.os.Bundle +import androidx.fragment.app.Fragment +import io.noties.markwon.app.Sample + +class SampleFragment : Fragment() { + + companion object { + private const val ARG_SAMPLE = "arg.Sample" + + fun init(sample: Sample): SampleFragment { + val fragment = SampleFragment() + fragment.arguments = Bundle().apply { + putParcelable(ARG_SAMPLE, sample) + } + return fragment + } + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleListFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/ui/SampleListFragment.kt new file mode 100644 index 00000000..57f906ca --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/ui/SampleListFragment.kt @@ -0,0 +1,288 @@ +package io.noties.markwon.app.ui + +import android.content.Context +import android.os.Bundle +import android.os.Parcelable +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.view.Window +import android.widget.ImageView +import android.widget.TextView +import androidx.fragment.app.Fragment +import androidx.recyclerview.widget.DefaultItemAnimator +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import io.noties.adapt.Adapt +import io.noties.adapt.DiffUtilDataSetChanged +import io.noties.debug.Debug +import io.noties.markwon.Markwon +import io.noties.markwon.app.App +import io.noties.markwon.app.R +import io.noties.markwon.app.Sample +import io.noties.markwon.app.SampleManager +import io.noties.markwon.app.SampleSearch +import io.noties.markwon.app.adapt.SampleItem +import io.noties.markwon.app.base.SearchBar +import io.noties.markwon.app.utils.Cancellable +import io.noties.markwon.app.utils.displayName +import io.noties.markwon.app.utils.onPreDraw +import io.noties.markwon.app.utils.recyclerView +import io.noties.markwon.app.utils.tagDisplayName +import io.noties.markwon.movement.MovementMethodPlugin +import io.noties.markwon.sample.annotations.MarkwonArtifact +import kotlinx.android.parcel.Parcelize + +class SampleListFragment : Fragment() { + + private val adapt: Adapt = Adapt.create(DiffUtilDataSetChanged.create()) + private lateinit var markwon: Markwon + + private val type: Type by lazy(LazyThreadSafetyMode.NONE) { + parseType(arguments!!) + } + + private var search: String? = null + + // postpone state restoration + private var pendingRecyclerScrollPosition: RecyclerScrollPosition? = null + + private var cancellable: Cancellable? = null + + private val sampleManager: SampleManager + get() = App.sampleManager + + override fun onAttach(context: Context?) { + super.onAttach(context) + + context?.also { + markwon = markwon(it) + } + } + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_sample_list, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + initAppBar(view) + + val context = requireContext() + + val searchBar: SearchBar = view.findViewById(R.id.search_bar) + searchBar.onSearchListener = { + search = it + fetch() + } + + val recyclerView: RecyclerView = view.findViewById(R.id.recycler_view) + recyclerView.layoutManager = LinearLayoutManager(context) + recyclerView.itemAnimator = DefaultItemAnimator() + recyclerView.setHasFixedSize(true) + recyclerView.adapter = adapt + + // additional padding for RecyclerView + searchBar.onPreDraw { + recyclerView.setPadding( + recyclerView.paddingLeft, + recyclerView.paddingTop + searchBar.height, + recyclerView.paddingRight, + recyclerView.paddingBottom + ) + } + + val state: State? = savedInstanceState?.getParcelable(STATE) + pendingRecyclerScrollPosition = state?.recyclerScrollPosition + if (state?.search != null) { + searchBar.search(state.search) + } else { + fetch() + } + } + + override fun onDestroyView() { + val cancellable = this.cancellable + if (cancellable != null && !cancellable.isCancelled) { + cancellable.cancel() + this.cancellable = null + } + super.onDestroyView() + } + + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + + val state = State( + search, + adapt.recyclerView?.scrollPosition + ) + outState.putParcelable(STATE, state) + } + + private fun initAppBar(view: View) { + val appBar = view.findViewById(R.id.app_bar) + + val appBarIcon: ImageView = appBar.findViewById(R.id.app_bar_icon) + val appBarTitle: TextView = appBar.findViewById(R.id.app_bar_title) + + val type = this.type + if (type is Type.All) { + return + } + + appBarIcon.setImageResource(R.drawable.ic_arrow_back_white_24dp) + appBarIcon.setOnClickListener { + requireActivity().onBackPressed() + } + + val (text, background) = when (type) { + is Type.Artifact -> Pair(type.artifact.displayName, R.drawable.bg_artifact) + is Type.Tag -> Pair(type.tag.tagDisplayName, R.drawable.bg_tag) + else -> error("Unexpected type: $type") + } + + appBarTitle.text = text + appBarTitle.setBackgroundResource(background) + } + + private fun bindSamples(samples: List) { + val items = samples.map { + SampleItem( + markwon, + it, + { artifact -> openArtifact(artifact) }, + { tag -> openTag(tag) }, + { sample -> openSample(sample) } + ) + } + adapt.setItems(items) + + val scrollPosition = pendingRecyclerScrollPosition + if (scrollPosition != null) { + pendingRecyclerScrollPosition = null + val recyclerView = adapt.recyclerView ?: return + recyclerView.onPreDraw { + (recyclerView.layoutManager as? LinearLayoutManager) + ?.scrollToPositionWithOffset(scrollPosition.position, scrollPosition.offset) + } + } + } + + private fun openArtifact(artifact: MarkwonArtifact) { + Debug.i(artifact) + openResultFragment(init(artifact)) + } + + private fun openTag(tag: String) { + Debug.i(tag) + openResultFragment(init(tag)) + } + + private fun openResultFragment(fragment: SampleListFragment) { + openFragment(fragment) + } + + private fun openSample(sample: Sample) { + openFragment(SampleFragment.init(sample)) + } + + private fun openFragment(fragment: Fragment) { + fragmentManager!!.beginTransaction() + .setCustomAnimations(R.anim.screen_in, R.anim.screen_out, R.anim.screen_in_pop, R.anim.screen_out_pop) + .replace(Window.ID_ANDROID_CONTENT, fragment) + .addToBackStack(null) + .commitAllowingStateLoss() + } + + private fun fetch() { + + val sampleSearch: SampleSearch = when (val type = this.type) { + is Type.Artifact -> SampleSearch.Artifact(search, type.artifact) + is Type.Tag -> SampleSearch.Tag(search, type.tag) + else -> SampleSearch.All(search) + } + + // clear current + cancellable?.let { + if (!it.isCancelled) { + it.cancel() + } + } + + cancellable = sampleManager.samples(sampleSearch) { + bindSamples(it) + } + } + + companion object { + private const val ARG_ARTIFACT = "arg.Artifact" + private const val ARG_TAG = "arg.Tag" + private const val STATE = "key.State" + + fun init(): SampleListFragment { + val fragment = SampleListFragment() + fragment.arguments = Bundle() + return fragment + } + + fun init(artifact: MarkwonArtifact): SampleListFragment { + val fragment = SampleListFragment() + fragment.arguments = Bundle().apply { + putString(ARG_ARTIFACT, artifact.name) + } + return fragment + } + + fun init(tag: String): SampleListFragment { + val fragment = SampleListFragment() + fragment.arguments = Bundle().apply { + putString(ARG_TAG, tag) + } + return fragment + } + + fun markwon(context: Context): Markwon { + return Markwon.builder(context) + .usePlugin(MovementMethodPlugin.none()) + .build() + } + + private fun parseType(arguments: Bundle): Type { + val name = arguments.getString(ARG_ARTIFACT) + val tag = arguments.getString(ARG_TAG) + return when { + name != null -> Type.Artifact(MarkwonArtifact.valueOf(name)) + tag != null -> Type.Tag(tag) + else -> Type.All + } + } + } + + @Parcelize + private data class State( + val search: String?, + val recyclerScrollPosition: RecyclerScrollPosition? + ) : Parcelable + + @Parcelize + private data class RecyclerScrollPosition( + val position: Int, + val offset: Int + ) : Parcelable + + private val RecyclerView.scrollPosition: RecyclerScrollPosition? + get() { + val holder = findViewHolderForLayoutPosition(0) ?: return null + val position = holder.adapterPosition + val offset = holder.itemView.top + return RecyclerScrollPosition(position, offset) + } + + private sealed class Type { + class Artifact(val artifact: MarkwonArtifact) : Type() + class Tag(val tag: String) : Type() + object All : Type() + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/AdaptUtils.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/AdaptUtils.kt new file mode 100644 index 00000000..0c4637e8 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/AdaptUtils.kt @@ -0,0 +1,16 @@ +package io.noties.markwon.app.utils + +import androidx.recyclerview.widget.RecyclerView +import io.noties.adapt.Adapt +import io.noties.debug.Debug + +val Adapt.recyclerView: RecyclerView? + get() { + // internally throws if recycler is not present (detached from recyclerView) + return try { + recyclerView() + } catch (t: Throwable) { + Debug.e(t) + null + } + } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/Cancellable.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/Cancellable.kt new file mode 100644 index 00000000..4f519ad4 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/Cancellable.kt @@ -0,0 +1,7 @@ +package io.noties.markwon.app.utils + +interface Cancellable { + val isCancelled: Boolean + + fun cancel() +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtils.java b/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtils.java new file mode 100644 index 00000000..2f4195e3 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtils.java @@ -0,0 +1,37 @@ +package io.noties.markwon.app.utils; + +import android.content.Context; + +import androidx.annotation.NonNull; + +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.List; + +import io.noties.markwon.app.Sample; + +public abstract class SampleUtils { + + @NonNull + public static List readSamples(@NonNull Context context) { + + final Gson gson = new Gson(); + + try (InputStream inputStream = context.getAssets().open("samples.json")) { + return gson.fromJson( + new InputStreamReader(inputStream), + new TypeToken>() { + }.getType() + ); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + private SampleUtils() { + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt new file mode 100644 index 00000000..c01f251a --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt @@ -0,0 +1,9 @@ +package io.noties.markwon.app.utils + +import io.noties.markwon.sample.annotations.MarkwonArtifact + +val MarkwonArtifact.displayName: String + get() = "@${artifactName()}" + +val String.tagDisplayName: String + get() = "#$this" \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/ViewUtils.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/ViewUtils.kt index 497ba370..b6a5e8f9 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/utils/ViewUtils.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/ViewUtils.kt @@ -3,9 +3,24 @@ package io.noties.markwon.app.utils import android.view.View import android.view.View.GONE import android.view.View.VISIBLE +import android.view.ViewTreeObserver var View.hidden: Boolean get() = visibility == GONE set(value) { visibility = if (value) GONE else VISIBLE - } \ No newline at end of file + } + +fun View.onPreDraw(action: () -> Unit) { + viewTreeObserver.addOnPreDrawListener(object : ViewTreeObserver.OnPreDrawListener { + override fun onPreDraw(): Boolean { + val vto = viewTreeObserver + if (vto.isAlive) { + vto.removeOnPreDrawListener(this) + } + action() + // do not block drawing + return true + } + }) +} \ No newline at end of file diff --git a/app-sample/src/main/res/anim/screen_in.xml b/app-sample/src/main/res/anim/screen_in.xml new file mode 100644 index 00000000..ee314aa4 --- /dev/null +++ b/app-sample/src/main/res/anim/screen_in.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/anim/screen_in_pop.xml b/app-sample/src/main/res/anim/screen_in_pop.xml new file mode 100644 index 00000000..44de9d54 --- /dev/null +++ b/app-sample/src/main/res/anim/screen_in_pop.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/anim/screen_out.xml b/app-sample/src/main/res/anim/screen_out.xml new file mode 100644 index 00000000..4ce2f3e6 --- /dev/null +++ b/app-sample/src/main/res/anim/screen_out.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/anim/screen_out_pop.xml b/app-sample/src/main/res/anim/screen_out_pop.xml new file mode 100644 index 00000000..dd168243 --- /dev/null +++ b/app-sample/src/main/res/anim/screen_out_pop.xml @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/drawable/bg_search_bar.xml b/app-sample/src/main/res/drawable/bg_search_bar.xml new file mode 100644 index 00000000..c7417ecd --- /dev/null +++ b/app-sample/src/main/res/drawable/bg_search_bar.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/drawable/bg_splash.xml b/app-sample/src/main/res/drawable/bg_splash.xml new file mode 100644 index 00000000..66e4b273 --- /dev/null +++ b/app-sample/src/main/res/drawable/bg_splash.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/drawable/ic_arrow_back_white_24dp.xml b/app-sample/src/main/res/drawable/ic_arrow_back_white_24dp.xml new file mode 100644 index 00000000..fa122e18 --- /dev/null +++ b/app-sample/src/main/res/drawable/ic_arrow_back_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app-sample/src/main/res/layout/adapt_artifact.xml b/app-sample/src/main/res/layout/adapt_artifact.xml deleted file mode 100644 index 27d5d894..00000000 --- a/app-sample/src/main/res/layout/adapt_artifact.xml +++ /dev/null @@ -1,17 +0,0 @@ - - \ No newline at end of file diff --git a/app-sample/src/main/res/layout/adapt_sample.xml b/app-sample/src/main/res/layout/adapt_sample.xml index 8499e6a7..2885673d 100644 --- a/app-sample/src/main/res/layout/adapt_sample.xml +++ b/app-sample/src/main/res/layout/adapt_sample.xml @@ -1,51 +1,87 @@ - + android:orientation="vertical" + android:paddingTop="@dimen/content_padding_half" + android:paddingEnd="@dimen/content_padding" + android:paddingBottom="@dimen/content_padding"> - - - - + android:orientation="horizontal"> + + + + + + + + + + + + + + + + + + + + + + - - - - - \ No newline at end of file + diff --git a/app-sample/src/main/res/layout/activity_main.xml b/app-sample/src/main/res/layout/fragment_sample_list.xml similarity index 50% rename from app-sample/src/main/res/layout/activity_main.xml rename to app-sample/src/main/res/layout/fragment_sample_list.xml index 9a866cab..a5c4ec48 100644 --- a/app-sample/src/main/res/layout/activity_main.xml +++ b/app-sample/src/main/res/layout/fragment_sample_list.xml @@ -7,25 +7,39 @@ android:orientation="vertical"> + android:orientation="horizontal" + tools:ignore="UseCompoundDrawables"> - + android:layout_marginEnd="@dimen/app_bar_height"> + + + + @@ -37,13 +51,18 @@ android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" - tools:translationY="56dip" /> + android:clipChildren="false" + android:clipToPadding="false" + android:overScrollMode="never" + android:paddingBottom="36dip" + tools:layout_marginTop="56dip" /> diff --git a/app-sample/src/main/res/layout/sample_text_view.xml b/app-sample/src/main/res/layout/sample_text_view.xml new file mode 100644 index 00000000..bde44965 --- /dev/null +++ b/app-sample/src/main/res/layout/sample_text_view.xml @@ -0,0 +1,23 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/layout/view_artifact.xml b/app-sample/src/main/res/layout/view_artifact.xml new file mode 100644 index 00000000..2d1e5049 --- /dev/null +++ b/app-sample/src/main/res/layout/view_artifact.xml @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/app-sample/src/main/res/layout/view_search_bar.xml b/app-sample/src/main/res/layout/view_search_bar.xml index de614f06..56a04e50 100644 --- a/app-sample/src/main/res/layout/view_search_bar.xml +++ b/app-sample/src/main/res/layout/view_search_bar.xml @@ -1,7 +1,7 @@ @@ -31,10 +32,10 @@ + \ No newline at end of file diff --git a/app-sample/src/main/res/values/attrs.xml b/app-sample/src/main/res/values/attrs.xml new file mode 100644 index 00000000..b20ac7fb --- /dev/null +++ b/app-sample/src/main/res/values/attrs.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/values/colors.xml b/app-sample/src/main/res/values/colors.xml index 7f60f058..0703abc1 100644 --- a/app-sample/src/main/res/values/colors.xml +++ b/app-sample/src/main/res/values/colors.xml @@ -6,6 +6,10 @@ #999999 #FFFFFF - #EEEEEE + @color/white #FF0000 + + #eee + #BFFFFFFF + \ No newline at end of file diff --git a/app-sample/src/main/res/values/dimens.xml b/app-sample/src/main/res/values/dimens.xml index c4f1ce17..2b409b32 100644 --- a/app-sample/src/main/res/values/dimens.xml +++ b/app-sample/src/main/res/values/dimens.xml @@ -4,6 +4,7 @@ 8dip 16dip + 4dip 36dip 36dip diff --git a/app-sample/src/main/res/values/ids.xml b/app-sample/src/main/res/values/ids.xml new file mode 100644 index 00000000..15c85d84 --- /dev/null +++ b/app-sample/src/main/res/values/ids.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/values/styles.xml b/app-sample/src/main/res/values/styles.xml index 19eec27c..e1416f34 100644 --- a/app-sample/src/main/res/values/styles.xml +++ b/app-sample/src/main/res/values/styles.xml @@ -1,11 +1,12 @@ - + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index 8d0b833d..d02d46bc 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { // on `3.5.3` tests are not run from CLI - classpath 'com.android.tools.build:gradle:3.5.2' + classpath 'com.android.tools.build:gradle:4.0.0' classpath 'com.github.ben-manes:gradle-versions-plugin:0.27.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } @@ -69,6 +69,8 @@ ext { 'x-recycler-view' : 'androidx.recyclerview:recyclerview:1.0.0', 'x-core' : 'androidx.core:core:1.0.2', 'x-appcompat' : 'androidx.appcompat:appcompat:1.1.0', + 'x-cardview' : 'androidx.cardview:cardview:1.0.0', + 'x-fragment' : 'androidx.fragment:fragment:1.0.0', 'commonmark' : "com.atlassian.commonmark:commonmark:$commonMarkVersion", 'commonmark-strikethrough': "com.atlassian.commonmark:commonmark-ext-gfm-strikethrough:$commonMarkVersion", 'commonmark-table' : "com.atlassian.commonmark:commonmark-ext-gfm-tables:$commonMarkVersion", diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 430dfabc..76c5eda1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Wed Jun 17 17:05:04 MSK 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip diff --git a/sample-utils/annotations/io/noties/markwon/sample/annotations/MarkwonArtifact.java b/sample-utils/annotations/io/noties/markwon/sample/annotations/MarkwonArtifact.java index d9abd329..dffc0da4 100644 --- a/sample-utils/annotations/io/noties/markwon/sample/annotations/MarkwonArtifact.java +++ b/sample-utils/annotations/io/noties/markwon/sample/annotations/MarkwonArtifact.java @@ -1,5 +1,9 @@ package io.noties.markwon.sample.annotations; +import androidx.annotation.NonNull; + +import java.util.Locale; + public enum MarkwonArtifact { CORE, EDITOR, @@ -17,5 +21,10 @@ public enum MarkwonArtifact { RECYCLER, RECYCLER_TABLE, SIMPLE_EXT, - SYNTAX_HIGHLIGHT + SYNTAX_HIGHLIGHT; + + @NonNull + public String artifactName() { + return name().toLowerCase(Locale.US).replace('_', '-'); + } } From 860d70d6d1bd74f682e8a3447316244f9e7c5ad2 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Thu, 25 Jun 2020 19:04:47 +0300 Subject: [PATCH 19/52] Sample app, adding and reading samples --- app-sample/samples.json | 31 +++++ app-sample/src/main/assets/samples | 1 + .../main/java/io/noties/markwon/app/Sample.kt | 9 +- .../io/noties/markwon/app/adapt/SampleItem.kt | 15 +++ .../noties/markwon/app/samples/.editorconfig | 3 + .../noties/markwon/app/samples/FirstSample.kt | 29 +++-- .../app/samples/nested/SecondSample.kt | 65 ++++++++++ .../app/samples/nested/ThirdSample.java | 22 ++++ .../io/noties/markwon/app/ui/MarkwonSample.kt | 11 ++ .../markwon/app/ui/MarkwonTextViewSample.kt | 23 ++++ .../markwon/app/ui/SampleCodeFragment.kt | 43 +++++++ .../noties/markwon/app/ui/SampleFragment.kt | 114 ++++++++++++++++++ .../markwon/app/ui/SamplePreviewFragment.kt | 38 ++++++ .../noties/markwon/app/utils/SampleUtilsKt.kt | 51 +++++++- .../markwon/app/utils/ViewGroupUtils.kt | 7 ++ .../io/noties/markwon/app/utils/ViewUtils.kt | 11 +- .../src/main/res/color/tab_bar_item.xml | 5 + .../res/drawable/ic_arrow_back_white_24dp.xml | 13 +- .../main/res/drawable/ic_close_white_24dp.xml | 4 +- .../main/res/drawable/ic_code_white_24dp.xml | 10 ++ .../drawable/ic_remove_red_eye_white_24dp.xml | 10 ++ .../res/drawable/ic_search_white_24dp.xml | 4 +- .../src/main/res/layout/fragment_sample.xml | 80 ++++++++++++ .../main/res/layout/fragment_sample_code.xml | 28 +++++ .../main/res/layout/fragment_sample_list.xml | 25 +--- .../res/layout/fragment_sample_preview.xml | 13 ++ .../src/main/res/layout/sample_text_view.xml | 2 +- app-sample/src/main/res/values/colors.xml | 3 + app-sample/src/main/res/values/dimens.xml | 3 + app-sample/src/main/res/values/ids.xml | 8 ++ app-sample/src/main/res/values/strings.xml | 3 + app-sample/src/main/res/values/styles.xml | 57 ++++++++- art/sample-app.epgz | Bin 172071 -> 172094 bytes .../processor/MarkwonSampleProcessor.java | 16 ++- 34 files changed, 714 insertions(+), 43 deletions(-) create mode 120000 app-sample/src/main/assets/samples create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/.editorconfig create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonTextViewSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/ui/SampleCodeFragment.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/ui/SamplePreviewFragment.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/utils/ViewGroupUtils.kt create mode 100644 app-sample/src/main/res/color/tab_bar_item.xml create mode 100644 app-sample/src/main/res/drawable/ic_code_white_24dp.xml create mode 100644 app-sample/src/main/res/drawable/ic_remove_red_eye_white_24dp.xml create mode 100644 app-sample/src/main/res/layout/fragment_sample.xml create mode 100644 app-sample/src/main/res/layout/fragment_sample_code.xml create mode 100644 app-sample/src/main/res/layout/fragment_sample_preview.xml diff --git a/app-sample/samples.json b/app-sample/samples.json index e1b01528..99073ffe 100644 --- a/app-sample/samples.json +++ b/app-sample/samples.json @@ -1,4 +1,35 @@ [ + { + "javaClassName": "io.noties.markwon.app.samples.nested.ThirdSample", + "id": "202006177155827", + "title": "Third sample", + "description": "\u003e yo! \n\n```\nfinal int i \u003d 0;\n```", + "artifacts": [ + "EDITOR", + "SIMPLE_EXT" + ], + "tags": [ + "a", + "c", + "test" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.nested.SecondSample", + "id": "202006177155656", + "title": "Second sample", + "description": "# Hey hey hey", + "artifacts": [ + "CORE", + "RECYCLER" + ], + "tags": [ + "a", + "b", + "c", + "test" + ] + }, { "javaClassName": "io.noties.markwon.app.samples.FirstSample", "id": "202006164150023", diff --git a/app-sample/src/main/assets/samples b/app-sample/src/main/assets/samples new file mode 120000 index 00000000..8de4a4a9 --- /dev/null +++ b/app-sample/src/main/assets/samples @@ -0,0 +1 @@ +../../main/java/io/noties/markwon/app/samples/ \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/Sample.kt b/app-sample/src/main/java/io/noties/markwon/app/Sample.kt index 5a82c7cb..ffb7c5bd 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/Sample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/Sample.kt @@ -12,4 +12,11 @@ data class Sample( val description: String, val artifacts: List, val tags: List -) : Parcelable \ No newline at end of file +) : Parcelable { + + enum class Language { + JAVA, KOTLIN + } + + data class Code(val language: Language, val sourceCode: String) +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt b/app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt index 64d1c605..c294b874 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt @@ -81,6 +81,21 @@ class SampleItem( val artifacts: FlowLayout = requireView(R.id.artifacts) val tags: FlowLayout = requireView(R.id.tags) } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as SampleItem + + if (sample != other.sample) return false + + return true + } + + override fun hashCode(): Int { + return sample.hashCode() + } } private fun FlowLayout.ensure(viewsCount: Int, layoutResId: Int): List { diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/.editorconfig b/app-sample/src/main/java/io/noties/markwon/app/samples/.editorconfig new file mode 100644 index 00000000..90da45d5 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/.editorconfig @@ -0,0 +1,3 @@ +[{*.java, *.kt}] +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt index f7c484b4..cf20d3a5 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt @@ -1,15 +1,30 @@ package io.noties.markwon.app.samples -import io.noties.markwon.app.ui.MarkwonSample +import io.noties.markwon.Markwon +import io.noties.markwon.app.ui.MarkwonTextViewSample import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonSampleInfo @MarkwonSampleInfo( - id = "202006164150023", - title = "First Sample", - description = "This **is** _the first_ sample", - artifacts = [MarkwonArtifact.CORE], - tags = ["test"] + id = "202006164150023", + title = "First Sample", + description = "This **is** _the first_ sample", + artifacts = [MarkwonArtifact.CORE], + tags = ["test"] ) -class FirstSample : MarkwonSample() { +class FirstSample : MarkwonTextViewSample() { + + override fun render() { + + val md = """ + # Hello there! + > How are you? + + **bold** and _italic_ and **bold _italic bold_ just bold** + """.trimIndent() + + val markwon: Markwon = Markwon.create(context) + + markwon.setMarkdown(textView, md) + } } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt new file mode 100644 index 00000000..c63e645e --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt @@ -0,0 +1,65 @@ +package io.noties.markwon.app.samples.nested + +import io.noties.markwon.Markwon +import io.noties.markwon.app.ui.MarkwonTextViewSample +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo + +@MarkwonSampleInfo( + id = "202006177155656", + title = "Second sample", + description = "# Hey hey hey", + artifacts = [MarkwonArtifact.CORE, MarkwonArtifact.RECYCLER], + tags = ["b", "c", "a", "test"] +) +class SecondSample : MarkwonTextViewSample() { + override fun render() { + val md = """ + # Hello second + + ```java + final int i = 0; + ``` + """.trimIndent() + + val markwon = Markwon.create(context) + markwon.setMarkdown(textView, md) + } + + val _mock: String + get() = """ + a + b + d + s + as + sd + ds + sd + s + sd + sd + ds + sd + sd + sd + sd + sd + sd + ds + sd + sd + + s + sd + sd + sd + sd + sd + + ds + sd + sd + sd + """.trimIndent() +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java new file mode 100644 index 00000000..2e7ef678 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java @@ -0,0 +1,22 @@ +package io.noties.markwon.app.samples.nested; + +import io.noties.markwon.Markwon; +import io.noties.markwon.app.ui.MarkwonTextViewSample; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006177155827", + title = "Third sample", + description = "> yo! \n\n```\nfinal int i = 0;\n```", + artifacts = {MarkwonArtifact.SIMPLE_EXT, MarkwonArtifact.EDITOR}, + tags = {"a", "c", "test"} +) +public class ThirdSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "# Hello!"; + final Markwon markwon = Markwon.create(context); + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt b/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt index c339bcf0..67b78ccb 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt @@ -1,5 +1,16 @@ package io.noties.markwon.app.ui +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup + abstract class MarkwonSample { + fun createView(inflater: LayoutInflater, container: ViewGroup?): View { + return inflater.inflate(layoutResId, container, false) + } + + abstract fun onViewCreated(view: View) + + protected abstract val layoutResId: Int } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonTextViewSample.kt b/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonTextViewSample.kt new file mode 100644 index 00000000..58c4f5c8 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonTextViewSample.kt @@ -0,0 +1,23 @@ +package io.noties.markwon.app.ui + +import android.content.Context +import android.view.View +import android.widget.TextView + +import io.noties.markwon.app.R + +abstract class MarkwonTextViewSample : MarkwonSample() { + + protected lateinit var context: Context + protected lateinit var textView: TextView + + override val layoutResId: Int = R.layout.sample_text_view + + final override fun onViewCreated(view: View) { + context = view.context + textView = view.findViewById(R.id.text_view) + render() + } + + abstract fun render() +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleCodeFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/ui/SampleCodeFragment.kt new file mode 100644 index 00000000..e2de2050 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/ui/SampleCodeFragment.kt @@ -0,0 +1,43 @@ +package io.noties.markwon.app.ui + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.fragment.app.Fragment +import io.noties.markwon.app.R +import io.noties.markwon.app.Sample +import io.noties.markwon.app.utils.readCode + +class SampleCodeFragment : Fragment() { + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_sample_code, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + val textView: TextView = view.findViewById(R.id.text_view) + val code = sample.readCode(requireContext()) + + textView.text = code.sourceCode + } + + private val sample: Sample by lazy(LazyThreadSafetyMode.NONE) { + arguments!!.getParcelable(ARG_SAMPLE) + } + + companion object { + private const val ARG_SAMPLE = "arg.Sample" + + fun init(sample: Sample): SampleCodeFragment { + return SampleCodeFragment().apply { + arguments = Bundle().apply { + putParcelable(ARG_SAMPLE, sample) + } + } + } + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt index ae5babe6..59ca1533 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt @@ -1,13 +1,127 @@ package io.noties.markwon.app.ui import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentTransaction +import io.noties.markwon.app.R import io.noties.markwon.app.Sample +import io.noties.markwon.app.utils.active class SampleFragment : Fragment() { + private lateinit var container: ViewGroup + + private var isCodeSelected = false + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_sample, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + container = view.findViewById(R.id.container) + isCodeSelected = savedInstanceState?.getBoolean(KEY_CODE_SELECTED) ?: false + + initAppBar(view) + initTabBar(view) + } + + private fun initAppBar(view: View) { + val appBar: View = view.findViewById(R.id.app_bar) + val icon: View = appBar.findViewById(R.id.app_bar_icon) + val title: TextView = appBar.findViewById(R.id.app_bar_title) + + icon.setOnClickListener { + activity?.onBackPressed() + } + + title.text = sample.title + } + + private fun initTabBar(view: View) { + val tabBar: View = view.findViewById(R.id.tab_bar) + val preview: View = tabBar.findViewById(R.id.tab_bar_preview) + val code: View = tabBar.findViewById(R.id.tab_bar_code) + + preview.setOnClickListener { + if (!it.active) { + it.active = true + code.active = false + showPreview() + } + } + + code.setOnClickListener { + if (!it.active) { + it.active = true + preview.active = false + showCode() + } + } + + // maybe check state (in case of restoration) + + // initial values + preview.active = !isCodeSelected + code.active = isCodeSelected + + if (isCodeSelected) { + showCode() + } else { + showPreview() + } + } + + private fun showPreview() { + isCodeSelected = false + showFragment(TAG_PREVIEW, TAG_CODE) { SamplePreviewFragment.init(sample) } + } + + private fun showCode() { + isCodeSelected = true + showFragment(TAG_CODE, TAG_PREVIEW) { SampleCodeFragment.init(sample) } + } + + private fun showFragment(showTag: String, hideTag: String, provider: () -> Fragment) { + val manager = childFragmentManager + manager.beginTransaction().apply { + setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) + + val existing = manager.findFragmentByTag(showTag) + if (existing != null) { + show(existing) + } else { + add(container.id, provider(), showTag) + } + + manager.findFragmentByTag(hideTag)?.also { + hide(it) + } + + commitAllowingStateLoss() + } + } + + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + + outState.putBoolean(KEY_CODE_SELECTED, isCodeSelected) + } + + private val sample: Sample by lazy(LazyThreadSafetyMode.NONE) { + (arguments!!.getParcelable(ARG_SAMPLE)) + } + companion object { private const val ARG_SAMPLE = "arg.Sample" + private const val TAG_PREVIEW = "tag.Preview" + private const val TAG_CODE = "tag.Code" + private const val KEY_CODE_SELECTED = "key.Selected" fun init(sample: Sample): SampleFragment { val fragment = SampleFragment() diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/SamplePreviewFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/ui/SamplePreviewFragment.kt new file mode 100644 index 00000000..3bd64ce0 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/ui/SamplePreviewFragment.kt @@ -0,0 +1,38 @@ +package io.noties.markwon.app.ui + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import io.noties.markwon.app.Sample + +class SamplePreviewFragment : Fragment() { + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return markwonSample.createView(inflater, container) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + markwonSample.onViewCreated(view) + } + + private val markwonSample: MarkwonSample by lazy(LazyThreadSafetyMode.NONE) { + val sample: Sample = arguments!!.getParcelable(ARG_SAMPLE)!! + Class.forName(sample.javaClassName).newInstance() as MarkwonSample + } + + companion object { + private const val ARG_SAMPLE = "arg.Sample" + + fun init(sample: Sample): SamplePreviewFragment { + return SamplePreviewFragment().apply { + arguments = Bundle().apply { + putParcelable(ARG_SAMPLE, sample) + } + } + } + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt index c01f251a..6e88689c 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt @@ -1,9 +1,58 @@ package io.noties.markwon.app.utils +import android.content.Context +import io.noties.markwon.app.Sample import io.noties.markwon.sample.annotations.MarkwonArtifact +import java.io.InputStream +import java.util.Scanner val MarkwonArtifact.displayName: String get() = "@${artifactName()}" val String.tagDisplayName: String - get() = "#$this" \ No newline at end of file + get() = "#$this" + +private const val SAMPLE_PREFIX = "io.noties.markwon.app." + +fun Sample.readCode(context: Context): Sample.Code { + val assets = context.assets + + // keep sample and nested directories + val path = javaClassName + .removePrefix(SAMPLE_PREFIX) + .replace('.', '/') + + // now, we have 2 possibilities -> Kotlin or Java + fun read(stream: InputStream): String { + return Scanner(stream).useDelimiter("\\A").next() + } + + fun obtain(path: String): InputStream? { + return try { + assets.open(path) + } catch (t: Throwable) { + null + } + } + + var language: Sample.Language = Sample.Language.KOTLIN + var stream = obtain("$path.kt") + if (stream == null) { + language = Sample.Language.JAVA + stream = obtain("$path.java") + } + + if (stream == null) { + throw IllegalStateException("Cannot obtain sample file at path: $path") + } + + val code = read(stream) + + try { + stream.close() + } catch (t: Throwable) { + // ignore + } + + return Sample.Code(language, code) +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/ViewGroupUtils.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/ViewGroupUtils.kt new file mode 100644 index 00000000..f6cd05b8 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/ViewGroupUtils.kt @@ -0,0 +1,7 @@ +package io.noties.markwon.app.utils + +import android.view.View +import android.view.ViewGroup + +val ViewGroup.children: List + get() = (0 until childCount).map { getChildAt(it) } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/ViewUtils.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/ViewUtils.kt index b6a5e8f9..58c6e36e 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/utils/ViewUtils.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/ViewUtils.kt @@ -3,6 +3,7 @@ package io.noties.markwon.app.utils import android.view.View import android.view.View.GONE import android.view.View.VISIBLE +import android.view.ViewGroup import android.view.ViewTreeObserver var View.hidden: Boolean @@ -23,4 +24,12 @@ fun View.onPreDraw(action: () -> Unit) { return true } }) -} \ No newline at end of file +} + +var View.active: Boolean + get() = isActivated + set(newValue) { + isActivated = newValue + + (this as? ViewGroup)?.children?.forEach { it.active = newValue } + } \ No newline at end of file diff --git a/app-sample/src/main/res/color/tab_bar_item.xml b/app-sample/src/main/res/color/tab_bar_item.xml new file mode 100644 index 00000000..315f6d25 --- /dev/null +++ b/app-sample/src/main/res/color/tab_bar_item.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/drawable/ic_arrow_back_white_24dp.xml b/app-sample/src/main/res/drawable/ic_arrow_back_white_24dp.xml index fa122e18..69ceb083 100644 --- a/app-sample/src/main/res/drawable/ic_arrow_back_white_24dp.xml +++ b/app-sample/src/main/res/drawable/ic_arrow_back_white_24dp.xml @@ -1,5 +1,10 @@ - - + + diff --git a/app-sample/src/main/res/drawable/ic_close_white_24dp.xml b/app-sample/src/main/res/drawable/ic_close_white_24dp.xml index 1544037f..85811738 100644 --- a/app-sample/src/main/res/drawable/ic_close_white_24dp.xml +++ b/app-sample/src/main/res/drawable/ic_close_white_24dp.xml @@ -2,8 +2,8 @@ android:width="24dp" android:height="24dp" android:tint="#FFFFFF" - android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportWidth="24" + android:viewportHeight="24"> diff --git a/app-sample/src/main/res/drawable/ic_code_white_24dp.xml b/app-sample/src/main/res/drawable/ic_code_white_24dp.xml new file mode 100644 index 00000000..3925a7c2 --- /dev/null +++ b/app-sample/src/main/res/drawable/ic_code_white_24dp.xml @@ -0,0 +1,10 @@ + + + diff --git a/app-sample/src/main/res/drawable/ic_remove_red_eye_white_24dp.xml b/app-sample/src/main/res/drawable/ic_remove_red_eye_white_24dp.xml new file mode 100644 index 00000000..14954cbf --- /dev/null +++ b/app-sample/src/main/res/drawable/ic_remove_red_eye_white_24dp.xml @@ -0,0 +1,10 @@ + + + diff --git a/app-sample/src/main/res/drawable/ic_search_white_24dp.xml b/app-sample/src/main/res/drawable/ic_search_white_24dp.xml index 4d0f1858..7f8f6ceb 100644 --- a/app-sample/src/main/res/drawable/ic_search_white_24dp.xml +++ b/app-sample/src/main/res/drawable/ic_search_white_24dp.xml @@ -2,8 +2,8 @@ android:width="24dp" android:height="24dp" android:tint="#FFFFFF" - android:viewportWidth="24.0" - android:viewportHeight="24.0"> + android:viewportWidth="24" + android:viewportHeight="24"> diff --git a/app-sample/src/main/res/layout/fragment_sample.xml b/app-sample/src/main/res/layout/fragment_sample.xml new file mode 100644 index 00000000..eea62d93 --- /dev/null +++ b/app-sample/src/main/res/layout/fragment_sample.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/layout/fragment_sample_code.xml b/app-sample/src/main/res/layout/fragment_sample_code.xml new file mode 100644 index 00000000..d8ac6205 --- /dev/null +++ b/app-sample/src/main/res/layout/fragment_sample_code.xml @@ -0,0 +1,28 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/layout/fragment_sample_list.xml b/app-sample/src/main/res/layout/fragment_sample_list.xml index a5c4ec48..353095ce 100644 --- a/app-sample/src/main/res/layout/fragment_sample_list.xml +++ b/app-sample/src/main/res/layout/fragment_sample_list.xml @@ -7,18 +7,13 @@ android:orientation="vertical"> + android:orientation="horizontal"> + android:src="@mipmap/ic_launcher" + tools:ignore="ContentDescription" /> + style="@style/AppBarTitle" + android:text="@string/app_name" /> diff --git a/app-sample/src/main/res/layout/fragment_sample_preview.xml b/app-sample/src/main/res/layout/fragment_sample_preview.xml new file mode 100644 index 00000000..47f479af --- /dev/null +++ b/app-sample/src/main/res/layout/fragment_sample_preview.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/layout/sample_text_view.xml b/app-sample/src/main/res/layout/sample_text_view.xml index bde44965..5ff75fc9 100644 --- a/app-sample/src/main/res/layout/sample_text_view.xml +++ b/app-sample/src/main/res/layout/sample_text_view.xml @@ -13,7 +13,7 @@ android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="wrap_content" - android:padding="@dimen/content_padding" + android:padding="@dimen/content_padding_double" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="?android:attr/textColorPrimary" tools:text="Hello there" /> diff --git a/app-sample/src/main/res/values/colors.xml b/app-sample/src/main/res/values/colors.xml index 0703abc1..46514d33 100644 --- a/app-sample/src/main/res/values/colors.xml +++ b/app-sample/src/main/res/values/colors.xml @@ -12,4 +12,7 @@ #eee #BFFFFFFF + #eee + #fafafa + \ No newline at end of file diff --git a/app-sample/src/main/res/values/dimens.xml b/app-sample/src/main/res/values/dimens.xml index 2b409b32..21ba14f5 100644 --- a/app-sample/src/main/res/values/dimens.xml +++ b/app-sample/src/main/res/values/dimens.xml @@ -8,4 +8,7 @@ 36dip 36dip + + 1dip + 56dip \ No newline at end of file diff --git a/app-sample/src/main/res/values/ids.xml b/app-sample/src/main/res/values/ids.xml index 15c85d84..f12156a6 100644 --- a/app-sample/src/main/res/values/ids.xml +++ b/app-sample/src/main/res/values/ids.xml @@ -1,4 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/values/strings.xml b/app-sample/src/main/res/values/strings.xml index 74a01aa0..2ed0d912 100644 --- a/app-sample/src/main/res/values/strings.xml +++ b/app-sample/src/main/res/values/strings.xml @@ -1,4 +1,7 @@ Markwon + + Preview + Code \ No newline at end of file diff --git a/app-sample/src/main/res/values/styles.xml b/app-sample/src/main/res/values/styles.xml index e1416f34..6c16a228 100644 --- a/app-sample/src/main/res/values/styles.xml +++ b/app-sample/src/main/res/values/styles.xml @@ -6,22 +6,46 @@ @color/gray_light @color/gray @color/window_background - @drawable/bg_splash + @drawable/bg_splash + + + + + + + + + + + \ No newline at end of file diff --git a/art/sample-app.epgz b/art/sample-app.epgz index 10314e1fd7a4c0191127523f7e32afd4c2c7f9be..43d2f596a0565d11fb180cab0ab5422cf7e053db 100644 GIT binary patch delta 130366 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

3XlZf}wvS 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

9**go$qS9tJN4m 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

  • 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�BOTg2lDCbF5XuUxim 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%0A3Ke`1ei&2YuDZ?4#Q#~b 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 &zV0S<%3a1S0lpk|XV!*)2(v9embS_5`>eST}m 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 rhs.id.compareTo(lhs.id)); + // sort each sample artifacts (alphabet) and tags (alphabet) + final String json = new GsonBuilder() .setPrettyPrinting() .create() @@ -176,13 +182,17 @@ public class MarkwonSampleProcessor extends AbstractProcessor { final String id = info.id(); + // NB! sorted artifacts (by name) and tags + final Set artifacts = Stream.of(info.artifacts()) + .collect(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(MarkwonArtifact::name)))); + final MarkwonSample sample = new MarkwonSample( element.getQualifiedName().toString(), id, info.title(), info.description(), - new HashSet<>(Arrays.asList(info.artifacts())), - new HashSet<>(Arrays.asList(info.tags())) + artifacts, + new TreeSet<>(Arrays.asList(info.tags())) ); try { From 45d205ba8c3c4303cbc117d5109ba51b8e4396c8 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Fri, 26 Jun 2020 17:12:13 +0300 Subject: [PATCH 20/52] Sample app readme functionality --- app-sample/build.gradle | 27 +++ .../debug/res/layout/flowlayout_preview.xml | 8 +- app-sample/src/main/AndroidManifest.xml | 24 ++- app-sample/src/main/assets/README.md | 1 + .../main/java/io/noties/markwon/app/App.kt | 6 +- .../readme/GithubImageDestinationProcessor.kt | 25 +++ .../markwon/app/readme/ReadMeActivity.kt | 166 ++++++++++++++++++ .../readme/ReadMeImageDestinationPlugin.kt | 21 +++ .../markwon/app/{ => sample}/MainActivity.kt | 4 +- .../noties/markwon/app/{ => sample}/Sample.kt | 2 +- .../app/{adapt => sample}/SampleItem.kt | 5 +- .../markwon/app/{ => sample}/SampleManager.kt | 2 +- .../markwon/app/{ => sample}/SampleSearch.kt | 2 +- .../app/{ => sample}/ui/MarkwonSample.kt | 2 +- .../{ => sample}/ui/MarkwonTextViewSample.kt | 2 +- .../app/sample/ui/SampleCodeFragment.kt | 74 ++++++++ .../app/{ => sample}/ui/SampleFragment.kt | 4 +- .../app/{ => sample}/ui/SampleListFragment.kt | 12 +- .../{ => sample}/ui/SamplePreviewFragment.kt | 4 +- .../noties/markwon/app/samples/FirstSample.kt | 2 +- .../app/samples/nested/SecondSample.kt | 2 +- .../app/samples/nested/ThirdSample.java | 2 +- .../markwon/app/ui/SampleCodeFragment.kt | 43 ----- .../markwon/app/utils/InputStreamUtils.kt | 21 +++ .../noties/markwon/app/utils/ReadMeUtils.kt | 44 +++++ .../noties/markwon/app/utils/SampleUtils.java | 2 +- .../noties/markwon/app/utils/SampleUtilsKt.kt | 22 +-- .../noties/markwon/app/utils/TextViewUtils.kt | 9 + .../app/{base => widget}/FlowLayout.kt | 2 +- .../markwon/app/{base => widget}/SearchBar.kt | 2 +- .../markwon/app/{base => widget}/TextField.kt | 2 +- .../src/main/res/layout/activity_read_me.xml | 70 ++++++++ .../src/main/res/layout/adapt_sample.xml | 8 +- .../src/main/res/layout/adapter_node.xml | 17 ++ .../res/layout/adapter_node_code_block.xml | 26 +++ .../res/layout/adapter_node_table_block.xml | 19 ++ .../main/res/layout/fragment_sample_code.xml | 51 ++++-- .../main/res/layout/fragment_sample_list.xml | 2 +- .../src/main/res/layout/view_search_bar.xml | 2 +- .../main/res/layout/view_table_entry_cell.xml | 9 + app-sample/src/main/res/values/dimens.xml | 3 + app-sample/src/main/res/values/strings.xml | 1 + sample/build.gradle | 1 + 43 files changed, 638 insertions(+), 115 deletions(-) create mode 120000 app-sample/src/main/assets/README.md create mode 100644 app-sample/src/main/java/io/noties/markwon/app/readme/GithubImageDestinationProcessor.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeImageDestinationPlugin.kt rename app-sample/src/main/java/io/noties/markwon/app/{ => sample}/MainActivity.kt (84%) rename app-sample/src/main/java/io/noties/markwon/app/{ => sample}/Sample.kt (92%) rename app-sample/src/main/java/io/noties/markwon/app/{adapt => sample}/SampleItem.kt (97%) rename app-sample/src/main/java/io/noties/markwon/app/{ => sample}/SampleManager.kt (98%) rename app-sample/src/main/java/io/noties/markwon/app/{ => sample}/SampleSearch.kt (91%) rename app-sample/src/main/java/io/noties/markwon/app/{ => sample}/ui/MarkwonSample.kt (89%) rename app-sample/src/main/java/io/noties/markwon/app/{ => sample}/ui/MarkwonTextViewSample.kt (92%) create mode 100644 app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleCodeFragment.kt rename app-sample/src/main/java/io/noties/markwon/app/{ => sample}/ui/SampleFragment.kt (97%) rename app-sample/src/main/java/io/noties/markwon/app/{ => sample}/ui/SampleListFragment.kt (97%) rename app-sample/src/main/java/io/noties/markwon/app/{ => sample}/ui/SamplePreviewFragment.kt (93%) delete mode 100644 app-sample/src/main/java/io/noties/markwon/app/ui/SampleCodeFragment.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/utils/InputStreamUtils.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/utils/ReadMeUtils.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/utils/TextViewUtils.kt rename app-sample/src/main/java/io/noties/markwon/app/{base => widget}/FlowLayout.kt (99%) rename app-sample/src/main/java/io/noties/markwon/app/{base => widget}/SearchBar.kt (98%) rename app-sample/src/main/java/io/noties/markwon/app/{base => widget}/TextField.kt (95%) create mode 100644 app-sample/src/main/res/layout/activity_read_me.xml create mode 100644 app-sample/src/main/res/layout/adapter_node.xml create mode 100644 app-sample/src/main/res/layout/adapter_node_code_block.xml create mode 100644 app-sample/src/main/res/layout/adapter_node_table_block.xml create mode 100644 app-sample/src/main/res/layout/view_table_entry_cell.xml diff --git a/app-sample/build.gradle b/app-sample/build.gradle index 9e4f0f23..0ea4fa44 100644 --- a/app-sample/build.gradle +++ b/app-sample/build.gradle @@ -45,19 +45,46 @@ androidExtensions { features = ["parcelize"] } +configurations.all { + exclude group: 'org.jetbrains', module: 'annotations-java5' +} + dependencies { kapt project(':sample-utils:processor') + deps['annotationProcessor'].with { + kapt it['prism4j-bundler'] + } implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation project(':markwon-core') + implementation project(':markwon-editor') + implementation project(':markwon-ext-latex') + implementation project(':markwon-ext-strikethrough') + implementation project(':markwon-ext-tables') + implementation project(':markwon-ext-tasklist') + implementation project(':markwon-html') + implementation project(':markwon-image') + implementation project(':markwon-inline-parser') + implementation project(':markwon-linkify') + implementation project(':markwon-recycler') + implementation project(':markwon-recycler-table') + implementation project(':markwon-simple-ext') + implementation project(':markwon-syntax-highlight') + + implementation project(':markwon-image-picasso') + implementation project(':markwon-image-glide') deps.with { implementation it['x-recycler-view'] implementation it['x-cardview'] implementation it['x-fragment'] + implementation it['okhttp'] + implementation it['prism4j'] implementation it['gson'] implementation it['adapt'] implementation it['debug'] + implementation it['android-svg'] + implementation it['android-gif'] } } diff --git a/app-sample/src/debug/res/layout/flowlayout_preview.xml b/app-sample/src/debug/res/layout/flowlayout_preview.xml index 4f9f98a1..c78c9d10 100644 --- a/app-sample/src/debug/res/layout/flowlayout_preview.xml +++ b/app-sample/src/debug/res/layout/flowlayout_preview.xml @@ -13,7 +13,7 @@ android:layout_height="wrap_content" android:text="Hey!" /> - - + - - + \ No newline at end of file diff --git a/app-sample/src/main/AndroidManifest.xml b/app-sample/src/main/AndroidManifest.xml index eed3ca3b..16c2d250 100644 --- a/app-sample/src/main/AndroidManifest.xml +++ b/app-sample/src/main/AndroidManifest.xml @@ -3,6 +3,8 @@ xmlns:tools="http://schemas.android.com/tools" package="io.noties.markwon.app"> + + - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/assets/README.md b/app-sample/src/main/assets/README.md new file mode 120000 index 00000000..ff5c7960 --- /dev/null +++ b/app-sample/src/main/assets/README.md @@ -0,0 +1 @@ +../../../../README.md \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/App.kt b/app-sample/src/main/java/io/noties/markwon/app/App.kt index 444ded43..41351f0c 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/App.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/App.kt @@ -3,6 +3,8 @@ package io.noties.markwon.app import android.app.Application import io.noties.debug.AndroidLogDebugOutput import io.noties.debug.Debug +import io.noties.markwon.app.sample.SampleManager +import java.util.concurrent.ExecutorService import java.util.concurrent.Executors @Suppress("unused") @@ -13,10 +15,12 @@ class App : Application() { Debug.init(AndroidLogDebugOutput(BuildConfig.DEBUG)) - sampleManager = SampleManager(this, Executors.newCachedThreadPool()) + executorService = Executors.newCachedThreadPool() + sampleManager = SampleManager(this, executorService) } companion object { + lateinit var executorService: ExecutorService lateinit var sampleManager: SampleManager } } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/readme/GithubImageDestinationProcessor.kt b/app-sample/src/main/java/io/noties/markwon/app/readme/GithubImageDestinationProcessor.kt new file mode 100644 index 00000000..f94f3a5d --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/readme/GithubImageDestinationProcessor.kt @@ -0,0 +1,25 @@ +package io.noties.markwon.app.readme + +import android.net.Uri +import android.text.TextUtils +import io.noties.markwon.image.destination.ImageDestinationProcessor +import io.noties.markwon.image.destination.ImageDestinationProcessorRelativeToAbsolute + +class GithubImageDestinationProcessor( + username: String = "noties", + repository: String = "Markwon", + branch: String = "master" +) : ImageDestinationProcessor() { + + private val processor = ImageDestinationProcessorRelativeToAbsolute("https://github.com/$username/$repository/raw/$branch/") + + override fun process(destination: String): String { + // process only images without scheme information + val uri = Uri.parse(destination) + return if (TextUtils.isEmpty(uri.scheme)) { + processor.process(destination) + } else { + destination + } + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt new file mode 100644 index 00000000..870c2b29 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt @@ -0,0 +1,166 @@ +package io.noties.markwon.app.readme + +import android.app.Activity +import android.content.Context +import android.net.Uri +import android.os.Bundle +import android.view.View +import android.widget.TextView +import androidx.recyclerview.widget.DefaultItemAnimator +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import io.noties.debug.Debug +import io.noties.markwon.AbstractMarkwonPlugin +import io.noties.markwon.Markwon +import io.noties.markwon.MarkwonVisitor +import io.noties.markwon.app.R +import io.noties.markwon.app.utils.ReadMeUtils +import io.noties.markwon.app.utils.hidden +import io.noties.markwon.app.utils.loadReadMe +import io.noties.markwon.app.utils.textOrHide +import io.noties.markwon.ext.tasklist.TaskListPlugin +import io.noties.markwon.html.HtmlPlugin +import io.noties.markwon.image.ImagesPlugin +import io.noties.markwon.recycler.MarkwonAdapter +import io.noties.markwon.recycler.SimpleEntry +import io.noties.markwon.recycler.table.TableEntry +import io.noties.markwon.recycler.table.TableEntryPlugin +import io.noties.markwon.syntax.Prism4jThemeDefault +import io.noties.markwon.syntax.SyntaxHighlightPlugin +import io.noties.prism4j.Prism4j +import io.noties.prism4j.annotations.PrismBundle +import okhttp3.Call +import okhttp3.Callback +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import org.commonmark.ext.gfm.tables.TableBlock +import org.commonmark.node.FencedCodeBlock +import java.io.IOException + +@PrismBundle(includeAll = true) +class ReadMeActivity : Activity() { + + private lateinit var progressBar: View + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_read_me) + + progressBar = findViewById(R.id.progress_bar) + + val data = intent.data + + Debug.i(data) + + initAppBar(data) + + initRecyclerView(data) + } + + private val markwon: Markwon + get() = Markwon.builder(this) + .usePlugin(ImagesPlugin.create()) + .usePlugin(HtmlPlugin.create()) + .usePlugin(TableEntryPlugin.create(this)) + .usePlugin(SyntaxHighlightPlugin.create(Prism4j(GrammarLocatorDef()), Prism4jThemeDefault.create(0))) + .usePlugin(TaskListPlugin.create(this)) + .usePlugin(ReadMeImageDestinationPlugin(intent.data)) + .usePlugin(object : AbstractMarkwonPlugin() { + override fun configureVisitor(builder: MarkwonVisitor.Builder) { + builder.on(FencedCodeBlock::class.java) { visitor, block -> + // we actually won't be applying code spans here, as our custom view will + // draw background and apply mono typeface + // + // NB the `trim` operation on literal (as code will have a new line at the end) + val code = visitor.configuration() + .syntaxHighlight() + .highlight(block.info, block.literal.trim()) + visitor.builder().append(code) + } + } + }) + .build() + + private fun initAppBar(data: Uri?) { + val appBar = findViewById(R.id.app_bar) + appBar.findViewById(R.id.app_bar_icon).setOnClickListener { onBackPressed() } + + val (title: String, subtitle: String?) = if (data == null) { + Pair("README.md", null) + } else { + Pair(data.lastPathSegment ?: "", data.toString()) + } + + appBar.findViewById(R.id.title).text = title + appBar.findViewById(R.id.subtitle).textOrHide(subtitle) + } + + private fun initRecyclerView(data: Uri?) { + + val adapter = MarkwonAdapter.builder(R.layout.adapter_node, R.id.text_view) + .include(FencedCodeBlock::class.java, SimpleEntry.create(R.layout.adapter_node_code_block, R.id.text_view)) + .include(TableBlock::class.java, TableEntry.create { + it + .tableLayout(R.layout.adapter_node_table_block, R.id.table_layout) + .textLayoutIsRoot(R.layout.view_table_entry_cell) + }) + .build() + + val recyclerView: RecyclerView = findViewById(R.id.recycler_view) + recyclerView.layoutManager = LinearLayoutManager(this) + recyclerView.setHasFixedSize(true) + recyclerView.itemAnimator = DefaultItemAnimator() + recyclerView.adapter = adapter + + load(applicationContext, data) { result -> + + when (result) { + is Result.Failure -> Debug.e(result.throwable) + is Result.Success -> { + val markwon = markwon + val node = markwon.parse(result.markdown) + if (window != null) { + recyclerView.post { + adapter.setParsedMarkdown(markwon, node) + adapter.notifyDataSetChanged() + progressBar.hidden = true + } + } + } + } + } + } + + private sealed class Result { + data class Success(val markdown: String) : Result() + data class Failure(val throwable: Throwable) : Result() + } + + private companion object { + fun load(context: Context, data: Uri?, callback: (Result) -> Unit) = try { + + if (data == null) { + callback.invoke(Result.Success(loadReadMe(context))) + } else { + val request = Request.Builder() + .get() + .url(ReadMeUtils.buildRawGithubUrl(data)) + .build() + OkHttpClient().newCall(request).enqueue(object : Callback { + override fun onFailure(call: Call, e: IOException) { + callback.invoke(Result.Failure(e)) + } + + override fun onResponse(call: Call, response: Response) { + val md = response.body()?.string() ?: "" + callback.invoke(Result.Success(md)) + } + }) + } + + } catch (t: Throwable) { + callback.invoke(Result.Failure(t)) + } + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeImageDestinationPlugin.kt b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeImageDestinationPlugin.kt new file mode 100644 index 00000000..a4d25210 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeImageDestinationPlugin.kt @@ -0,0 +1,21 @@ +package io.noties.markwon.app.readme + +import android.net.Uri +import io.noties.markwon.AbstractMarkwonPlugin +import io.noties.markwon.MarkwonConfiguration +import io.noties.markwon.app.utils.ReadMeUtils + +class ReadMeImageDestinationPlugin(private val data: Uri?) : AbstractMarkwonPlugin() { + override fun configureConfiguration(builder: MarkwonConfiguration.Builder) { + val info = ReadMeUtils.parseInfo(data) + if (info == null) { + builder.imageDestinationProcessor(GithubImageDestinationProcessor()) + } else { + builder.imageDestinationProcessor(GithubImageDestinationProcessor( + username = info.username, + repository = info.repository, + branch = info.branch + )) + } + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/MainActivity.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/MainActivity.kt similarity index 84% rename from app-sample/src/main/java/io/noties/markwon/app/MainActivity.kt rename to app-sample/src/main/java/io/noties/markwon/app/sample/MainActivity.kt index f0fc8e35..e60c63d7 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/MainActivity.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/MainActivity.kt @@ -1,9 +1,9 @@ -package io.noties.markwon.app +package io.noties.markwon.app.sample import android.os.Bundle import android.view.Window import androidx.fragment.app.FragmentActivity -import io.noties.markwon.app.ui.SampleListFragment +import io.noties.markwon.app.sample.ui.SampleListFragment class MainActivity : FragmentActivity() { diff --git a/app-sample/src/main/java/io/noties/markwon/app/Sample.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/Sample.kt similarity index 92% rename from app-sample/src/main/java/io/noties/markwon/app/Sample.kt rename to app-sample/src/main/java/io/noties/markwon/app/sample/Sample.kt index ffb7c5bd..9ba5cd02 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/Sample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/Sample.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app +package io.noties.markwon.app.sample import android.os.Parcelable import io.noties.markwon.sample.annotations.MarkwonArtifact diff --git a/app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/SampleItem.kt similarity index 97% rename from app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt rename to app-sample/src/main/java/io/noties/markwon/app/sample/SampleItem.kt index c294b874..56576f11 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/adapt/SampleItem.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/SampleItem.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app.adapt +package io.noties.markwon.app.sample import android.text.Spanned import android.view.LayoutInflater @@ -8,8 +8,7 @@ import android.widget.TextView import io.noties.adapt.Item import io.noties.markwon.Markwon import io.noties.markwon.app.R -import io.noties.markwon.app.Sample -import io.noties.markwon.app.base.FlowLayout +import io.noties.markwon.app.widget.FlowLayout import io.noties.markwon.app.utils.displayName import io.noties.markwon.app.utils.hidden import io.noties.markwon.app.utils.tagDisplayName diff --git a/app-sample/src/main/java/io/noties/markwon/app/SampleManager.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/SampleManager.kt similarity index 98% rename from app-sample/src/main/java/io/noties/markwon/app/SampleManager.kt rename to app-sample/src/main/java/io/noties/markwon/app/sample/SampleManager.kt index 7addbabb..b45fd616 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/SampleManager.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/SampleManager.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app +package io.noties.markwon.app.sample import android.content.Context import io.noties.markwon.app.utils.Cancellable diff --git a/app-sample/src/main/java/io/noties/markwon/app/SampleSearch.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/SampleSearch.kt similarity index 91% rename from app-sample/src/main/java/io/noties/markwon/app/SampleSearch.kt rename to app-sample/src/main/java/io/noties/markwon/app/sample/SampleSearch.kt index 6f79aef4..2cc7a26e 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/SampleSearch.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/SampleSearch.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app +package io.noties.markwon.app.sample import io.noties.markwon.sample.annotations.MarkwonArtifact diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonSample.kt similarity index 89% rename from app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt rename to app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonSample.kt index 67b78ccb..522acac1 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonSample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonSample.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app.ui +package io.noties.markwon.app.sample.ui import android.view.LayoutInflater import android.view.View diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonTextViewSample.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonTextViewSample.kt similarity index 92% rename from app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonTextViewSample.kt rename to app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonTextViewSample.kt index 58c4f5c8..64b767ec 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/ui/MarkwonTextViewSample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonTextViewSample.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app.ui +package io.noties.markwon.app.sample.ui import android.content.Context import android.view.View diff --git a/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleCodeFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleCodeFragment.kt new file mode 100644 index 00000000..fe4d95a5 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleCodeFragment.kt @@ -0,0 +1,74 @@ +package io.noties.markwon.app.sample.ui + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.fragment.app.Fragment +import io.noties.markwon.app.App +import io.noties.markwon.app.R +import io.noties.markwon.app.sample.Sample +import io.noties.markwon.app.utils.hidden +import io.noties.markwon.app.utils.readCode +import io.noties.markwon.syntax.Prism4jSyntaxHighlight +import io.noties.markwon.syntax.Prism4jThemeDefault +import io.noties.prism4j.Prism4j +import io.noties.prism4j.annotations.PrismBundle + +@PrismBundle(include = ["java", "kotlin"], grammarLocatorClassName = ".GrammarLocatorSourceCode") +class SampleCodeFragment : Fragment() { + + private lateinit var progressBar: View + private lateinit var textView: TextView + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_sample_code, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + progressBar = view.findViewById(R.id.progress_bar) + textView = view.findViewById(R.id.text_view) + + load() + } + + private fun load() { + App.executorService.submit { + val code = sample.readCode(requireContext()) + val prism = Prism4j(GrammarLocatorSourceCode()) + val highlight = Prism4jSyntaxHighlight.create(prism, Prism4jThemeDefault.create(0)) + val language = when (code.language) { + Sample.Language.KOTLIN -> "kotlin" + Sample.Language.JAVA -> "java" + } + val text = highlight.highlight(language, code.sourceCode) + + textView.post { + //attached + if (context != null) { + progressBar.hidden = true + textView.text = text + } + } + } + } + + private val sample: Sample by lazy(LazyThreadSafetyMode.NONE) { + arguments!!.getParcelable(ARG_SAMPLE) + } + + companion object { + private const val ARG_SAMPLE = "arg.Sample" + + fun init(sample: Sample): SampleCodeFragment { + return SampleCodeFragment().apply { + arguments = Bundle().apply { + putParcelable(ARG_SAMPLE, sample) + } + } + } + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleFragment.kt similarity index 97% rename from app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt rename to app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleFragment.kt index 59ca1533..f07f6de6 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleFragment.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleFragment.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app.ui +package io.noties.markwon.app.sample.ui import android.os.Bundle import android.view.LayoutInflater @@ -8,7 +8,7 @@ import android.widget.TextView import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentTransaction import io.noties.markwon.app.R -import io.noties.markwon.app.Sample +import io.noties.markwon.app.sample.Sample import io.noties.markwon.app.utils.active class SampleFragment : Fragment() { diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleListFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleListFragment.kt similarity index 97% rename from app-sample/src/main/java/io/noties/markwon/app/ui/SampleListFragment.kt rename to app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleListFragment.kt index 57f906ca..fc68b7c8 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleListFragment.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleListFragment.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app.ui +package io.noties.markwon.app.sample.ui import android.content.Context import android.os.Bundle @@ -19,11 +19,11 @@ import io.noties.debug.Debug import io.noties.markwon.Markwon import io.noties.markwon.app.App import io.noties.markwon.app.R -import io.noties.markwon.app.Sample -import io.noties.markwon.app.SampleManager -import io.noties.markwon.app.SampleSearch -import io.noties.markwon.app.adapt.SampleItem -import io.noties.markwon.app.base.SearchBar +import io.noties.markwon.app.sample.Sample +import io.noties.markwon.app.sample.SampleManager +import io.noties.markwon.app.sample.SampleSearch +import io.noties.markwon.app.sample.SampleItem +import io.noties.markwon.app.widget.SearchBar import io.noties.markwon.app.utils.Cancellable import io.noties.markwon.app.utils.displayName import io.noties.markwon.app.utils.onPreDraw diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/SamplePreviewFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SamplePreviewFragment.kt similarity index 93% rename from app-sample/src/main/java/io/noties/markwon/app/ui/SamplePreviewFragment.kt rename to app-sample/src/main/java/io/noties/markwon/app/sample/ui/SamplePreviewFragment.kt index 3bd64ce0..24e12c9f 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/ui/SamplePreviewFragment.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SamplePreviewFragment.kt @@ -1,11 +1,11 @@ -package io.noties.markwon.app.ui +package io.noties.markwon.app.sample.ui import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import io.noties.markwon.app.Sample +import io.noties.markwon.app.sample.Sample class SamplePreviewFragment : Fragment() { diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt index cf20d3a5..cc4c512a 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt @@ -1,7 +1,7 @@ package io.noties.markwon.app.samples import io.noties.markwon.Markwon -import io.noties.markwon.app.ui.MarkwonTextViewSample +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonSampleInfo diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt index c63e645e..6707dfea 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt @@ -1,7 +1,7 @@ package io.noties.markwon.app.samples.nested import io.noties.markwon.Markwon -import io.noties.markwon.app.ui.MarkwonTextViewSample +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonSampleInfo diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java index 2e7ef678..032d3eb2 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java @@ -1,7 +1,7 @@ package io.noties.markwon.app.samples.nested; import io.noties.markwon.Markwon; -import io.noties.markwon.app.ui.MarkwonTextViewSample; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonSampleInfo; diff --git a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleCodeFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/ui/SampleCodeFragment.kt deleted file mode 100644 index e2de2050..00000000 --- a/app-sample/src/main/java/io/noties/markwon/app/ui/SampleCodeFragment.kt +++ /dev/null @@ -1,43 +0,0 @@ -package io.noties.markwon.app.ui - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.TextView -import androidx.fragment.app.Fragment -import io.noties.markwon.app.R -import io.noties.markwon.app.Sample -import io.noties.markwon.app.utils.readCode - -class SampleCodeFragment : Fragment() { - - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - return inflater.inflate(R.layout.fragment_sample_code, container, false) - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - - val textView: TextView = view.findViewById(R.id.text_view) - val code = sample.readCode(requireContext()) - - textView.text = code.sourceCode - } - - private val sample: Sample by lazy(LazyThreadSafetyMode.NONE) { - arguments!!.getParcelable(ARG_SAMPLE) - } - - companion object { - private const val ARG_SAMPLE = "arg.Sample" - - fun init(sample: Sample): SampleCodeFragment { - return SampleCodeFragment().apply { - arguments = Bundle().apply { - putParcelable(ARG_SAMPLE, sample) - } - } - } - } -} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/InputStreamUtils.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/InputStreamUtils.kt new file mode 100644 index 00000000..d146a4c1 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/InputStreamUtils.kt @@ -0,0 +1,21 @@ +package io.noties.markwon.app.utils + +import java.io.IOException +import java.io.InputStream +import java.util.Scanner + +fun InputStream.readStringAndClose(): String { + try { + val scanner = Scanner(this).useDelimiter("\\A") + if (scanner.hasNext()) { + return scanner.next() + } + return "" + } finally { + try { + close() + } catch (e: IOException) { + // ignored + } + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/ReadMeUtils.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/ReadMeUtils.kt new file mode 100644 index 00000000..a6fbfebf --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/ReadMeUtils.kt @@ -0,0 +1,44 @@ +package io.noties.markwon.app.utils + +import android.net.Uri +import java.util.regex.Pattern + +object ReadMeUtils { + // username, repo, branch, lastPathSegment + private val RE = Pattern.compile("^https:\\/\\/github\\.com\\/(\\w+?)\\/(\\w+?)\\/(?:blob|raw)\\/(\\w+?)\\/(.+)") + + data class GithubInfo( + val username: String, + val repository: String, + val branch: String, + val fileName: String + ) + + fun parseInfo(data: Uri?): GithubInfo? { + + if (data == null) { + return null + } + + val matcher = RE.matcher(data.toString()) + if (!matcher.matches()) { + return null + } + + return GithubInfo( + username = matcher.group(1), + repository = matcher.group(2), + branch = matcher.group(3), + fileName = matcher.group(4) + ) + } + + fun buildRawGithubUrl(data: Uri): String { + val info = parseInfo(data) + return if (info == null) { + data.toString() + } else { + "https://github.com/${info.username}/${info.repository}/raw/${info.branch}/${info.fileName}" + } + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtils.java b/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtils.java index 2f4195e3..2f500f9b 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtils.java +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtils.java @@ -12,7 +12,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.List; -import io.noties.markwon.app.Sample; +import io.noties.markwon.app.sample.Sample; public abstract class SampleUtils { diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt index 6e88689c..dfbd8d27 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/SampleUtilsKt.kt @@ -1,10 +1,9 @@ package io.noties.markwon.app.utils import android.content.Context -import io.noties.markwon.app.Sample +import io.noties.markwon.app.sample.Sample import io.noties.markwon.sample.annotations.MarkwonArtifact import java.io.InputStream -import java.util.Scanner val MarkwonArtifact.displayName: String get() = "@${artifactName()}" @@ -22,11 +21,6 @@ fun Sample.readCode(context: Context): Sample.Code { .removePrefix(SAMPLE_PREFIX) .replace('.', '/') - // now, we have 2 possibilities -> Kotlin or Java - fun read(stream: InputStream): String { - return Scanner(stream).useDelimiter("\\A").next() - } - fun obtain(path: String): InputStream? { return try { assets.open(path) @@ -35,6 +29,7 @@ fun Sample.readCode(context: Context): Sample.Code { } } + // now, we have 2 possibilities -> Kotlin or Java var language: Sample.Language = Sample.Language.KOTLIN var stream = obtain("$path.kt") if (stream == null) { @@ -46,13 +41,12 @@ fun Sample.readCode(context: Context): Sample.Code { throw IllegalStateException("Cannot obtain sample file at path: $path") } - val code = read(stream) - - try { - stream.close() - } catch (t: Throwable) { - // ignore - } + val code = stream.readStringAndClose() return Sample.Code(language, code) +} + +fun loadReadMe(context: Context): String { + val stream = context.assets.open("README.md") + return stream.readStringAndClose() } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/TextViewUtils.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/TextViewUtils.kt new file mode 100644 index 00000000..8ff0660a --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/TextViewUtils.kt @@ -0,0 +1,9 @@ +package io.noties.markwon.app.utils + +import android.text.TextUtils +import android.widget.TextView + +fun TextView.textOrHide(text: CharSequence?) { + this.text = text + this.hidden = TextUtils.isEmpty(text) +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/base/FlowLayout.kt b/app-sample/src/main/java/io/noties/markwon/app/widget/FlowLayout.kt similarity index 99% rename from app-sample/src/main/java/io/noties/markwon/app/base/FlowLayout.kt rename to app-sample/src/main/java/io/noties/markwon/app/widget/FlowLayout.kt index be8fca71..a975f453 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/base/FlowLayout.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/widget/FlowLayout.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app.base +package io.noties.markwon.app.widget import android.content.Context import android.util.AttributeSet diff --git a/app-sample/src/main/java/io/noties/markwon/app/base/SearchBar.kt b/app-sample/src/main/java/io/noties/markwon/app/widget/SearchBar.kt similarity index 98% rename from app-sample/src/main/java/io/noties/markwon/app/base/SearchBar.kt rename to app-sample/src/main/java/io/noties/markwon/app/widget/SearchBar.kt index ba4f644d..5c7508a1 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/base/SearchBar.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/widget/SearchBar.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app.base +package io.noties.markwon.app.widget import android.content.Context import android.util.AttributeSet diff --git a/app-sample/src/main/java/io/noties/markwon/app/base/TextField.kt b/app-sample/src/main/java/io/noties/markwon/app/widget/TextField.kt similarity index 95% rename from app-sample/src/main/java/io/noties/markwon/app/base/TextField.kt rename to app-sample/src/main/java/io/noties/markwon/app/widget/TextField.kt index 0e826282..c6c627a8 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/base/TextField.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/widget/TextField.kt @@ -1,4 +1,4 @@ -package io.noties.markwon.app.base +package io.noties.markwon.app.widget import android.content.Context import android.util.AttributeSet diff --git a/app-sample/src/main/res/layout/activity_read_me.xml b/app-sample/src/main/res/layout/activity_read_me.xml new file mode 100644 index 00000000..bb37ae71 --- /dev/null +++ b/app-sample/src/main/res/layout/activity_read_me.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/layout/adapt_sample.xml b/app-sample/src/main/res/layout/adapt_sample.xml index 2885673d..4b0d1b0c 100644 --- a/app-sample/src/main/res/layout/adapt_sample.xml +++ b/app-sample/src/main/res/layout/adapt_sample.xml @@ -54,7 +54,7 @@ android:textAppearance="?android:attr/textAppearance" tools:text="Description goes here" /> - - + - - + diff --git a/app-sample/src/main/res/layout/adapter_node.xml b/app-sample/src/main/res/layout/adapter_node.xml new file mode 100644 index 00000000..7ddaf140 --- /dev/null +++ b/app-sample/src/main/res/layout/adapter_node.xml @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/app-sample/src/main/res/layout/adapter_node_code_block.xml b/app-sample/src/main/res/layout/adapter_node_code_block.xml new file mode 100644 index 00000000..894e3835 --- /dev/null +++ b/app-sample/src/main/res/layout/adapter_node_code_block.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/layout/adapter_node_table_block.xml b/app-sample/src/main/res/layout/adapter_node_table_block.xml new file mode 100644 index 00000000..aaaaa369 --- /dev/null +++ b/app-sample/src/main/res/layout/adapter_node_table_block.xml @@ -0,0 +1,19 @@ + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/layout/fragment_sample_code.xml b/app-sample/src/main/res/layout/fragment_sample_code.xml index d8ac6205..bdd14090 100644 --- a/app-sample/src/main/res/layout/fragment_sample_code.xml +++ b/app-sample/src/main/res/layout/fragment_sample_code.xml @@ -1,28 +1,41 @@ - - + android:layout_height="match_parent"> - + - + - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/app-sample/src/main/res/layout/fragment_sample_list.xml b/app-sample/src/main/res/layout/fragment_sample_list.xml index 353095ce..18dacbac 100644 --- a/app-sample/src/main/res/layout/fragment_sample_list.xml +++ b/app-sample/src/main/res/layout/fragment_sample_list.xml @@ -42,7 +42,7 @@ android:paddingBottom="36dip" tools:layout_marginTop="56dip" /> - - + \ No newline at end of file diff --git a/app-sample/src/main/res/values/dimens.xml b/app-sample/src/main/res/values/dimens.xml index 21ba14f5..1707aa4b 100644 --- a/app-sample/src/main/res/values/dimens.xml +++ b/app-sample/src/main/res/values/dimens.xml @@ -11,4 +11,7 @@ 1dip 56dip + + 64dip + \ No newline at end of file diff --git a/app-sample/src/main/res/values/strings.xml b/app-sample/src/main/res/values/strings.xml index 2ed0d912..4567d309 100644 --- a/app-sample/src/main/res/values/strings.xml +++ b/app-sample/src/main/res/values/strings.xml @@ -4,4 +4,5 @@ Preview Code + \ No newline at end of file diff --git a/sample/build.gradle b/sample/build.gradle index b87cab5e..81d14d9e 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -60,6 +60,7 @@ dependencies { implementation it['debug'] implementation it['adapt'] implementation it['android-svg'] + implementation it['android-gif'] } deps['annotationProcessor'].with { From 1a90f1e609ab0e0e078be7b67397969087ccbbe9 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Fri, 26 Jun 2020 17:51:59 +0300 Subject: [PATCH 21/52] Sample app process outgoing repositories links --- app-sample/build.gradle | 2 +- app-sample/src/main/AndroidManifest.xml | 6 +++- .../main/java/io/noties/markwon/app/App.kt | 31 +++++++++++++++++++ .../markwon/app/readme/ReadMeActivity.kt | 9 ++++++ .../markwon/app/readme/ReadMeLinkResolver.kt | 18 +++++++++++ .../noties/markwon/app/utils/ReadMeUtils.kt | 20 ++++++++++-- build.gradle | 2 ++ 7 files changed, 83 insertions(+), 5 deletions(-) create mode 100644 app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeLinkResolver.kt diff --git a/app-sample/build.gradle b/app-sample/build.gradle index 0ea4fa44..dc3ac690 100644 --- a/app-sample/build.gradle +++ b/app-sample/build.gradle @@ -85,6 +85,6 @@ dependencies { implementation it['adapt'] implementation it['debug'] implementation it['android-svg'] - implementation it['android-gif'] + implementation it['android-gif-impl'] } } diff --git a/app-sample/src/main/AndroidManifest.xml b/app-sample/src/main/AndroidManifest.xml index 16c2d250..ac691724 100644 --- a/app-sample/src/main/AndroidManifest.xml +++ b/app-sample/src/main/AndroidManifest.xml @@ -35,9 +35,13 @@ + + + + + diff --git a/app-sample/src/main/java/io/noties/markwon/app/App.kt b/app-sample/src/main/java/io/noties/markwon/app/App.kt index 41351f0c..55c08b9a 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/App.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/App.kt @@ -1,8 +1,14 @@ package io.noties.markwon.app import android.app.Application +import android.content.ComponentName +import android.content.Intent +import android.content.pm.ShortcutInfo +import android.content.pm.ShortcutManager +import android.os.Build import io.noties.debug.AndroidLogDebugOutput import io.noties.debug.Debug +import io.noties.markwon.app.readme.ReadMeActivity import io.noties.markwon.app.sample.SampleManager import java.util.concurrent.ExecutorService import java.util.concurrent.Executors @@ -17,6 +23,31 @@ class App : Application() { executorService = Executors.newCachedThreadPool() sampleManager = SampleManager(this, executorService) + + ensureReadmeShortcut() + } + + private fun ensureReadmeShortcut() { + if (Build.VERSION.SDK_INT < 25) { + return + } + + val manager = getSystemService(ShortcutManager::class.java) ?: return + + @Suppress("ReplaceNegatedIsEmptyWithIsNotEmpty") + if (!manager.dynamicShortcuts.isEmpty()) { + return + } + + val intent = Intent(Intent.ACTION_VIEW).apply { + component = ComponentName(this@App, ReadMeActivity::class.java) + } + + val shortcut = ShortcutInfo.Builder(this, "readme") + .setShortLabel("README") + .setIntent(intent) + .build() + manager.addDynamicShortcuts(mutableListOf(shortcut)) } companion object { diff --git a/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt index 870c2b29..3a5231f8 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt @@ -12,12 +12,14 @@ import androidx.recyclerview.widget.RecyclerView import io.noties.debug.Debug import io.noties.markwon.AbstractMarkwonPlugin import io.noties.markwon.Markwon +import io.noties.markwon.MarkwonConfiguration import io.noties.markwon.MarkwonVisitor import io.noties.markwon.app.R import io.noties.markwon.app.utils.ReadMeUtils import io.noties.markwon.app.utils.hidden import io.noties.markwon.app.utils.loadReadMe import io.noties.markwon.app.utils.textOrHide +import io.noties.markwon.ext.strikethrough.StrikethroughPlugin import io.noties.markwon.ext.tasklist.TaskListPlugin import io.noties.markwon.html.HtmlPlugin import io.noties.markwon.image.ImagesPlugin @@ -27,6 +29,7 @@ import io.noties.markwon.recycler.table.TableEntry import io.noties.markwon.recycler.table.TableEntryPlugin import io.noties.markwon.syntax.Prism4jThemeDefault import io.noties.markwon.syntax.SyntaxHighlightPlugin +import io.noties.markwon.utils.DumpNodes import io.noties.prism4j.Prism4j import io.noties.prism4j.annotations.PrismBundle import okhttp3.Call @@ -65,6 +68,7 @@ class ReadMeActivity : Activity() { .usePlugin(TableEntryPlugin.create(this)) .usePlugin(SyntaxHighlightPlugin.create(Prism4j(GrammarLocatorDef()), Prism4jThemeDefault.create(0))) .usePlugin(TaskListPlugin.create(this)) + .usePlugin(StrikethroughPlugin.create()) .usePlugin(ReadMeImageDestinationPlugin(intent.data)) .usePlugin(object : AbstractMarkwonPlugin() { override fun configureVisitor(builder: MarkwonVisitor.Builder) { @@ -79,6 +83,10 @@ class ReadMeActivity : Activity() { visitor.builder().append(code) } } + + override fun configureConfiguration(builder: MarkwonConfiguration.Builder) { + builder.linkResolver(ReadMeLinkResolver()) + } }) .build() @@ -120,6 +128,7 @@ class ReadMeActivity : Activity() { is Result.Success -> { val markwon = markwon val node = markwon.parse(result.markdown) + Debug.i(DumpNodes.dump(node)) if (window != null) { recyclerView.post { adapter.setParsedMarkdown(markwon, node) diff --git a/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeLinkResolver.kt b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeLinkResolver.kt new file mode 100644 index 00000000..f83f67ad --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeLinkResolver.kt @@ -0,0 +1,18 @@ +package io.noties.markwon.app.readme + +import android.view.View +import io.noties.markwon.LinkResolverDef +import io.noties.markwon.app.utils.ReadMeUtils + +class ReadMeLinkResolver : LinkResolverDef() { + + override fun resolve(view: View, link: String) { + val matcher = ReadMeUtils.RE_REPOSITORY.matcher(link) + val url = if (matcher.matches()) { + ReadMeUtils.buildRepositoryReadMeUrl(matcher.group(1), matcher.group(2)) + } else { + link + } + super.resolve(view, url) + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/utils/ReadMeUtils.kt b/app-sample/src/main/java/io/noties/markwon/app/utils/ReadMeUtils.kt index a6fbfebf..f603bd17 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/utils/ReadMeUtils.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/utils/ReadMeUtils.kt @@ -4,8 +4,13 @@ import android.net.Uri import java.util.regex.Pattern object ReadMeUtils { + // username, repo, branch, lastPathSegment - private val RE = Pattern.compile("^https:\\/\\/github\\.com\\/(\\w+?)\\/(\\w+?)\\/(?:blob|raw)\\/(\\w+?)\\/(.+)") + @Suppress("RegExpRedundantEscape") + private val RE_FILE = Pattern.compile("^https:\\/\\/github\\.com\\/([\\w-.]+?)\\/([\\w-.]+?)\\/(?:blob|raw)\\/([\\w-.]+?)\\/(.+)\$") + + @Suppress("RegExpRedundantEscape") + val RE_REPOSITORY: Pattern = Pattern.compile("^https:\\/\\/github.com\\/([\\w-.]+?)\\/([\\w-.]+?)\\/*\$") data class GithubInfo( val username: String, @@ -20,7 +25,7 @@ object ReadMeUtils { return null } - val matcher = RE.matcher(data.toString()) + val matcher = RE_FILE.matcher(data.toString()) if (!matcher.matches()) { return null } @@ -38,7 +43,16 @@ object ReadMeUtils { return if (info == null) { data.toString() } else { - "https://github.com/${info.username}/${info.repository}/raw/${info.branch}/${info.fileName}" + buildRawGithubUrl(info) } } + + @Suppress("MemberVisibilityCanBePrivate") + fun buildRawGithubUrl(info: GithubInfo): String { + return "https://github.com/${info.username}/${info.repository}/raw/${info.branch}/${info.fileName}" + } + + fun buildRepositoryReadMeUrl(username: String, repository: String): String { + return buildRawGithubUrl(GithubInfo(username, repository, "master", "README.md")) + } } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 78636b1d..7394e5d0 100644 --- a/build.gradle +++ b/build.gradle @@ -76,7 +76,9 @@ ext { 'commonmark-strikethrough': "com.atlassian.commonmark:commonmark-ext-gfm-strikethrough:$commonMarkVersion", 'commonmark-table' : "com.atlassian.commonmark:commonmark-ext-gfm-tables:$commonMarkVersion", 'android-svg' : 'com.caverock:androidsvg:1.4', + // we need 2 gif artifacts at long as we have a difference in version used for API compatibility 'android-gif' : 'pl.droidsonroids.gif:android-gif-drawable:1.2.15', + 'android-gif-impl' : 'pl.droidsonroids.gif:android-gif-drawable:1.2.20', 'jlatexmath-android' : 'ru.noties:jlatexmath-android:0.2.0', 'okhttp' : 'com.squareup.okhttp3:okhttp:3.9.0', 'prism4j' : 'io.noties:prism4j:2.0.0', From bea6d6aeecdb1b55474aeb2497ec06babe4480c0 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Fri, 26 Jun 2020 17:56:42 +0300 Subject: [PATCH 22/52] MakwonReducer filter out LinkReferenceDefinition --- CHANGELOG.md | 1 + .../java/io/noties/markwon/app/readme/ReadMeActivity.kt | 2 -- .../src/main/java/io/noties/markwon/MarkwonReducer.java | 7 ++++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be426a6e..b9a246ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ * `inline-parser` - `BangInlineProcessor` properly returns `null` if no image node is found (possible to define other inline parsers that use `!` as special character) * `image` - `AsyncDrawable` won't trigger loading if it has result (aim: `RecyclerView` due to multiple attach/detach events of a View) * `image` - `AsyncDrawable` will resume result if it is `Animatable` and was playing before detach event (aim: `RecyclerView`) ([#241]) +* `core` - `MarkwonReducer` filter out `LinkReferenceDefinition` nodes #### Fixed * `image-glide` cache `RequestManager` in `GlideImagesPlugin#create(Context)` factory method ([#259]) diff --git a/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt index 3a5231f8..45143557 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt @@ -29,7 +29,6 @@ import io.noties.markwon.recycler.table.TableEntry import io.noties.markwon.recycler.table.TableEntryPlugin import io.noties.markwon.syntax.Prism4jThemeDefault import io.noties.markwon.syntax.SyntaxHighlightPlugin -import io.noties.markwon.utils.DumpNodes import io.noties.prism4j.Prism4j import io.noties.prism4j.annotations.PrismBundle import okhttp3.Call @@ -128,7 +127,6 @@ class ReadMeActivity : Activity() { is Result.Success -> { val markwon = markwon val node = markwon.parse(result.markdown) - Debug.i(DumpNodes.dump(node)) if (window != null) { recyclerView.post { adapter.setParsedMarkdown(markwon, node) diff --git a/markwon-core/src/main/java/io/noties/markwon/MarkwonReducer.java b/markwon-core/src/main/java/io/noties/markwon/MarkwonReducer.java index c54f8c2d..146b20e3 100644 --- a/markwon-core/src/main/java/io/noties/markwon/MarkwonReducer.java +++ b/markwon-core/src/main/java/io/noties/markwon/MarkwonReducer.java @@ -2,6 +2,7 @@ package io.noties.markwon; import androidx.annotation.NonNull; +import org.commonmark.node.LinkReferenceDefinition; import org.commonmark.node.Node; import java.util.ArrayList; @@ -48,7 +49,11 @@ public abstract class MarkwonReducer { Node temp; while (node != null) { - list.add(node); + // @since $nap; do not include LinkReferenceDefinition node (would result + // in empty textView if rendered in recycler-view) + if (!(node instanceof LinkReferenceDefinition)) { + list.add(node); + } temp = node.getNext(); node.unlink(); node = temp; From dc139319a0c2171bc5e3e4948ba191af532ead4c Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Fri, 26 Jun 2020 18:30:51 +0300 Subject: [PATCH 23/52] Sample app, first real sample --- app-sample/samples.json | 41 ++---------- .../java/io/noties/markwon/app/sample/Tags.kt | 5 ++ .../noties/markwon/app/samples/FirstSample.kt | 30 --------- .../markwon/app/samples/basics/Simple.kt | 33 ++++++++++ .../app/samples/nested/SecondSample.kt | 65 ------------------- .../app/samples/nested/ThirdSample.java | 22 ------- .../sample/annotations/MarkwonSampleInfo.java | 3 +- .../processor/MarkwonSampleProcessor.java | 19 ++++-- 8 files changed, 59 insertions(+), 159 deletions(-) create mode 100644 app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt delete mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/basics/Simple.kt delete mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt delete mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java diff --git a/app-sample/samples.json b/app-sample/samples.json index 99073ffe..a3e1d5b2 100644 --- a/app-sample/samples.json +++ b/app-sample/samples.json @@ -1,45 +1,14 @@ [ { - "javaClassName": "io.noties.markwon.app.samples.nested.ThirdSample", - "id": "202006177155827", - "title": "Third sample", - "description": "\u003e yo! \n\n```\nfinal int i \u003d 0;\n```", - "artifacts": [ - "EDITOR", - "SIMPLE_EXT" - ], - "tags": [ - "a", - "c", - "test" - ] - }, - { - "javaClassName": "io.noties.markwon.app.samples.nested.SecondSample", - "id": "202006177155656", - "title": "Second sample", - "description": "# Hey hey hey", - "artifacts": [ - "CORE", - "RECYCLER" - ], - "tags": [ - "a", - "b", - "c", - "test" - ] - }, - { - "javaClassName": "io.noties.markwon.app.samples.FirstSample", - "id": "202006164150023", - "title": "First Sample", - "description": "This **is** _the first_ sample", + "javaClassName": "io.noties.markwon.app.samples.basics.Simple", + "id": "202006178152255", + "title": "Simple", + "description": "The most primitive and simple way to apply markdown to a `TextView`", "artifacts": [ "CORE" ], "tags": [ - "test" + "basics" ] } ] \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt new file mode 100644 index 00000000..cfa5b91b --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt @@ -0,0 +1,5 @@ +package io.noties.markwon.app.sample + +object Tags { + const val basics = "basics" +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt deleted file mode 100644 index cc4c512a..00000000 --- a/app-sample/src/main/java/io/noties/markwon/app/samples/FirstSample.kt +++ /dev/null @@ -1,30 +0,0 @@ -package io.noties.markwon.app.samples - -import io.noties.markwon.Markwon -import io.noties.markwon.app.sample.ui.MarkwonTextViewSample -import io.noties.markwon.sample.annotations.MarkwonArtifact -import io.noties.markwon.sample.annotations.MarkwonSampleInfo - -@MarkwonSampleInfo( - id = "202006164150023", - title = "First Sample", - description = "This **is** _the first_ sample", - artifacts = [MarkwonArtifact.CORE], - tags = ["test"] -) -class FirstSample : MarkwonTextViewSample() { - - override fun render() { - - val md = """ - # Hello there! - > How are you? - - **bold** and _italic_ and **bold _italic bold_ just bold** - """.trimIndent() - - val markwon: Markwon = Markwon.create(context) - - markwon.setMarkdown(textView, md) - } -} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/basics/Simple.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/basics/Simple.kt new file mode 100644 index 00000000..91d1e596 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/basics/Simple.kt @@ -0,0 +1,33 @@ +package io.noties.markwon.app.samples.basics + +import io.noties.markwon.Markwon +import io.noties.markwon.app.sample.Tags +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo + +@MarkwonSampleInfo( + id = "202006178152255", + title = "Simple", + description = "The most primitive and simple way to apply markdown to a `TextView`", + artifacts = [MarkwonArtifact.CORE], + tags = [Tags.basics] +) +class Simple : MarkwonTextViewSample() { + override fun render() { + // markdown input + val md = """ + # Heading + + > A quote + + **bold _italic_ bold** + """.trimIndent() + + // markwon instance + val markwon = Markwon.create(context) + + // apply raw markdown (internally parsed and rendered) + markwon.setMarkdown(textView, md) + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt deleted file mode 100644 index 6707dfea..00000000 --- a/app-sample/src/main/java/io/noties/markwon/app/samples/nested/SecondSample.kt +++ /dev/null @@ -1,65 +0,0 @@ -package io.noties.markwon.app.samples.nested - -import io.noties.markwon.Markwon -import io.noties.markwon.app.sample.ui.MarkwonTextViewSample -import io.noties.markwon.sample.annotations.MarkwonArtifact -import io.noties.markwon.sample.annotations.MarkwonSampleInfo - -@MarkwonSampleInfo( - id = "202006177155656", - title = "Second sample", - description = "# Hey hey hey", - artifacts = [MarkwonArtifact.CORE, MarkwonArtifact.RECYCLER], - tags = ["b", "c", "a", "test"] -) -class SecondSample : MarkwonTextViewSample() { - override fun render() { - val md = """ - # Hello second - - ```java - final int i = 0; - ``` - """.trimIndent() - - val markwon = Markwon.create(context) - markwon.setMarkdown(textView, md) - } - - val _mock: String - get() = """ - a - b - d - s - as - sd - ds - sd - s - sd - sd - ds - sd - sd - sd - sd - sd - sd - ds - sd - sd - - s - sd - sd - sd - sd - sd - - ds - sd - sd - sd - """.trimIndent() -} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java deleted file mode 100644 index 032d3eb2..00000000 --- a/app-sample/src/main/java/io/noties/markwon/app/samples/nested/ThirdSample.java +++ /dev/null @@ -1,22 +0,0 @@ -package io.noties.markwon.app.samples.nested; - -import io.noties.markwon.Markwon; -import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; -import io.noties.markwon.sample.annotations.MarkwonArtifact; -import io.noties.markwon.sample.annotations.MarkwonSampleInfo; - -@MarkwonSampleInfo( - id = "202006177155827", - title = "Third sample", - description = "> yo! \n\n```\nfinal int i = 0;\n```", - artifacts = {MarkwonArtifact.SIMPLE_EXT, MarkwonArtifact.EDITOR}, - tags = {"a", "c", "test"} -) -public class ThirdSample extends MarkwonTextViewSample { - @Override - public void render() { - final String md = "# Hello!"; - final Markwon markwon = Markwon.create(context); - markwon.setMarkdown(textView, md); - } -} diff --git a/sample-utils/annotations/io/noties/markwon/sample/annotations/MarkwonSampleInfo.java b/sample-utils/annotations/io/noties/markwon/sample/annotations/MarkwonSampleInfo.java index 234a1f1f..8a994a65 100644 --- a/sample-utils/annotations/io/noties/markwon/sample/annotations/MarkwonSampleInfo.java +++ b/sample-utils/annotations/io/noties/markwon/sample/annotations/MarkwonSampleInfo.java @@ -5,6 +5,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +// NB! if class was just removed if won't be removed from samples.json @Retention(RetentionPolicy.SOURCE) @Target(ElementType.TYPE) public @interface MarkwonSampleInfo { @@ -22,7 +23,7 @@ public @interface MarkwonSampleInfo { String title(); - String description(); + String description() default ""; MarkwonArtifact[] artifacts(); diff --git a/sample-utils/processor/src/main/java/io/noties/markwon/sample/processor/MarkwonSampleProcessor.java b/sample-utils/processor/src/main/java/io/noties/markwon/sample/processor/MarkwonSampleProcessor.java index 735b3f21..e028e893 100644 --- a/sample-utils/processor/src/main/java/io/noties/markwon/sample/processor/MarkwonSampleProcessor.java +++ b/sample-utils/processor/src/main/java/io/noties/markwon/sample/processor/MarkwonSampleProcessor.java @@ -21,6 +21,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; +import java.util.HashSet; import java.util.List; import java.util.ListIterator; import java.util.Locale; @@ -87,16 +88,22 @@ public class MarkwonSampleProcessor extends AbstractProcessor { if (!roundEnvironment.processingOver()) { final long begin = System.currentTimeMillis(); final Set elements = roundEnvironment.getElementsAnnotatedWith(MarkwonSampleInfo.class); - if (elements != null) { + // we should not have zero samples + if (elements != null && elements.size() > 0) { + final HashSet markwonSamples = new HashSet<>(); for (Element element : elements) { - process(element); + try { + markwonSamples.add(parse((TypeElement) element)); + } catch (Throwable t) { + throw new RuntimeException(t); + } } - if (samplesUpdated) { + if (!markwonSamples.equals(new HashSet<>(samples))) { logger.info("samples updated, writing at path: %s", samplesFilePath); try { - writeSamples(samplesFilePath, samples); + writeSamples(samplesFilePath, markwonSamples); } catch (Throwable t) { logger.error(t.getMessage()); throw new RuntimeException(t); @@ -145,7 +152,7 @@ public class MarkwonSampleProcessor extends AbstractProcessor { } } - private static void writeSamples(@NonNull String path, @NonNull List samples) throws Throwable { + private static void writeSamples(@NonNull String path, @NonNull Set markwonSamples) throws Throwable { final File file = new File(path); @@ -159,6 +166,8 @@ public class MarkwonSampleProcessor extends AbstractProcessor { } } + final List samples = new ArrayList<>(markwonSamples); + // sort based on id (it is date) // new items come first (DESC order) Collections.sort(samples, (lhs, rhs) -> rhs.id.compareTo(lhs.id)); From 377d8c6deb09b0bf1992e5a3f8d921d38bc1cc9b Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Fri, 26 Jun 2020 18:43:35 +0300 Subject: [PATCH 24/52] Sample app another smple --- app-sample/samples.json | 12 +++++ .../app/samples/basics/SimpleWalkthrough.kt | 47 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/basics/SimpleWalkthrough.kt diff --git a/app-sample/samples.json b/app-sample/samples.json index a3e1d5b2..aa01906b 100644 --- a/app-sample/samples.json +++ b/app-sample/samples.json @@ -1,4 +1,16 @@ [ + { + "javaClassName": "io.noties.markwon.app.samples.basics.SimpleWalkthrough", + "id": "202006178153426", + "title": "Simple with walk-through", + "description": "Walk-through for simple use case", + "artifacts": [ + "CORE" + ], + "tags": [ + "basics" + ] + }, { "javaClassName": "io.noties.markwon.app.samples.basics.Simple", "id": "202006178152255", diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/basics/SimpleWalkthrough.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/basics/SimpleWalkthrough.kt new file mode 100644 index 00000000..7f9b1a6b --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/basics/SimpleWalkthrough.kt @@ -0,0 +1,47 @@ +package io.noties.markwon.app.samples.basics + +import android.text.Spanned +import io.noties.markwon.Markwon +import io.noties.markwon.app.sample.Tags +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample +import io.noties.markwon.core.CorePlugin +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo +import org.commonmark.node.Node + +@MarkwonSampleInfo( + id = "202006178153426", + title = "Simple with walk-through", + description = "Walk-through for simple use case", + artifacts = [MarkwonArtifact.CORE], + tags = [Tags.basics] +) +class SimpleWalkthrough : MarkwonTextViewSample() { + override fun render() { + val md: String = """ + # Hello! + + > a quote + + ``` + code block + ``` + """.trimIndent() + + // create markwon instance via builder method + val markwon: Markwon = Markwon.builder(context) + // add required plugins + // NB, there is no need to add CorePlugin as it is added automatically + .usePlugin(CorePlugin.create()) + .build() + + // parse markdown into commonmark representation + val node: Node = markwon.parse(md) + + // render commonmark node + val markdown: Spanned = markwon.render(node) + + // apply it to a TextView + markwon.setParsedMarkdown(textView, markdown) + } +} \ No newline at end of file From 25740d7389887fdcff5377024229d38ba264364d Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Sat, 27 Jun 2020 11:24:55 +0300 Subject: [PATCH 25/52] Sample app, adding samples --- CHANGELOG.md | 2 +- app-sample/samples.json | 95 ++++++++++++++++++ .../java/io/noties/markwon/app/sample/Tags.kt | 8 ++ .../app/samples/EnabledBlockTypesSample.kt | 45 +++++++++ .../app/samples/ToastDynamicContentSample.kt | 73 ++++++++++++++ .../noties/markwon/app/samples/ToastSample.kt | 38 +++++++ .../DisableImplicitMovementMethodSample.kt | 43 ++++++++ .../ExplicitMovementMethodSample.kt | 37 +++++++ .../ImplicitMovementMethodSample.kt | 33 ++++++ .../MovementMethodPluginSample.kt | 33 ++++++ art/sample-app.epgz | Bin 172094 -> 188092 bytes .../io/noties/markwon/core/CorePlugin.java | 8 +- .../movement/MovementMethodPlugin.java | 2 +- .../noties/markwon/core/CorePluginTest.java | 10 +- .../markwon/sample/core/CoreActivity.java | 6 +- 15 files changed, 415 insertions(+), 18 deletions(-) create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/EnabledBlockTypesSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/ToastDynamicContentSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/ToastSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ExplicitMovementMethodSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ImplicitMovementMethodSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/MovementMethodPluginSample.kt diff --git a/CHANGELOG.md b/CHANGELOG.md index b9a246ba..845d8b01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ #### Added * `core` - `MovementMethodPlugin.none()`, `MovementMethodPlugin.link()` factory methods -* `core` - `CorePlugin` `hasExplicitMovementMethodPlugin` configuration method to **not** add implicit `LinkMovementMethod` in `afterSetText` +* `core` - `CorePlugin` `hasExplicitMovementMethod` configuration method to **not** add implicit `LinkMovementMethod` in `afterSetText` #### Changed * `html` - `SimpleTagHandler` visits children tags if supplied tag is block one ([#235]) diff --git a/app-sample/samples.json b/app-sample/samples.json index aa01906b..4b274493 100644 --- a/app-sample/samples.json +++ b/app-sample/samples.json @@ -1,4 +1,99 @@ [ + { + "javaClassName": "io.noties.markwon.app.samples.movementmethod.MovementMethodPluginSample", + "id": "202006179081631", + "title": "MovementMethodPlugin", + "description": "Plugin to control movement method", + "artifacts": [ + "CORE" + ], + "tags": [ + "links", + "movement-method", + "plugin" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.movementmethod.DisableImplicitMovementMethodSample", + "id": "202006179081256", + "title": "Disable implicit movement method", + "description": "Configure `Markwon` to **not** apply implicit movement method", + "artifacts": [ + "CORE" + ], + "tags": [ + "links", + "movement-method", + "plugin", + "recycler-view" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.movementmethod.ExplicitMovementMethodSample", + "id": "202006179080007", + "title": "Explicit movement method", + "description": "When a movement method already applied to a `TextView``Markwon` won\u0027t try to apply own (implicit) one", + "artifacts": [ + "CORE" + ], + "tags": [ + "links", + "movement-method" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.movementmethod.ImplicitMovementMethodSample", + "id": "202006179075524", + "title": "Implicit movement method", + "description": "By default movement method is applied for links to be clickable", + "artifacts": [ + "CORE" + ], + "tags": [ + "links", + "movement-method" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.EnabledBlockTypesSample", + "id": "202006179075012", + "title": "Enabled markdown blocks", + "description": "Modify/inspect enabled by `CorePlugin` block types. Disable quotes or other blocks from being parsed", + "artifacts": [ + "CORE" + ], + "tags": [ + "block", + "parsing", + "plugin" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.ToastDynamicContentSample", + "id": "202006179074017", + "title": "Markdown in Toast (with dynamic content)", + "description": "Display markdown in a `android.widget.Toast` with dynamic content (image)", + "artifacts": [ + "CORE", + "IMAGE" + ], + "tags": [ + "hack", + "toast" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.ToastSample", + "id": "202006179072642", + "title": "Markdown in Toast", + "description": "Display _static_ markdown content in a `android.widget.Toast`", + "artifacts": [ + "CORE" + ], + "tags": [ + "toast" + ] + }, { "javaClassName": "io.noties.markwon.app.samples.basics.SimpleWalkthrough", "id": "202006178153426", diff --git a/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt index cfa5b91b..748fe16a 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt @@ -2,4 +2,12 @@ package io.noties.markwon.app.sample object Tags { const val basics = "basics" + const val toast = "toast" + const val hack = "hack" + const val parsing = "parsing" + const val block = "block" + const val movementMethod = "movement-method" + const val links = "links" + const val plugin = "plugin" + const val recyclerView = "recycler-view" } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/EnabledBlockTypesSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/EnabledBlockTypesSample.kt new file mode 100644 index 00000000..e68eb486 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/EnabledBlockTypesSample.kt @@ -0,0 +1,45 @@ +package io.noties.markwon.app.samples + +import io.noties.markwon.AbstractMarkwonPlugin +import io.noties.markwon.Markwon +import io.noties.markwon.app.sample.Tags +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample +import io.noties.markwon.core.CorePlugin +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo +import org.commonmark.node.BlockQuote +import org.commonmark.parser.Parser + +@MarkwonSampleInfo( + id = "202006179075012", + title = "Enabled markdown blocks", + description = "Modify/inspect enabled by `CorePlugin` block types. " + + "Disable quotes or other blocks from being parsed", + artifacts = [MarkwonArtifact.CORE], + tags = [Tags.parsing, Tags.block, Tags.plugin] +) +class EnabledBlockTypesSample : MarkwonTextViewSample() { + override fun render() { + val md = """ + # Heading + ## Second level + > Quote is not handled + """.trimIndent() + + val markwon = Markwon.builder(context) + .usePlugin(object : AbstractMarkwonPlugin() { + override fun configureParser(builder: Parser.Builder) { + // obtain all enabled block types + val enabledBlockTypes = CorePlugin.enabledBlockTypes() + // it is safe to modify returned collection + // remove quotes + enabledBlockTypes.remove(BlockQuote::class.java) + + builder.enabledBlockTypes(enabledBlockTypes) + } + }) + .build() + + markwon.setMarkdown(textView, md) + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/ToastDynamicContentSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/ToastDynamicContentSample.kt new file mode 100644 index 00000000..41212db2 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/ToastDynamicContentSample.kt @@ -0,0 +1,73 @@ +package io.noties.markwon.app.samples + +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import android.widget.Toast +import io.noties.markwon.Markwon +import io.noties.markwon.app.sample.Tags +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample +import io.noties.markwon.image.ImagesPlugin +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo + +@MarkwonSampleInfo( + id = "202006179074017", + title = "Markdown in Toast (with dynamic content)", + description = "Display markdown in a `android.widget.Toast` with dynamic content (image)", + artifacts = [MarkwonArtifact.CORE, MarkwonArtifact.IMAGE], + tags = [Tags.toast, Tags.hack] +) +class ToastDynamicContentSample : MarkwonTextViewSample() { + override fun render() { + val md = """ + # Head! + + ![alt](https://github.com/noties/Markwon/raw/master/art/markwon_logo.png) + + Do you see an image? ☝️ + """.trimIndent() + + val markwon = Markwon.builder(context) + .usePlugin(ImagesPlugin.create()) + .build() + + val markdown = markwon.toMarkdown(md) + + val toast = Toast.makeText(context, markdown, Toast.LENGTH_LONG) + + // try to obtain textView + val textView = toast.textView + if (textView != null) { + markwon.setParsedMarkdown(textView, markdown) + } + + // finally show toast (at this point, if we didn't find TextView it will still + // present markdown, just without dynamic content (image)) + toast.show() + } +} + +private val Toast.textView: TextView? + get() { + + fun find(view: View?): TextView? { + + if (view is TextView) { + return view + } + + if (view is ViewGroup) { + for (i in 0 until view.childCount) { + val textView = find(view.getChildAt(i)) + if (textView != null) { + return textView + } + } + } + + return null + } + + return find(view) + } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/ToastSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/ToastSample.kt new file mode 100644 index 00000000..89f6e978 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/ToastSample.kt @@ -0,0 +1,38 @@ +package io.noties.markwon.app.samples + +import android.widget.Toast +import io.noties.markwon.Markwon +import io.noties.markwon.app.sample.Tags +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo + +@MarkwonSampleInfo( + id = "202006179072642", + title = "Markdown in Toast", + description = "Display _static_ markdown content in a `android.widget.Toast`", + artifacts = [MarkwonArtifact.CORE], + tags = [Tags.toast] +) +class ToastSample : MarkwonTextViewSample() { + override fun render() { + // NB! only _static_ content is going to be displayed, + // so, no images, tables or latex in a Toast + val md = """ + # Heading is fine + > Even quote if **fine** + ``` + finally code works; + ``` + _italic_ to put an end to it + """.trimIndent() + + val markwon = Markwon.create(context) + + // render raw input to styled markdown + val markdown = markwon.toMarkdown(md) + + // Toast accepts CharSequence and allows styling via spans + Toast.makeText(context, markdown, Toast.LENGTH_LONG).show() + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodSample.kt new file mode 100644 index 00000000..82116b06 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodSample.kt @@ -0,0 +1,43 @@ +package io.noties.markwon.app.samples.movementmethod + +import io.noties.markwon.AbstractMarkwonPlugin +import io.noties.markwon.Markwon +import io.noties.markwon.MarkwonPlugin +import io.noties.markwon.app.sample.Tags +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample +import io.noties.markwon.core.CorePlugin +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo + +@MarkwonSampleInfo( + id = "202006179081256", + title = "Disable implicit movement method", + description = "Configure `Markwon` to **not** apply implicit movement method", + artifacts = [MarkwonArtifact.CORE], + tags = [Tags.plugin, Tags.movementMethod, Tags.links, Tags.recyclerView] +) +class DisableImplicitMovementMethodSample : MarkwonTextViewSample() { + override fun render() { + val md = """ + # Disable implicit movement method + Sometimes it is required to stop `Markwon` from applying _implicit_ + movement method (for example when used inside in a `RecyclerView` + in order to make the whole itemView clickable). `Markwon` inspects + `TextView` and applies implicit movement method if `getMovementMethod()` + returns `null`. No [links](https://github.com) will be clickable in this + markdown + """.trimIndent() + + val markwon = Markwon.builder(context) + .usePlugin(object : AbstractMarkwonPlugin() { + override fun configure(registry: MarkwonPlugin.Registry) { + registry.require(CorePlugin::class.java) + // this flag will make sure that CorePlugin won't apply any movement method + .hasExplicitMovementMethod(true) + } + }) + .build() + + markwon.setMarkdown(textView, md) + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ExplicitMovementMethodSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ExplicitMovementMethodSample.kt new file mode 100644 index 00000000..224e4714 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ExplicitMovementMethodSample.kt @@ -0,0 +1,37 @@ +package io.noties.markwon.app.samples.movementmethod + +import android.text.method.ScrollingMovementMethod +import io.noties.markwon.Markwon +import io.noties.markwon.app.sample.Tags +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo + +@MarkwonSampleInfo( + id = "202006179080007", + title = "Explicit movement method", + description = "When a movement method already applied to a `TextView`" + + "`Markwon` won't try to apply own (implicit) one", + artifacts = [MarkwonArtifact.CORE], + tags = [Tags.movementMethod, Tags.links] +) +class ExplicitMovementMethodSample : MarkwonTextViewSample() { + override fun render() { + val md = """ + # Explicit movement method + If `TextView` already has a movement method specified, then `Markwon` + won't be applying a default one. You can specify movement + method via call to `setMovementMethod`. If your movement method can + handle [links](https://github.com/noties/Markwon) then link would be + _clickable_ + """.trimIndent() + + val markwon = Markwon.create(context) + + // own movement method that does not handle clicks would still be used + // (no default aka implicit method would be applied by Markwon) + textView.movementMethod = ScrollingMovementMethod.getInstance() + + markwon.setMarkdown(textView, md) + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ImplicitMovementMethodSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ImplicitMovementMethodSample.kt new file mode 100644 index 00000000..e0f1da49 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ImplicitMovementMethodSample.kt @@ -0,0 +1,33 @@ +package io.noties.markwon.app.samples.movementmethod + +import io.noties.markwon.Markwon +import io.noties.markwon.app.sample.Tags +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo + +@MarkwonSampleInfo( + id = "202006179075524", + title = "Implicit movement method", + description = "By default movement method is applied for links to be clickable", + artifacts = [MarkwonArtifact.CORE], + tags = [Tags.movementMethod, Tags.links] +) +class ImplicitMovementMethodSample : MarkwonTextViewSample() { + override fun render() { + val md = """ + # Implicit movement method + By default `Markwon` applies `LinkMovementMethod` if it is missing, + so in order for [links](https://github.com/noties/Markwon) to be clickable + nothing special should be done + """.trimIndent() + + // by default Markwon will apply a `LinkMovementMethod` if + // it is missing. So, in order for links to be clickable + // nothing should be done + + val markwon = Markwon.create(context) + + markwon.setMarkdown(textView, md) + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/MovementMethodPluginSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/MovementMethodPluginSample.kt new file mode 100644 index 00000000..f8d22647 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/MovementMethodPluginSample.kt @@ -0,0 +1,33 @@ +package io.noties.markwon.app.samples.movementmethod + +import io.noties.markwon.Markwon +import io.noties.markwon.app.sample.Tags +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample +import io.noties.markwon.movement.MovementMethodPlugin +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo + +@MarkwonSampleInfo( + id = "202006179081631", + title = "MovementMethodPlugin", + description = "Plugin to control movement method", + artifacts = [MarkwonArtifact.CORE], + tags = [Tags.movementMethod, Tags.links, Tags.plugin] +) +class MovementMethodPluginSample : MarkwonTextViewSample() { + override fun render() { + val md = """ + # MovementMethodPlugin + `MovementMethodPlugin` can be used to apply movement method + explicitly. Including specific case to disable implicit movement + method which is applied when `TextView.getMovementMethod()` + returns `null`. A [link](https://github.com) + """.trimIndent() + + val markwon = Markwon.builder(context) + .usePlugin(MovementMethodPlugin.link()) + .build() + + markwon.setMarkdown(textView, md) + } +} \ No newline at end of file diff --git a/art/sample-app.epgz b/art/sample-app.epgz index 43d2f596a0565d11fb180cab0ab5422cf7e053db..d5d47b947cf8c4b07486d1de8715542cbe44930a 100644 GIT binary patch delta 183988 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%0D=K2r6qpQEn&mDYIeav{n3?cz?abla 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�(hi=9&BQ$_gCR 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 delta 167847 zcmbrlQ*dQb_wF5a*s*Qfwv&#%W83DA?H#*g+w64Mv8|46^Yr`2xjWy@S2b!~jJ0a6 zQFE=TIp_0xMt2WF?=Sd72Ox*hH%qdkOmVw|)4ouM6 z&dV_{H1zv8oJCOE8g5&i$X=DIMq_p_NLW{X)G>*Fk4?XWs9=g8WIsJHQ^XRB4Kg`tYmXt>Xl>Eb=`Aq zy-MK)ahiV$FfsyfX)qsr}wg>v}>PF zTQ2Av)YmKYD#tAbqV;4bV4j~RrjTAv`pu-yi*rtC$GP|MNRywx&n;o_hU=a+uP@NY z|27wL!1ujvJYP2e>5|1)wMQ;}{_d_%fmyK^lJarm{m$(*=u)@mY|;n4`=VpR zbGv(+E#s>kNHstHm5Mh1RINr6*BNLYr_kE7v z&yVQc8p?Hkb_twJ-L_G;KwuU8R2vFq3ezr0{pLMb#JZFLx_o8x>#m$1N8Zl!gI!Ly z{Ca1Mh586dQYW9er4Lwr;rJ+0c3Do(mjjg|AMou1od}LSt9Vm&W1rN_;zDn3E%yZGz%RAsgZyRT z(41+ZUPJGN3^wPgj#R)4;>(z3Gz{S~Y0)ih26?%W-u4h}OYv z_2(J+9{^9je^BQ$H6c)-AotC$PD2}cCqf-Z`19?q>4`XlGPj9*4d>uXc2~;ax<)|cct<(t|2L||(9iNpwE`A*+)V1GOF!DOU`E5pR zyE6a`J=3rD94XgSxZj>D``Gf(n)CI)?%iSf&R#7evQM}er3hu77SG3SCpVHJh+O~R z%#w%3iBjY1$N&B*PRLkTH5l$nw^OJq8tLIhR6Fiik>D?>=i0zkI(+^-CCTmzO{6j<}yNMzU6mElSFLd^)Hjy@`KdeWbttj1J5R zj!U{MS&J(Tgr(Nc3*dRf5i$TKn6}fUm>YOMy9wql`oxPL^>F@|IOmJE14J+~ASBT^1W7v>5&Y~B57;ep-f;2a;rGDWHIhK-2W1=SB# z{=Ut1tssC?v+4fZ?-FZ}!tO1)_Kw~=?X&ko*fHK?mxRen`VnY&nehv#X&p_{Px{-6 zBwD@Z&#Lcl>{D^y_9E-B9t4eMmwoP$J*{yJaH_GbblTTPPqXMgqf)B_lZl6GmO@wn z>J7e7UN{XNQBQI$t2*AOUTh`Gu=vAlWZ|z~w!-ql-mM`>&7u9*76KiD6=qAP$37Vj?p4<5LT&)iYrT7W$(s%G)H4BqT^qAUZOe6%_)0_wct5;g6bxG4vdo6pf_+-MOZ4DxIJ=>>DQ@9UftP2~ z_TH?3ocB-D-kiJx&w1D6ij$#b;T%d?s9DIet=g(2U&UcB zU~ImbSPZ)l2zUebsK7IYmN*|cG%seO3c4u~dC}ABP-6FeKGgMfXcKWWVQG|_Ly+vN zCUQvq6`YGjpv0-@~ivdFy_b=-4)O z{XxS|T>!#cZ)3A)FU&c1d?*!M?WHa8yogK=SVuaR^rHs$q!8PC?=%lrQYskwPX%0l zE(D#$?j2ps1!4L@ee_Qwknj|ovBs)wBKjXrxx5^mJm?6@*Nl9Tejog8ZOD>Q2p?3A zz!YtyPNxD$t#oov4-Ll0?PDt1Sqe=_N6{)-h~%VA^;$OfVoiP~!QE`6>7_0Dc>c5% zGCM~~|C$22GHGgOsI{CqeVm*Mqc0x6^@z(X=pU2 z-#r_(TP;t@pI0)q^3_a&tC{)8nj);N4~KrtI2^w1I^AjfN8Adex^RckU_Qm$og7Lg z_}=JUS2rPfe2LD~&YwG^RZ5v4gFmL^RB!tyRo-VD5+&V!Bpf+2U?8Vmidf7B0|>gT zBpQCMkvAY3ud%8N$SGHE{+m1i6 zd`*$6(eCbkT&IDYT})0;-TCr(&K!sHTrQ?*t9t)UcMG?hL7tjU3f_D*%qDGAa|bwU z14OIY_+1U7AUkV(9v9Y$^Sun(Ufd6K%8Lv$m}5zs9~C%0L3=={w7CT8IW>K7{TVE3 zJi)%LS$azSIgZI)NWs4_C5IJP8N}JJbrr>Hk1)e3A9MT^oAf+zkZx&>n`1IZ0>T#0 z_R&zG#HsHYW%$2tq~(!#@~t8eMjI(=imHOAtf!^J=~iro2~>VQ_vlef;bOu8qA(^` zdDkP~LmUc*=k$P5wD+NPG~zW!?G4qLD6R$fGIAKp$dhp8V&=e|T*nIvopu$K4#v%0 z8eX}uPRdg_6@0mAH8tm#>SXky7d%9@(D%ye_`kb06^n2As+XOUS$xJ>0#6+aPDHPC=yElGmQ3!%BsE^&`MN#6C34kf^hDMdnDPPd5dX%fzU?%AXs^s7s7d98a zt1@0=mkn+H#LtRZTXD*TTnufip|WFU8zcwia?k?Rn_#zoFgSorE151UWzHqr2xfwxQWVGAe;E)#j;4E9%CB=)v%xf%22}V!zk0 zK^~kjKv>x|`6THO=+p1t<5dh@%w1!69W9Q+7dfT!7R=ip2~;gyiW@8O=l{??t!tgj`e2)tE-{N4tAuwDO4*@gi#dIm;! zaqaOjK*EMC!Qg?-u|iW;2>%|Hkm3(%WO1yTJK}9q2w3J4c>C%115H;@92YilP_=_# z6lZ$bAKz%E?bL=m#dvr)B;-Ul!^~bp-T_}|$2f9Krbg`KRwhiZXW^Het3Nw<0sTy< zMhnqtyWE)l^w5ei=#R*v`CeKRN<5cbj14bScpZ zfI$t9pRIaeNtWbv)FAnW#)H+8`)!QaZ}33X{ZTQcjTC9 zEkx`8D|e&$7-~CA^$cJpeJ@x7MrNwerpp zxBf=yqdvC3kBnYFMim4~t7jI(b#&wlZztv;$cqi8Mx%ve&$omtl@j9vT4g>hy@{Ta z+&2p){EhjU7}8t%=9oxK$vB21{4eMhlWiO21hW$JGi99Abbw?l4Th9XNhDs?c@$&=U)jn!DQ5Q6)*meM**{ zKpsEi9>`d3g+%^3aU6Cl{8S1u=X9D|Jv+%Xc|!^gPMXnhcfkzb)A!aWYGLMD@N%0O z&xO^g^~LOK$Q#&ed=i-I{df1Rx5^BdyL9%Y6404-!D_5Px^gTVsD~2Nq6hC-P>$F0 z+kf12_|lM=-Qx-Zcgr1fITBT9fb4RNY1599DzzBF`93iSyC+61G>w;XLc~4t!NE4~ zj+3M^q~#zZl`?Sg!tBpF=>XG>W3M9+-*>=d*HV|r{tal_K7pY2#VPpq{6I;clw+rR z0ml*Dj$%a-8r_(NQc`*|l_&#sq1JBRGBSpGy!tvY*9h)zNK(y1X_Qd|=GNpMgfA82 z&`b3@27<6IYII0!+^=EZVxz#kwfdK5ym2pl1IKW)Xw#l3E>xVCATN8aqx$0QLY+8~ z_eiLVO*K##*)D=3-4+t+K{wFBxy2Sa&O0#3fi}pV8D^m5AYF~g`r2%Yg5L-HV|&W! z^<$MaA9LW}KCa8Py$*kB?#b`NrsHkf+x0{<d0z31))W8y>> zQ96ytr@#TLX!J-jpCmIebhoWAG`TpDXns0u*>2$1>(kS~_T^aXMmzNNu}qEnWCy3O0<0p%?9v6sQ(WYW=3~)bv$->=%l9=LfYlgGjH?neE!M zM#1vs^g#(pXd&escDK;aa%y@dP6p+aJ5`Js5(MT8lR~Ye^K(oVpi6V8LRF=G**0j} z?L6T3jJei&3VQt>TfcxYir*04D`IKLMw$nt0k;!Z8}FLoxAOWv9@&XNN~q%+%Q!FcREQf6 z;-;E4`UbVL<=9vbPmMQD7O}UN@(&=Ic~{%gRbNXVjMYak=KIwrpwDUH)!+J!rGZ0~ z-E-+R4D*iV0Cq4u!5`4Kb5Ne`zcD28qYNS_(g-$w(h~OBerXDZ(#}a^qx6Y?mi+Zg z(haDgz%~z?>OzB4v<@MX0Ic9maUA?4okj~Vl#sj~#MG7b0VfOtXtOvUlr7K_EVflTNnpvs(m{!Hc-T zs<&gUnK&in0tY~!$N;)5J=2LtP1lveGmVxotXNdRs_9 zXnND;(UYlq({}O4E$~!3OwLtvkf53#5QGSemQrU;%`!vap(gB$h+CXVx``)N4-MPC zc=yBb0lNqKDIaR$DJN$W-nPz|?xmx8g0la|tcZ-=KZSst&)mL-7fLsm7J;4Y{XFYY42Z7WmiMa;3xVseMVeUgED@ zqZPPT!zE%_FNK6H?`#q0}1hLzxwwI7L})TmS#W}uFFpsRCLtQnO;9P#V}aA zG76ipT$=CM@86emt z%Kp&w#7OjbZvzeZQe*Vjdw|Bl(DHuY7j!Mu;1Av5Je_!|srR}oVxU9b+}0v%}?w${EJ{L%ygQ;tS)Jap3n;IzwQ zoL$CgVLA{^47I6$Z*c7uITES!yQz2qPn)v6E#BNKJ9 znd?fMaU zjBE57_B@>Yu@_Ah0AO@yiO-; zalYUZnkVwOSoN4{p|*Sy60(O2_kyPhw#-UgAjlQXliANjPW6O+z`|0-&|sUz1z%<}}Ut=@#3O2SF>~xFWUsM8RX2)vbD1_h$DdPFwCUNG_FE zGB%KzaByKEtjYeKB0xv2~GK0hH48Kz`DRMkwHwR8|QO zvg7LxAu`;st5bU+Ot-1lJ9YtW!dB#0$pP!<_}#mp`Fpy*iM#T9`dw4inRCJNLSn6< z1D{1MDs0`c^zu zgVfwTpKA^%vVYz!El}YNNC%PfYP0z2U#lsX=MJd=Y45%yr{yi%iW$wR8{^s{Apsd)D!{?) zt2g=SkJ)C}1k5jRSUks;OZ#1g-$GL@6}lf6GpC6Fm&_(T`DuENm~MLhpCDIzw=?Yn zz2lMUzTIgI8dX;;Qu|in9>kzaX1m{W%t`G!%V_)x+CYm_1`qz;5E?NU;2bWMlZ_>mCD`%)6zX$4nfZg^1`QcO!x?f z_>mNR$UtQjdR_yLT9r80nRu=U3No}hPmc}V;~?^xWXkVB)+jaUZlqj9(cPH*SKvs@ z2O1nZI*c=?nDGJ^-#{g%9LgbP$NJ$j&YQXXIX13Z5|?^;X#p!+^ca8^LfNZG)jzDk za0Ld0N`L`;l#l+?QCLMUO5T+zBS)>Tj+A`zmrL?cI`)GMR^0A(RnvpBpiw>u?|YL> zly*h`+epAFwbIB6bJatOQbxjmf8PJP3bnz~{>%TrVjA`B8?TgSNrx#c$6GDc$`1XY zh{++aaC5Kj6C3YM(&A6rMDN&W9=16ws+bHQxMdbB;IqLnTJsMX4qRq2*{CvluFM!E z?uzps>*M%;2hqCco(ZW_BoW&Kr9^s?qKLa(W(#>664HEOk&cks1u2 z?@bY+Av0*7hyh~h9)w0rr|>EAbj&22!SxzNRB>3O#&acoK9ro12h$%wFd50zXU~*k z1o5kiZ4e@erZz{Jus#{BZdBIez`7*j(BcpLxB=JpO;0DGOuRc}oA(&Vvh8C8GX7=D-2$Z$I@~u-n~uj)t})M<%BRtq70`D4Km|D?SzlU| zZ_AULRw7V)%8Rv!-YOlm4`Gqh=n6@}W|&YUXYlMs%=6;xwRXC0Tc$To`^Wgx!Kn0* z2$#f^Q%>DSoZM$gkn8z@GD#4y^-3W5S6WNeFH|)D2AAO>*eT;SZW6MAx=2W*4{i;3 zu89xcOIaWd;5z7rJWjID3pUOP~ZP_<s0_OYv(cj0%)bP6#o~1nMQn zfr-4<3(P0g18tHsK*WoH5GV-YR;)-aZNB;&v_Y&Cc39P3)=1Lm`28Vo+39C0o@<;^ zv6+y)pe70*2$(<+Go>ZOGcPEEQV{1XGg8xE(neu?Wt(qV@f^DsOQ9(Ji04n!1*H!- zL<~}sHMJ--P;~VJ-mB+VV5;1Q92g#0=ciT4#?8~oDW9IICQ+7Rg23kc8~e*!Y5G+c zofvE0*G$NrP6yzXQ~ZhDq~&d}(!I6>+=LPCpHzQI=hx1|ytftTbMyg8E0yT$AVBEx zi*P58zr)iH=wa}=(dgo2xC%O*oN&Yx zi|Ul3;?)j<`Q6yZ@tmXi`-J3(p%H#O=Xq^%WZ3LCK zH{=qK9K|4p;=B3l;^iOXMFVhS$7ED+au|v4Sz07jp#b7WYAp<`cpJ4OuZ$Tcj6(fF zvE)KN`=5&r3AQzu77acuNmE(=7=J&c}8KR0?A+my`mymaHK!r($GHKBa!7K7q# zCRIjvqbx?HH`CU2o!{CH9^p=x?0Jbp>C+&AY!;QK_PMmf8kXMV9MZ1eUj`!KwtChw zgmv3ZA#_V<3j@jjFFPs+WaVBKM)7BL4dZBP#=nCL4H_V*L1obR8kTx_IoW{w?7Wue6aasO^w6@J zuncLv=9l)U^cfT$V<0wTF-RP#kW0}7%JkWmOUXa{gGY=93_O%#3mg;c<&nt?IUq&} z>=i>}S1lgvH)&x;q$6jt4>ND!4W7@JWPzJJwvJrtOHc;&VN|Obx+FzI0Pamh+ z1so8pfncrv*;e%WH2Tw@6QE|Em0Kz=*h2Ytto&nAalP3P4Kz7T={%V>8b9@qn#t$W znDmaMPn%Y9ECRe;3|?C|omaEQelKNQ7fDJ;@ihqSomYoyO?OaCp~UZG;&}_2{`A_d%7u(uSJ0onrsP zg35FVwi6m%A^0j9{OL`@>BpizH67PL7rNZsiEa|IefBW-WW6ARv4mCuCxGcz+HL+=wj`_Lm9oM<@3Os_b8W69I#DCheA`eP~;j4d=>SRhWQBEMr(OK z<{NgNL9DOQhk`w@&$i4WZkqKdwz-@#u6G_#H^%w&$;}QbU)&(fI=G5pfN@l47?wLi zYt0!RR0PF=m}v5^GR+?^Z9*UZ3jtwy#E;t`eDqEN?ULhzNOe`nMN-CQe-Vaisha}f zNHU67f*uHc@EY93tgiyv_5(F1E{L==D4}~WwIr&SqLOpOhC0PF7g<1yvU2D(G{F%hG!H|5dHfRMbHTI57`N? z`_!^u-}rEzEJvK!5AoOU_C9q!J=d6W;vdA^wyrAc{C{_s^zKWbRGz_&bStBi-)EdE z%{{Y_67dp1ZbIpqhb!7vd1|E-uH$!IU~O)jI8Fp1Dl!NbDvkirEk7pP zJLY+ao95sY7;Acd-reSm6)t302p%iS7EdBZMq$=d>gGAxpJYZk-#0hNBos*}<0ySt z6&4eM&cS+Q;%G6&nVmL9RbOu;d@AV+5Y~1jijJ1~eM*Yuvr2XR3aH-;76cv$?@ZDE za;B=Ue+Gv8qv89Y{x>E9{{P@aD=QIAaihY=&^8Q{<|$%I&+yKlaC{C7wp4=zG=j-! zLl2M~nG}z!#9l|b{IXaM>go>iZ9H=Esy`i~d?2#ecPlE|fqopm88bN{wX-aeqjj(6 zI83!^owi51;Ibke@#Q)>e}iq3@#qrmBT|@^<~VMCjU)O=&Y_DaNY0ERpizj2!W7U( zu*|CCRqBr+rB=3(xgfAayORG%NlP)T{Pwxq+|KVN?y7>1U+Y?sb=|rcdLbzVSR4~W z*^7`jcv2!w1txzBF{^Pz+Ew|tp`r3&Mu5{e4Rz{68=LC(}cm(Bs5FxjGU=8gHfxnuZ zAAL{oxY7fpco%ntol^av>{gzQqr-H6I}m1^X51~L6X? z?$FR9<;)$89YZJWmv zpja*(AV>d!3yG^;k0chfJ>JyH&-GS=C5fudW895w zmPTb+qDVqdB%wlXdiOO1gAvuO`iP;NhO)SNU@IIiV%7qJ{ae0tpQf)uB_?>HxrZpG zbllu)hxNndt8+amXfe$jy`|D2PBCKX+Dg`BQ8{Krvxvb`s}1s!xzXKYs=?^Qv2eb! z;wtmw`k?(h1x-uIl&dtgNfw*f+RD?(zwOCM_XZT4z2Nkr!arS^jMPEy)BU&Cu8ou! zm_ExovM`!z@j@tp!zWd@G$4buICJ6#`o1ZXZy{CCZcAcV8v7Ld&mwXDi;^IrZDCH( z*k!mCLbYdBWIb9ADuRAUcNM)BH+#pnC-gc*lbd8m0#hw>_^!QM0h&Wg5)uHNo|ZlA z2ym!)ieEpJ0j|J{zvmUS&63kO6iMIP5U7|3a~&QAeENyIFfqWPYSGEz82nhq6Uq#* zvsxv4$v^PkkzR6-L3;?hXs_2>`jqPmjE$PXA%1MBQkSp&L-$}M7C`4dF1dUZ>>T#f zOoZC)qWs{qH1$$kI2_E~nTdA$kBh{&;uAX1HgY8}2F?KuEF&<;0yH}-V2CZ2iUX=+ zJ#VhsJ76_^s!PD_@(lWZ)fsI&2%B$=>RH83r-Gqg5^X|Qt7^*vIKham8_X}*n2fh+ z5RP#0=e010Gjiwe@D|1Mh=O6yjq5RHy=h`hX#HrgaJzjla&0tkiO`o01FXK#P8!AD za0~-+GUY3&NF&$Z8MIe}qY-yIwYdr|5kfJ`puRU@20FAdISp9NPA*G$sTAySqIPIo zWiqF2#Nszkq+vc!u})}_rVVFsS$PQ1gzV7#inGs{;;yvuK3yhF=r$GO>7)?Kmwkox_XGGMTU^@YB(f=i~D{V>2BQ(>F;B`ivt6$ir?MgguH62QGWy?kvg_IFdnsFS#i3## z_$CrRS1U!xR>6;+B7?o$DcsUOHWKe1cTcmIt!wBCS} zi`|c=o|TmYlBwyN_r!~PDZ+|=ljlbHQBqcU`kRsVJ3%NFu9Gh6T6x(F!z7aG@K~XdV|ygac0(%n z@{q@r{T8w9dS0Se2kj91HX1d0dJGet5ygC5LYTAbE-5hUl=ob{53I;Kc2k%IxD+{` zP45vhzm)D2Ju5yH$Yr_w_npDN0vNy?{iD&!*z^IDceH?gRWr2)@?IG$D=Plv!8Htj zLUM=z))I>1{UN#f{iFVDMosAd;VVhd7}%sZ zYW~G(O9oN7n$Q+z#T`|dK|!c%(<2jsrIAmqY|m|vPl=}-wvNyjp68~A1gCWnop3#|cvwleOc#Vx$S#+_?SA_JK+QNoae=IB89qMU4Pd1?_=qHDH?SM;pfZ!7 zAmbYjpVgU-yGrLfht(> zKIU20$ssbX%|H?)!zru~$%7?@)(9qZ$RDt*&ilvXK|bSea{nX!kKyGz>PindT5^1s@@(WCEU_)8QiLKBpQjvl@E-3k}53K#8XkRI=p1u$6u zpYe4#YBAvC>Aa>1{k`B@4z_t*1(HMx>!oGCUHNYCeeVwUemH6rqm8MlJx!*R?M~u&q)BzDWn*=(kCBO#Cwu)a zpF)*I@XeJrwI2Em@NV2gRe>Hf|tKZKKM8-b36}vZ?|; z85eag9JfyuS?He3u~8cM=wyKqtaT8c5aEkG49EYKi{pVVkOb@r|CZl`UQEt@+VkEz zU+N8&Cp=q@Ih+00Ij7wNKi?X;YwLlTqi*1R|9orYh{?b=sh_UKnhUMO{0Ui;*SryR z_UbW3cEfz2(leyX4q?F$0rnlDeOygfJ6n=w%*jv^N5ZXj}DxQTuIl3e_oC-J5lZ9R{* zsuNpL104_957vl%E4GqmUmrQw=ippDz&RR$gy@FL?+K;RRP-2**RYcROCb#adS~eS zk~GcG2j>#YhFau8b>F6dPx2Cu*nO)`-;F-I?Us*D##b-=vU5Hz_s<^&=I^!#E?jzn zY~0=cUVeF9i|4{Z5izR#>Et6&P$`^mGVK@$e*v@{cdHj!<_HnGhQobv1G23j=MM=1 zvILjHa2W{%mj^t0(eZ~tikesS!L$@_d4nP$|Pb z%n+!}NquMq)+@ZjK=1gzve>UirD~+;FIDD~GYyFV-s1Fg*#|m(#p&rUt{$Ejq!h1y z7S{aK>5*TqQ^h3DbhP-Ccy-D00>~)$Uy5sw2oEnf3V}H#8dU1Bq{DcW+LeMpnGP>y z>HLI*(>qqHtX!WFQd3AQUGl}=%0z3S>c+Y*#G7~_Vs3vS=zQ1u6!=03L(>IT6ycJN zY(|yhH$G)Qx%>n!dgBsf$BAzU2U(*(C<}AZ(imJm82p6R0;g8@1(IB=RU{Z)VG|4I z&WAb#YNkg}%pa+;mFWulcZ21CWY*#jWs&@)Z*P7Z)Jp#<`EQM1h&bVYLzsIy@?ZY{ z71Mw3SXT+E%1IEEy~Sd2DMmiO4?8ia_}{;@pWLZv>RNRl9G9cT-8Mi$C{m(Hloj6P z_f3zOSvw&WRGJ+D160GxZ4?1o_Sy}t1pY$3MEMEReXRcPzG;2Nmh2U$A<48&_V#hf zJjyB@QWm@Z91DV*pThO-!N*TuQIhjs#ok}}Qe%6cU#{1HdZu+|NRKtM z-;w{PVM$QZxy!W1KlpYqzD3VtSh55{Gl(pOhFt>E059v&ri0W->7V3CXnTP^T@&9D zol2WjZ=48UgVqnI=W8en+L0S7GG+9rKDa3I0WNitZ3(Qh{W^Q%iQYK=bzYBgMqKl#1!-}V@?Y&W^E2Ksp6Y}y)VSr99UKh02# zW-S{?^e4B-4^gs^!DONQu4za!jK0*t8<*o)Ixa>nc%`#z%#5HhRQ2g`LtY`G4;uXq z4aBe_)D8<|S^>l+KZ3g@h`ZRTNLFC6)Z_mMlnLpJ6>}{P`PZUQ{htxc!u9R$MOl0lur*;ec{pR@45`?U?&|8)G7J*j#u3uXm26VyQX~7GG`GYA!y2_$&;m^omD2XwI_On zZ9NRRkX=|KgutA%#A~Vha7YI-wMe;3Y#|{T4Ip#)?sG32hb!uS3j9BRG=R8?W6Om~}3U zz)r+4i-le-CI6iD9Th1RYVs*{FY{ABMf%cs7;>v|Wc)mM>KKHqSe4b3FhsYvtciVT zHr%9?7jGe8`_LktkzgSp&7SwKuG!clS9TBHtQ&$!uYWiHZ_;Ymm1FN;S|9=!xvO-V zj;~zSNR<~hSkoAY=q01G;>WSK%CUFDWKLdEsY6rE8j6<-SHPASy9k@#hpW^;tNsT- zPFJtntn4leSfEow5?%QBvNP5_@6KP>I-O7i^M8UwvH<9SE)q@(T`L~8EXdozqDIt^Kt@fTLS=#% zmctaFk6oD0AiePYn-#NP-Gf9A9a3=@Sk?ufQ>ry7Z2F3dci&8EoCv%hv^u z`IHb=%7@P2?=SLj1YlhuNsI5O7%->iwWKSCrOrNrn}x48%yQ1PGLgt?6y5m44iLLU zlD~CzO#1C?uPO0xSw$imNu^rxE<DEQd2MtN$EdK4`f%YjY)k%G~{d#qV zo~GG`9)ku-%iJkpn62TVwe@dy2w^OfOX{J!wrVZis`P3qG5$ikm>^_3w+qcCR|01M z{E4v6QQ;f<_phV(in|xNcFcLmzRMEKUN*OcwbphNfEO%WZLx3y(ZAYX*Eu?cmxAu ze}j%!sk?9bx0~46ZYL?v3x$AiIrjK=9Sej+1=d|&WL+tFhiMXJ&=`--d<>LDO0+A9 zz-o*4B2cp0`Y(Rk50e+N9rv8!h<~&ASpeME=cZu8L-Supbi{pNz6cjUA-3*-zH7yI z87o_`qJboA(W~<2weYOyZ5EdiR9Mdb_|VNNgcr$*N2cZzJe{WDE5v`xc8l5FZO+=> z5@U8n-S!xu6#B-~hw5|#^orrzpyuoHe(WsiK97CARcF`IB8cl?Yy8b1hZzj1)(|-u z4+oW|zhY88q3E~Tv^0LyFs5DPYtLiAjox5*?1u>_(NkrBrWjJR8tsl$C>A1j*8R&u zFo?8!2F*oy(M_WWw*Rz10NfvLL9)2MmM;k;la@MjS?|)pr(z!m>>8^(R~ypr*dXM+ zqOCbE{}zTwYGV%;S0RcL1upM5lwo4FW@;|Iclzqnp<~FjtF}W$wt29be2I-l^V5)oOi1J{Y$jc` zBi%PE5c-va9IMe7iBi%AOJD>Gg-B3B1Eb?i0KFyn@BEs5hZy1NDzt@Uc)PnZ5&C>_ zOLJY=>i>j3bJ6PmHhA>M{;lzT4o@Ry;D>pXW)hTom32x2@Wk1l@BH6l@$ZpPk1Bh^ z7B(I7Mo%d+O{ab_jICm_7`8=X`?q5(_36VoV^g$$ZML=QdrgrXxdp;7D0XQ>S~g3$ zt?qKO-}P?i2E%>AbB{TPSDOzP0X#k?c~bRa4;GPXOAzmcWg~qjuq{BjBMyWPtndKM}8bARZwE`hHMa4T_iWt>KEGwO9GDQd9)7`O6c2`XytprZU+#pse zA*&`owVo=Zb}W$bMumEOqf@CNu8V4Hn%!|LkWH3>dR;9G=>Ra3Uq2xx9MF)&hTkGx6T zFE3N}LH#0x^hTtewI=ll`oT#&$4}RYgT6L_?ucAk%a8ZBWvk^15H52h zg>Gn|yZ!^Pp(qKAkzwt0z6Nd8x1l&B!SkT4Xd!!9S+6W9Wa1df65|T^);hM9N!3}- zFJx%`9vYYs$nS5H!)AqgnsetEJ+Z9wc6z{~vAjbnvgq}+T&u^~Ln6mK3Da}r`4dh| zT0OsyT13x~;1y!A0Abh0B)Y5S0%oxST1qIy#nDR1AH!vvW8Vfzyab25id#Y5L$>Fk z>0`Mqz4@s2ET}Dy6R(B6+VVy<+u#a|8$Q!rdyN6|rcf{p`;H7FZ{q2D+}I_;_ddYj zz40K6t%UFI(!71N)f00c9e#AwMGgTb*&Zvm&5@io28x1q>!2)nVBGeCH~yhqoP#TmstZ z(_bxNAEX<(8!OCu)|Lux-xV>&7|#LI=u(vy(Kczf=0$Yn#wZJtf(Z5Phj`f`-ffnB zRx0(TWu}<^8XWN7_BZ|Jw^L(4CvP>Q%=!JY+nC8(@_^K*_|MDYZznthGnognQJkf$ z*5ETKW787%s*5p393$j{U*fPzXSDd%P|^z9+F)d{)T4USxiUt6X2fLFcv%KKoiduT z?#9UgeJ6}8lO}1qxMGKLkuhjbX;f1&P5QHZ>MCOui;9`Mg0L^L@Xv27fS=Je)q*|| z6J70?TU{3Xt&Sj74J&HZ;z#Ayp~1U6v@6WoC~wBPJHyfECj`${fLmYB>pgJwt&vJP zo?M~F2KX)32R94+*aLuN?WSHwD32X*)ff@f0r)WW zL*{AwKuNL4GisxFQh+SvK11Gt?u1!OUO-iZ^rSV3mIj;J{IFjp3uA9vK>p*-#b=DWet_{hecd92V-S(2H{qg8a@)kuqsMzcX&{b;)X;pC`kOT~muH=`*4)%Z)xOv_ReP^pzvurzfg6(N zsw6r}Oe|~tx?^1WjZhX{o8#;;GA6jIm+#{i%L@ikSZPWeeuN4dC7|UBU-FB*U$Jh7 zD}1fJv{}zI?i>ed*^EvjQy0L$epEPJlaWFm!mGHZbBNZ(^ruZwa6_O$r?u}-2}0YGcA;V_ z{D#O%>rojsA|FF2-@6H5;cs$um3%J@Hti)D&O8*6&GsKV_8;=Ciu`~hgnz}R+r)BL zS*DHLjg?Hv_@`s%)Pw-u1X$-0I{So0RUz(02SSH4-u3sK=ggpy?W;q(PZfZ(?{1^* zMaobP413-Ax>N*dI8aDwt?H>}A|;fc;O?~N!*AQ+a8!5px~etgw$7*X3UfRull~`j zG6vh20{)GjEi{z`EHvO^S|vH854U(AIkZahaD2k6TGR#-r`^`XNrHU%z|n=FxkHEh zjLWrjd;6)rDK_voVJxcy<}iMikM7?TRsn>RAiveqD89=fT-;79*@()h1ru)zpz zJ^b^C7DL|ol&lVZwF{mTzqYJwgV9E(Mz08D{$BEc;(&ut&uWf|x5n+dz!JEfey;>hsxl#dBlXty9)oETE^{S+Gg<>-)bK>7 z`pA8-rkR-;9gNsU4^OtUz*eO0Q+{J1VuKXK9U6pDAw}(_)|6oAnek^=FeW6<|75@< zL@(wY0i<1A8~FATA#nn&)F@zZL3jp!8BZEJPXg1`$U(1wy=tUC40c(7$7-~I%nQ%{ zJ%Gmf@Np)s@5ATr*O%st&TIH9V6|r-004ku7WWAo?dA8pR=?jNpasW6ahvmZUygEa3wwIz0SUyjx}LyZI4I6qp;ju zo9>IWbxf`Jj7LaYm(iHUitGT;E%2WS$c}143u7pC3~9a!2s(}>Oqu>`AjD8U){7AP z^(J``;9xZEG&v;HYz}yeH)X2MN!9C>DFw;hTb>2`8K-5gZH(kX>&Srvgrl3c>>TTp z3xz6WWf^?cDDWh_QIT~pjCYgvrrIs?xTQmi%6*yoC+y! zwA+Me%f_5aJHEC7L!70k7^xF&dF{>~)EM1cg2H9G6LySR8Rtg=G;dG7QWrqEM zA@F;nR98z=Hi7-6%njgIMyA9##r^j#s}!N6 z7`8mJH%UG0QR(kYojV>gvjKJ5mOdjA=}gYaBqX(xq^*aKn;w8J$(W+7OPWBQgr$X| zDFK4iu9`9&MuWtA`bxFErZb5|OS9~@2pQlFk0C#8sI{~->~B?b!3Xs;fQmX{IdnP- zh}>P>{kVjEeFqH1yxOE#E=Hyo85T{`*K3F(OBY=!MQ5@qZy(|}2xnN5?9OC-RmYDw zhzBseVgtKGFRDl$SjSNpZvb@~*RSvU_cZ#B>eo6mAmPB{XN&vii@+SkZ6D&g_fk;l z-POrtgUMrU^YHMo3dIt1yj?00f!?>6BM)B3!!e0&6#$gIFDC`*Um>XLB&)m5XN$+U zZUjli#2>}_Cs7ZLjW;ubevh~fP}iS#A0IzN7vJ<8IDGsfWaF#`q14GGQM^-%O?C2X zSIh>oDxyv&ciOo5I!oVv5?c>4%Wa*p#O+??p^0??8jqPu@Vp_;&G?^166O17glz4{FU2g1cJHZZ1Sc2FbwS^YZ31-opzk4(^WW11)c!=%9lWF+E*pA9 z0Zw9}!&1udSDEzZ$MSZ;IR5tcr~#8&A6Kgw@tWu_!jPZm02UagBlrHhdxHF6Itju% zBuZF_nOb1kOiqv=LZLH#D8~T-_l^lh)=Qm5gTKMVo(qf%XMf;zP;>m;t>k-IOok%Y z01O2MXZY}XBTafn#f>IFMG@bj|E5qI%$k$LuP{w%C~huTv?E5(l_#K6Hi?QI`kN8; zG^N^XO`wwiZrj>%FVM+XM%0v5Xtx8kkiffjT;w(uAMNm_(R)UEBuv149Ag1*;3Y#5 zuG`mk^j5Nwl=obdr%f2VZ)jAe|M)s*1eoOiS5A!@;p0IztTWX8BjkSUAcuJBU@OZd zp30AzymD-^U{tGc8(Y3m{v=qo%6NxO%S&CfXhV63u{EmFp?EYq@+DfRF#qmVP zQTNCmd0rVrkoDvw`tw|BUOiPRnNu|IN*h9DE`iseUe4XaNfEng#j8vjRD2z}guE=K zvX~4yk2mdK=nXtY@10}1o#&e9zdvg%7sr2GCj2~##&xp%5S6A#C;hOjt$EV=Zc1&l zUxs8P(8HD3i^I1CUF!~GWD@4ttp>Ik=mgo@6&Hge z{h&;;U(QJCB3MQKaRoFDIN$zwyZJI!t~kCQ8l=?EeH7ljbrG6Ply&1WaDXPjyB5RD zZmPp9xyrz6slnIT_A3dbtBbrS{4eY|a1JP^BUgRf>#FpZZrJ%PzfybqRh`UDJuYT; zSWM>Q@M|i#9h!_PSuDZt*V*trgD9`Zvyw?IMt0=`X{@oK^U75kwVUXKco4NIENnU2 zlQ&>1Y8`4`L`L2*;sVg&6%gfcLi=&0RKu(2-1(q!O_}8hftu6&siVWIKd%qp3b~nk zxmz--c|ywYW+%9ZIiCHY;?=Y&Jdtsx&jx^Je|NeMhkl88yzkQCc9e-VHFOn$?4DfX^S^1#I33m5dx*kx|Yx#Mj`MG3# zOU_*plFK$m_tMoo3D_vi>cXadHt%*H)p+$VN#Pd2l+`|Jg;m3Etk)#5WtD$`^|DMOUdPAF9bnHdXor7yi1wSBLTkz;#(t#f z#|H`jp$c7Z-y{)f*m@SUzd|2obYXiwQSI}G%#m!E8$CCZiC{4asM(Gwah`*Nqj zz{joL4}>G1WHh6|S?6XS+*jTB(W)+a*1)kssyK)q&@SJ<2SVr4_FY0EvZs6o>b^7J z+zng(Re+pm$t^0cS~h9x5&57UlIh4!wM;4hTX;S#iH+YAQ^zoq&Mx;XS~D}hocHe2 zWSagW)=7*n{BcC`Jv|H&*(z$^j&-=x#Y-JnOq{}tRwKJrl77z`X=itiSw|!7C8#hd zZik#M%DsU%1xpqX}oz~TVmq7c#Nwh%Y#^-Vv(Z}#asqY zqZCIk$c?0AZc2xr=`xIiu2yqKdd64vk-(LL`b3$sDbL(-rjoVZ(-wVh2{Og{lumqw zDB<;*___cP%m;ZxBtlDgmmV8GMRTw!Ck5D*Jr`(8{uy?Ne?n{7wAf>h*+PyscX zeI71^RI+ONHA#)4>p!L*S=#)$)Fyv=Nz=ZWk|kb3tI$&527*~N_raiE%z;p}>O&3k zuON0g4wHkgLx7*v1rXg}B9Z9{2T_27>4DJ_q+k_28_qQ-ib&QV2ycx0c)>Vr9>E~W z0i-0PZig&$QiI^gKn5`Lf|F8q{Qxw~u5dzQChN3Rtn*_(pQy_}`lunn58S0pAataZ zAiIzP(8YcT6Q?HHjQN%zkiooUsYjE27L#q|1$Tf1V=hUa*I zlCmAZyJQ-Wvmw=y7@Nza5!By zelu9|N{Y+M-DNI zcD@=W%f>fi=7bOTx?hLsL;n_qgqDj;F~}LPCwjv``;sT7orho@jX2PJM9^<`ZJ+bC zfG(FDC_Bh7I$4D7+dzWiKBh9@4AIY9d2Jl9I`|rE4ZEL4-5M1VU8ukyZMF7#O~l8A zVV&kT8}?io3(y72(#yr`DVkXo!LKX9-0|IAmU&8jaDU8w%q`Tf#ZA)^9zeiRNwi@h zF2mEdl>1Rbz!LY%V@<$(Tlfcdw)JqcwTzz^Pj)bd zRaHxC@hMePimY4Mmv4WG3Bs9~qbi))Sc|vp zLqFgh9f0vlvvTpf9zUv}1wyZ3nN1Wff!O;FS2mt`L;H!ceO?uOO$@3N8bN0ciNo$s zBr>+1)>k$hx>1MT$e+Wm5IUP(?wi@}!t-7pMu6Y-jBMr1`5@n#45456Sjc<9?$&N_ zgfd3deN7-3n5DADorp0K$>>3dw-JF{2hLS}(NQL8VTLBd1x|X@ilHqm<4SP(>lhDJ zYq#mJuYiwrMsoui?&QGM=ku-MK@iMj9EM5^TDxUoz#|%50{Nt=-_17Y<{K3q0;cKY zzl@r-Wy4Uq29vtk^C4HshOMh1*WZ=|n_k`Cgxb;TycmDGWIpVFVT>L{wr+x!61E;9 z@G|3*EN3go378g=R&upC6E;dEk3G|2bC?$oRz7qXmiUasheirXid5y3MPdgJh}1W1 zBt)uM0Tj5-+YR>FpD(iSO%!{40B%ogDu5Y9cF-zLI8K3bED_Tx5=h2i`BiPR?-)}z ztoCgfbOC8dtr2~yoO(f%g7fIsJ*^YsAi0Q3zk>*Vy|2}Tpj_%$quY(M#0EsH27+1drv9Y14a@Q+7}rbX~^HIoazWM%v#8$`40Ya}S%(vNskM&Ctr&*%4I?#GWYm zvn-`@SkK`ldDIovU1^z<@HzsADFBW;ezb3J$_+u_V>kjmJ5!Yqo$}J#PWtj4 zvYo{d?N;FdKcfAc5*}fy3}ejxNem}GyJbv_$!Jwq8zyiKj-=a*X2!~RtDaQmP|~VL9gb(ms%gK?`wwFM zkE@$Mgcf|MU+J^w!`mT&06?w9>f^azEKqQT@LY3o{C)@_rLF`XbY~XaPrK>OL~d@B zo}=x{BNwfQGEAF~z45>fwnHho*cv8DcZ^DICi&dPEwK)Jy6un??&-cxQ~@MM88|#D z41AFQ=_76US#xarE2I1!{30qSIJ$}c9!&$M;wdfr2^=1Uiw=cA9w1q4(=lymRVrj~ z!x~t<_#`s7F1dHXg1DnY%16F@6X{5X;2o{rqzlyqYh~rK-~b~b2vDgDud=HtGC7`a zQ1HSeTHiA+lTX;}tVPJmjJ&B(`-!w{_`K1Ous%KQZXBZJV~RS5KGo_xnFDjGGSUdj zvpAQK_6Bp3OP@xW1E3Z!lr&{W?23c)hRipkC1%d_$v51gT-9gNOi)r8OfgJwRcEHT zu&LqDS*hBz(>d)mWqLMjW5h7L=BU>_d1u}8{APYlog{RwNli6ie9Bk3rDqevr=m3P zYZou1UV}Uk=+g8ZrH%yDo;qP9aco`EJNYeIpH9F1XaoHd2xu8{30a)ejZ7mzMe~K7 zy1O>)F`NTlJU`wj#-5x%h`AJtv}xKe{1JH&8CS=JrCAZRnLzd%Pzg4=d=Mwo5_Z9x z!}G|z^=`@@^kTaSKJo-&mdsXm3thX#c5q)=Q;9*UI;urOMU_J;Ubz!-#=#t&w+G-Y z=>`U)xBCVj0c?Pu1WNwKEHS7t8O`~P;|Z$NKm`S|XDXONgOl{AXZA4ZfUuU>=)8<+n*u@;sKh$aE1jN(dp{i9z$Txt|h9?dQ zM|7W!r(hy@G6_xP`MOUPXr1Qa*)ed_2C1MSPJW$KiqYLvaCZ`ImTEYOhQE2r4oy5@C@sztL8Z+2Ja z8)A30Jki@{3_^5XGPKf0bktojy@m4XeI6|51I}Ojs<7{f%(&BDW>1iOmvR!xZD=+2 zmq^p-r5~WT%K6ZMWcO)|fod%E8_^R&!vh1lmIfKT%ZxeDXHC@#?`y^hMJg?13*;Jv zW;*s{eccTA8Q+_+hNmrg3|k~6(n(49hR?%MR|W z0I?vf7L0*)_)q=_$C8L<#os$gQbSdOSivdC(@IMT77G@{S^PLk*+>0(FMJuNHYQ0d zWuox?)+=HEmd#dAsm>->txh(7)LP3)D({M5u=&Pz$}uE^;mKaP9wL5UNk}oLob0<-OP!=pUgPbdFCh6#GT+ierRMb2^>`!Y5kjha^z&`n);xG zTFsMY!VY{55jQ(kn003ZhAjuSxu<=GOTbRXu{6aThO7 z70ua81Z%p-7OX&nnxb!(rxe?;_mArlLj#l88Ba5IL@kY;byKYix|jktqi;x&ixQr! zGzzq!oQ`+#8dXVfcyZMbl$uDZ z^zeOSnYej9>U=pvWd%ZGe%(2v@Z#o5q4nLxPUaIu1TW?4BmqK%J5dj0(9hD`uZ9f3 zUp*v$Jmk(UzAnEqVDzJFJOA|7&3vdfQisQ0OtQ{HQ~r^PqDV~WObRjns%NDBtT?M~ z>q1NWB?@z?k4)j-vw!#vQ26fFF63*tGTQKj0ZC$WY*sTz=T@OEX)j8qF`n0IPOt4U zdE7RMpS%Bhdy*CqoAvg1+_z2d7r)+>&|mMybavL*T&|^9mD8OgDuu!D;ii1!edZ z0=Vx$25|eHxcExW4L~jLga1 znbO$448EXQ=}}_fH8%+R^vE4iw)_XU%^qF zWl2AO`_cDy=fpA~_gC4A|K3dTsF2K5)g~h00{{suBHZEri!_&uH#5sXj$u}CY5ce} zgWTiv2(|HU+^Z8AhR11YH8fDP0HpUzo!S$txR13hDMjQspW^7ujLd{Rir{B*vsOo{ z3K7o@3EFym$%R%iQR5n_x|2ev1cr->M3Qw)^-TYweKCk;cJ%8uVg(w=b3EClBL-?9 zJOETrM4(0aN4}WF+f;JUo<i7M)$3E^2c=;^SzD zn1wuK+eN5U)Tb9(fe8_?w9g9gpcP_n+j>ZA1X87XOJ7%g@~=;zjsys+2iLU}j@s{K zX#Y$|CnVeNzHSQol&;g%UbJgApKsua69<&+GFKAxB{Y!KnIF)wx71p2{@8o=R9>ry z(G@!3pqntt-)RFqo<@&=J^t3ClUM$wApj5PXoq&*J5ezI+Ik=#H|K%il{~;5Sek); z11)o){29gg8Sc;E%gcONniPImnu7XvB{u7qb{>&)?zN}bQ}${vFuO317dH9Rml5Gc z$dfmL))~d9O&YL+9j1AxlyFBY_hr+-A{X@+rqt}Vqw@7R?`2eb8LbI_Sg=y-i&WEh zIz7$4K!tr+&aeyA^;~*bkV1#BnΠf(8X-KtYy*l8XGhNmcK^9m>HjCe_y&*01kC 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 E09GDxkpKVy diff --git a/markwon-core/src/main/java/io/noties/markwon/core/CorePlugin.java b/markwon-core/src/main/java/io/noties/markwon/core/CorePlugin.java index d9c2a3dd..9622e56b 100644 --- a/markwon-core/src/main/java/io/noties/markwon/core/CorePlugin.java +++ b/markwon-core/src/main/java/io/noties/markwon/core/CorePlugin.java @@ -116,7 +116,7 @@ public class CorePlugin extends AbstractMarkwonPlugin { private final List onTextAddedListeners = new ArrayList<>(0); // @since $nap; - private boolean hasExplicitMovementMethodPlugin; + private boolean hasExplicitMovementMethod; protected CorePlugin() { } @@ -126,8 +126,8 @@ public class CorePlugin extends AbstractMarkwonPlugin { */ @SuppressWarnings("UnusedReturnValue") @NonNull - public CorePlugin hasExplicitMovementMethodPlugin(boolean hasExplicitMovementMethodPlugin) { - this.hasExplicitMovementMethodPlugin = hasExplicitMovementMethodPlugin; + public CorePlugin hasExplicitMovementMethod(boolean hasExplicitMovementMethod) { + this.hasExplicitMovementMethod = hasExplicitMovementMethod; return this; } @@ -202,7 +202,7 @@ public class CorePlugin extends AbstractMarkwonPlugin { // we do it `afterSetText` so any user-defined movement method won't be // replaced (it should be done in `beforeSetText` or manually on a TextView) // @since $nap; we additionally check if we should apply _implicit_ movement method - if (!hasExplicitMovementMethodPlugin && textView.getMovementMethod() == null) { + if (!hasExplicitMovementMethod && textView.getMovementMethod() == null) { textView.setMovementMethod(LinkMovementMethod.getInstance()); } } diff --git a/markwon-core/src/main/java/io/noties/markwon/movement/MovementMethodPlugin.java b/markwon-core/src/main/java/io/noties/markwon/movement/MovementMethodPlugin.java index b16af95f..b672cb6e 100644 --- a/markwon-core/src/main/java/io/noties/markwon/movement/MovementMethodPlugin.java +++ b/markwon-core/src/main/java/io/noties/markwon/movement/MovementMethodPlugin.java @@ -68,7 +68,7 @@ public class MovementMethodPlugin extends AbstractMarkwonPlugin { @Override public void configure(@NonNull Registry registry) { registry.require(CorePlugin.class) - .hasExplicitMovementMethodPlugin(true); + .hasExplicitMovementMethod(true); } @Override diff --git a/markwon-core/src/test/java/io/noties/markwon/core/CorePluginTest.java b/markwon-core/src/test/java/io/noties/markwon/core/CorePluginTest.java index 02dfbf82..8c0eae91 100644 --- a/markwon-core/src/test/java/io/noties/markwon/core/CorePluginTest.java +++ b/markwon-core/src/test/java/io/noties/markwon/core/CorePluginTest.java @@ -30,13 +30,8 @@ import org.mockito.ArgumentCaptor; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; import java.util.HashMap; -import java.util.HashSet; -import java.util.List; import java.util.Map; -import java.util.Set; import io.noties.markwon.MarkwonConfiguration; import io.noties.markwon.MarkwonSpansFactory; @@ -44,9 +39,6 @@ import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.RenderProps; import io.noties.markwon.SpanFactory; import io.noties.markwon.SpannableBuilder; -import ix.Ix; -import ix.IxFunction; -import ix.IxPredicate; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -279,7 +271,7 @@ public class CorePluginTest { public void explicit_movement_method() { final TextView textView = mock(TextView.class); final CorePlugin plugin = CorePlugin.create() - .hasExplicitMovementMethodPlugin(true); + .hasExplicitMovementMethod(true); plugin.afterSetText(textView); verify(textView, never()).setMovementMethod(any(MovementMethod.class)); } diff --git a/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java b/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java index a8625d59..6251181e 100644 --- a/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java +++ b/sample/src/main/java/io/noties/markwon/sample/core/CoreActivity.java @@ -192,7 +192,7 @@ public class CoreActivity extends ActivityWithMenuOptions { textView.setMovementMethod(null); // by default Markwon will set a LinkMovementMethod on a TextView if it is missing - // to control that `hasExplicitMovementMethodPlugin` can be used + // to control that `hasExplicitMovementMethod` can be used final String md = "[1 link](#) here"; final Markwon markwon = Markwon.builder(this) @@ -202,7 +202,7 @@ public class CoreActivity extends ActivityWithMenuOptions { // Markwon **won't** set implicit movement method // thus making the link in markdown input not clickable registry.require(CorePlugin.class) - .hasExplicitMovementMethodPlugin(true); + .hasExplicitMovementMethod(true); } }) .build(); @@ -211,7 +211,7 @@ public class CoreActivity extends ActivityWithMenuOptions { } private void explicitMovementMethodPlugin() { - // additionally special MovementMethodPlugin.none() can be used to control `hasExplicitMovementMethodPlugin` + // additionally special MovementMethodPlugin.none() can be used to control `hasExplicitMovementMethod` final String md = "[2 link](#) here"; From bc58790704c05e4fd1d4670a3135dc8133384ea3 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Mon, 29 Jun 2020 20:21:18 +0300 Subject: [PATCH 26/52] Sample app, adding moving samples --- app-sample/samples.json | 400 +++++++++++++++- .../java/io/noties/markwon/app/sample/Tags.kt | 17 + .../app/sample/ui/MarkwonEditTextSample.kt | 23 + .../app/sample/ui/MarkwonTextViewSample.kt | 2 +- .../app/sample/ui/SampleListFragment.kt | 7 +- .../app/samples/AdditionalSpacingSample.java | 49 ++ .../AllBlocksNoForcedNewLineSample.java | 59 +++ .../markwon/app/samples/AnchorSample.java | 142 ++++++ .../app/samples/CustomExtensionSample.java | 436 ++++++++++++++++++ .../app/samples/CustomizeThemeSample.java | 41 ++ .../app/samples/DisableNodeSample.java | 44 ++ .../GithubUserIssueInlineParsingSample.java | 109 +++++ .../GithubUserIssueOnTextAddedSample.java | 120 +++++ .../HeadingNoSpaceBlockHandlerSample.java | 56 +++ .../app/samples/HeadingNoSpaceSample.java | 64 +++ .../app/samples/ImagesCustomSchemeSample.java | 73 +++ .../samples/InlinePluginNoDefaultsSample.java | 35 ++ .../app/samples/LetterOrderedListSample.java | 188 ++++++++ .../markwon/app/samples/LinkTitleSample.java | 97 ++++ .../app/samples/LinkWithoutSchemeSample.java | 29 ++ .../markwon/app/samples/NoParsingSample.java | 49 ++ .../app/samples/ParagraphSpanStyle.java | 43 ++ .../app/samples/ReadMorePluginSample.java | 209 +++++++++ .../samples/SoftBreakAddsNewLineSample.java | 29 ++ .../app/samples/SoftBreakAddsSpace.java | 28 ++ .../app/samples/TableOfContentsSample.java | 167 +++++++ .../editor/EditorAdditionalEditSpan.java | 106 +++++ .../editor/EditorAdditionalPluginSample.java | 34 ++ .../editor/EditorCustomPunctuationSample.java | 37 ++ .../editor/EditorMultipleEditSpansSample.java | 87 ++++ .../EditorNewLineContinuationSample.java | 158 +++++++ .../samples/editor/EditorPreRenderSample.java | 34 ++ .../samples/editor/EditorSimpleSample.java | 32 ++ .../editor/shared/BlockQuoteEditHandler.java | 50 ++ .../editor/shared/CodeEditHandler.java | 54 +++ .../editor/shared/LinkEditHandler.java | 90 ++++ .../shared/StrikethroughEditHandler.java | 45 ++ ...sableImplicitMovementMethodPluginSample.kt | 31 ++ .../DisableImplicitMovementMethodSample.kt | 4 +- .../ImplicitMovementMethodSample.kt | 2 +- .../main/res/layout/activity_edit_text.xml | 75 +++ app-sample/src/main/res/values/strings.xml | 12 + 42 files changed, 3361 insertions(+), 6 deletions(-) create mode 100644 app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonEditTextSample.kt create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/AdditionalSpacingSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/AllBlocksNoForcedNewLineSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/AnchorSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/CustomExtensionSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/CustomizeThemeSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/DisableNodeSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/GithubUserIssueInlineParsingSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/GithubUserIssueOnTextAddedSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/HeadingNoSpaceBlockHandlerSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/HeadingNoSpaceSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/ImagesCustomSchemeSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/InlinePluginNoDefaultsSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/LetterOrderedListSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/LinkTitleSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/LinkWithoutSchemeSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/NoParsingSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/ParagraphSpanStyle.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/ReadMorePluginSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/SoftBreakAddsNewLineSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/SoftBreakAddsSpace.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/TableOfContentsSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorAdditionalEditSpan.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorAdditionalPluginSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorCustomPunctuationSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorMultipleEditSpansSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorNewLineContinuationSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorPreRenderSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorSimpleSample.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/BlockQuoteEditHandler.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/CodeEditHandler.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/LinkEditHandler.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/StrikethroughEditHandler.java create mode 100644 app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodPluginSample.kt create mode 100644 app-sample/src/main/res/layout/activity_edit_text.xml diff --git a/app-sample/samples.json b/app-sample/samples.json index 4b274493..7e2e2b0a 100644 --- a/app-sample/samples.json +++ b/app-sample/samples.json @@ -1,4 +1,401 @@ [ + { + "javaClassName": "io.noties.markwon.app.samples.NoParsingSample", + "id": "202006181171212", + "title": "No parsing", + "description": "All commonmark parsing is disabled (both inlines and blocks)", + "artifacts": [ + "CORE" + ], + "tags": [ + "parsing", + "rendering" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.InlinePluginNoDefaultsSample", + "id": "202006181170857", + "title": "Inline parsing without defaults", + "description": "Configure inline parser plugin to **not** have any **inline** parsing", + "artifacts": [ + "INLINE_PARSER" + ], + "tags": [ + "parsing" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.editor.EditorNewLineContinuationSample", + "id": "202006181170348", + "title": "Editor new line continuation", + "description": "Sample of how new line character can be handled in order to add a _continuation_, for example adding a new bullet list item if current line starts with one", + "artifacts": [ + "EDITOR", + "INLINE_PARSER" + ], + "tags": [ + "editor" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.editor.EditorMultipleEditSpansSample", + "id": "202006181165920", + "title": "Multiple edit spans", + "description": "Additional multiple edit spans for editor", + "artifacts": [ + "EDITOR", + "INLINE_PARSER" + ], + "tags": [ + "editor" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.editor.EditorAdditionalPluginSample", + "id": "202006181165347", + "title": "Additional plugin", + "description": "Additional plugin for editor", + "artifacts": [ + "EDITOR", + "EXT_STRIKETHROUGH", + "INLINE_PARSER" + ], + "tags": [ + "editor" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.editor.EditorAdditionalEditSpan", + "id": "202006181165136", + "title": "Additional edit span", + "description": "Additional _edit_ span (span that is present in `EditText` along with punctuation", + "artifacts": [ + "EDITOR", + "INLINE_PARSER" + ], + "tags": [ + "editor", + "span" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.editor.EditorCustomPunctuationSample", + "id": "202006181164627", + "title": "Custom punctuation span", + "description": "Custom span for punctuation in editor", + "artifacts": [ + "EDITOR", + "INLINE_PARSER" + ], + "tags": [ + "editor", + "span" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.editor.EditorPreRenderSample", + "id": "202006181164422", + "title": "Editor with pre-render (async)", + "description": "Editor functionality with highlight taking place in another thread", + "artifacts": [ + "EDITOR", + "INLINE_PARSER" + ], + "tags": [ + "editor" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.editor.EditorSimpleSample", + "id": "202006181164227", + "title": "Simple editor", + "description": "Simple usage of editor with markdown highlight", + "artifacts": [ + "EDITOR", + "INLINE_PARSER" + ], + "tags": [ + "editor" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.CustomExtensionSample", + "id": "202006181163248", + "title": "Custom extension", + "description": "Custom extension that adds an icon from resources and renders it as image with `@ic-name` syntax", + "artifacts": [ + "CORE" + ], + "tags": [ + "extension", + "image", + "parsing", + "plugin", + "rendering", + "span" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.GithubUserIssueInlineParsingSample", + "id": "202006181162024", + "title": "User mention and issue (via text)", + "description": "Github-like user mention and issue rendering via `CorePlugin.OnTextAddedListener`", + "artifacts": [ + "CORE", + "INLINE_PARSER" + ], + "tags": [ + "parsing", + "rendering", + "text-added-listener" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.GithubUserIssueOnTextAddedSample", + "id": "202006181162024", + "title": "User mention and issue (via text)", + "description": "Github-like user mention and issue rendering via `CorePlugin.OnTextAddedListener`", + "artifacts": [ + "CORE" + ], + "tags": [ + "parsing", + "rendering", + "text-added-listener" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.ReadMorePluginSample", + "id": "202006181161505", + "title": "Read more plugin", + "description": "Plugin that adds expand/collapse (\"show all\"/\"show less\")", + "artifacts": [ + "CORE" + ], + "tags": [ + "plugin" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.TableOfContentsSample", + "id": "202006181161226", + "title": "Table of contents", + "description": "Sample plugin that adds a table of contents header", + "artifacts": [ + "CORE" + ], + "tags": [ + "plugin", + "rendering" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.LetterOrderedListSample", + "id": "202006181130954", + "title": "Letter ordered list", + "description": "Render bullet list inside an ordered list with letters instead of bullets", + "artifacts": [ + "CORE" + ], + "tags": [ + "lists", + "plugin", + "rendering" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.AnchorSample", + "id": "202006181130728", + "title": "Anchor plugin", + "description": "HTML-like anchor links plugin, which scrolls to clicked anchor", + "artifacts": [ + "CORE" + ], + "tags": [ + "anchor", + "links", + "plugin" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.AllBlocksNoForcedNewLineSample", + "id": "202006181130227", + "title": "All blocks no padding", + "description": "Do not render new lines (padding) after all blocks", + "artifacts": [ + "CORE" + ], + "tags": [ + "block", + "padding", + "rendering", + "spacing" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.HeadingNoSpaceBlockHandlerSample", + "id": "202006181125924", + "title": "Heading no padding (block handler)", + "description": "Process padding (spacing) after heading with a `BlockHandler`", + "artifacts": [ + "CORE" + ], + "tags": [ + "block", + "heading", + "padding", + "rendering", + "spacing" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.HeadingNoSpaceSample", + "id": "202006181125622", + "title": "Heading no padding", + "description": "Do not add a new line after heading node", + "artifacts": [ + "CORE" + ], + "tags": [ + "padding", + "rendering", + "spacing" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.AdditionalSpacingSample", + "id": "202006181125321", + "title": "Additional spacing after block", + "description": "Add additional spacing (padding) after last line of a block", + "artifacts": [ + "CORE" + ], + "tags": [ + "padding", + "spacing", + "span" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.SoftBreakAddsNewLineSample", + "id": "202006181125040", + "title": "Soft break new line", + "description": "Add a new line for a markdown soft-break node", + "artifacts": [ + "CORE" + ], + "tags": [ + "new-line", + "soft-break" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.SoftBreakAddsSpace", + "id": "202006181124706", + "title": "Soft break adds space", + "description": "By default a soft break (`\n`) will add a space character instead of new line", + "artifacts": [ + "CORE" + ], + "tags": [ + "defaults", + "new-line", + "soft-break" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.ImagesCustomSchemeSample", + "id": "202006181124201", + "title": "Image destination custom scheme", + "description": "Example of handling custom scheme (`https`, `ftp`, `whatever`, etc.) for images destination URLs with `ImagesPlugin`", + "artifacts": [ + "IMAGE" + ], + "tags": [ + "image" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.LinkWithoutSchemeSample", + "id": "202006181124005", + "title": "Links without scheme", + "description": "Links without scheme are considered to be `https`", + "artifacts": [ + "CORE" + ], + "tags": [ + "defaults", + "links" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.CustomizeThemeSample", + "id": "202006181123617", + "title": "Customize theme", + "description": "Customize `MarkwonTheme` styling", + "artifacts": [ + "CORE" + ], + "tags": [ + "plugin", + "style", + "theme" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.DisableNodeSample", + "id": "202006181123308", + "title": "Disable node from rendering", + "description": "Disable _parsed_ node from being rendered (markdown syntax is still consumed)", + "artifacts": [ + "CORE" + ], + "tags": [ + "parsing", + "rendering" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.ParagraphSpanStyle", + "id": "202006181122647", + "title": "Paragraph style", + "description": "Apply a style (via span) to a paragraph", + "artifacts": [ + "CORE" + ], + "tags": [ + "paragraph", + "span", + "style" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.LinkTitleSample", + "id": "202006181122230", + "title": "Obtain link title", + "description": "Obtain title (text) of clicked link, `[title](#destination)`", + "artifacts": [ + "CORE" + ], + "tags": [ + "links", + "span" + ] + }, + { + "javaClassName": "io.noties.markwon.app.samples.movementmethod.DisableImplicitMovementMethodPluginSample", + "id": "202006181121803", + "title": "Disable implicit movement method via plugin", + "description": "Disable implicit movement method via `MovementMethodPlugin`", + "artifacts": [ + "CORE" + ], + "tags": [ + "links", + "movement-method", + "recycler-view" + ] + }, { "javaClassName": "io.noties.markwon.app.samples.movementmethod.MovementMethodPluginSample", "id": "202006179081631", @@ -17,7 +414,7 @@ "javaClassName": "io.noties.markwon.app.samples.movementmethod.DisableImplicitMovementMethodSample", "id": "202006179081256", "title": "Disable implicit movement method", - "description": "Configure `Markwon` to **not** apply implicit movement method", + "description": "Configure `Markwon` to **not** apply implicit movement method, which consumes touch events when used in a `RecyclerView` even when markdown does not contain links", "artifacts": [ "CORE" ], @@ -50,6 +447,7 @@ "CORE" ], "tags": [ + "defaults", "links", "movement-method" ] diff --git a/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt index 748fe16a..a5481ce5 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/Tags.kt @@ -10,4 +10,21 @@ object Tags { const val links = "links" const val plugin = "plugin" const val recyclerView = "recycler-view" + const val paragraph = "paragraph" + const val rendering = "rendering" + const val style = "style" + const val theme = "theme" + const val image = "image" + const val newLine = "new-line" + const val softBreak = "soft-break" + const val defaults = "defaults" + const val spacing = "spacing" + const val padding = "padding" + const val heading = "heading" + const val anchor = "anchor" + const val lists = "lists" + const val extension = "extension" + const val textAddedListener = "text-added-listener" + const val editor = "editor" + const val span = "span" } \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonEditTextSample.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonEditTextSample.kt new file mode 100644 index 00000000..c7fd2602 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonEditTextSample.kt @@ -0,0 +1,23 @@ +package io.noties.markwon.app.sample.ui + +import android.content.Context +import android.view.View +import android.widget.EditText +import io.noties.markwon.app.R + +abstract class MarkwonEditTextSample: MarkwonSample() { + + protected lateinit var context: Context + protected lateinit var editText: EditText + + override val layoutResId: Int + get() = R.layout.activity_edit_text + + override fun onViewCreated(view: View) { + context = view.context + editText = view.findViewById(R.id.edit_text) + render() + } + + abstract fun render() +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonTextViewSample.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonTextViewSample.kt index 64b767ec..922d103c 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonTextViewSample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/MarkwonTextViewSample.kt @@ -13,7 +13,7 @@ abstract class MarkwonTextViewSample : MarkwonSample() { override val layoutResId: Int = R.layout.sample_text_view - final override fun onViewCreated(view: View) { + override fun onViewCreated(view: View) { context = view.context textView = view.findViewById(R.id.text_view) render() diff --git a/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleListFragment.kt b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleListFragment.kt index fc68b7c8..86ea2bc6 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleListFragment.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/sample/ui/SampleListFragment.kt @@ -20,15 +20,15 @@ import io.noties.markwon.Markwon import io.noties.markwon.app.App import io.noties.markwon.app.R import io.noties.markwon.app.sample.Sample +import io.noties.markwon.app.sample.SampleItem import io.noties.markwon.app.sample.SampleManager import io.noties.markwon.app.sample.SampleSearch -import io.noties.markwon.app.sample.SampleItem -import io.noties.markwon.app.widget.SearchBar import io.noties.markwon.app.utils.Cancellable import io.noties.markwon.app.utils.displayName import io.noties.markwon.app.utils.onPreDraw import io.noties.markwon.app.utils.recyclerView import io.noties.markwon.app.utils.tagDisplayName +import io.noties.markwon.app.widget.SearchBar import io.noties.markwon.movement.MovementMethodPlugin import io.noties.markwon.sample.annotations.MarkwonArtifact import kotlinx.android.parcel.Parcelize @@ -91,6 +91,9 @@ class SampleListFragment : Fragment() { recyclerView.paddingRight, recyclerView.paddingBottom ) + recyclerView.post { + recyclerView.scrollToPosition(0) + } } val state: State? = savedInstanceState?.getParcelable(STATE) diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/AdditionalSpacingSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/AdditionalSpacingSample.java new file mode 100644 index 00000000..80e0d7ba --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/AdditionalSpacingSample.java @@ -0,0 +1,49 @@ +package io.noties.markwon.app.samples; + +import androidx.annotation.NonNull; + +import org.commonmark.node.Heading; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonSpansFactory; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.core.MarkwonTheme; +import io.noties.markwon.core.spans.LastLineSpacingSpan; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181125321", + title = "Additional spacing after block", + description = "Add additional spacing (padding) after last line of a block", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.spacing, Tags.padding, Tags.span} +) +public class AdditionalSpacingSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Title title title title title title title title title title \n\ntext text text text"; + + // please note that bottom line (after 1 & 2 levels) will be drawn _AFTER_ padding + final int spacing = (int) (128 * context.getResources().getDisplayMetrics().density + .5F); + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureTheme(@NonNull MarkwonTheme.Builder builder) { + builder.headingBreakHeight(0); + } + + @Override + public void configureSpansFactory(@NonNull MarkwonSpansFactory.Builder builder) { + builder.appendFactory( + Heading.class, + (configuration, props) -> new LastLineSpacingSpan(spacing)); + } + }) + .build(); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/AllBlocksNoForcedNewLineSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/AllBlocksNoForcedNewLineSample.java new file mode 100644 index 00000000..5b6e9c28 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/AllBlocksNoForcedNewLineSample.java @@ -0,0 +1,59 @@ +package io.noties.markwon.app.samples; + +import androidx.annotation.NonNull; + +import org.commonmark.node.Node; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.BlockHandlerDef; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonVisitor; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181130227", + title = "All blocks no padding", + description = "Do not render new lines (padding) after all blocks", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.block, Tags.spacing, Tags.padding, Tags.rendering} +) +public class AllBlocksNoForcedNewLineSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Hello there!\n\n" + + "* a first\n" + + "* second\n" + + "- third\n" + + "* * nested one\n\n" + + "> block quote\n\n" + + "> > and nested one\n\n" + + "```java\n" + + "final int i = 0;\n" + + "```\n\n"; + + // extend default block handler + final MarkwonVisitor.BlockHandler blockHandler = new BlockHandlerDef() { + @Override + public void blockEnd(@NonNull MarkwonVisitor visitor, @NonNull Node node) { + if (visitor.hasNext(node)) { + visitor.ensureNewLine(); + } + } + }; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureVisitor(@NonNull MarkwonVisitor.Builder builder) { + builder.blockHandler(blockHandler); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/AnchorSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/AnchorSample.java new file mode 100644 index 00000000..a58b5840 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/AnchorSample.java @@ -0,0 +1,142 @@ +package io.noties.markwon.app.samples; + +import android.text.Spannable; +import android.text.Spanned; +import android.view.View; +import android.widget.ScrollView; +import android.widget.TextView; + +import androidx.annotation.NonNull; + +import org.jetbrains.annotations.NotNull; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.LinkResolverDef; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonConfiguration; +import io.noties.markwon.app.R; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.core.spans.HeadingSpan; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181130728", + title = "Anchor plugin", + description = "HTML-like anchor links plugin, which scrolls to clicked anchor", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.links, Tags.anchor, Tags.plugin} +) +public class AnchorSample extends MarkwonTextViewSample { + + private ScrollView scrollView; + + @Override + public void onViewCreated(@NotNull View view) { + scrollView = view.findViewById(R.id.scroll_view); + super.onViewCreated(view); + } + + @Override + public void render() { + + final String lorem = context.getString(R.string.lorem); + final String md = "" + + "Hello [there](#there)!\n\n\n" + + lorem + "\n\n" + + "# There!\n\n" + + lorem; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AnchorHeadingPlugin((view, top) -> scrollView.smoothScrollTo(0, top))) + .build(); + + markwon.setMarkdown(textView, md); + } +} + +class AnchorHeadingPlugin extends AbstractMarkwonPlugin { + + public interface ScrollTo { + void scrollTo(@NonNull TextView view, int top); + } + + private final ScrollTo scrollTo; + + AnchorHeadingPlugin(@NonNull ScrollTo scrollTo) { + this.scrollTo = scrollTo; + } + + @Override + public void configureConfiguration(@NonNull MarkwonConfiguration.Builder builder) { + builder.linkResolver(new AnchorLinkResolver(scrollTo)); + } + + @Override + public void afterSetText(@NonNull TextView textView) { + final Spannable spannable = (Spannable) textView.getText(); + // obtain heading spans + final HeadingSpan[] spans = spannable.getSpans(0, spannable.length(), HeadingSpan.class); + if (spans != null) { + for (HeadingSpan span : spans) { + final int start = spannable.getSpanStart(span); + final int end = spannable.getSpanEnd(span); + final int flags = spannable.getSpanFlags(span); + spannable.setSpan( + new AnchorSpan(createAnchor(spannable.subSequence(start, end))), + start, + end, + flags + ); + } + } + } + + private static class AnchorLinkResolver extends LinkResolverDef { + + private final ScrollTo scrollTo; + + AnchorLinkResolver(@NonNull ScrollTo scrollTo) { + this.scrollTo = scrollTo; + } + + @Override + public void resolve(@NonNull View view, @NonNull String link) { + if (link.startsWith("#")) { + final TextView textView = (TextView) view; + final Spanned spanned = (Spannable) textView.getText(); + final AnchorSpan[] spans = spanned.getSpans(0, spanned.length(), AnchorSpan.class); + if (spans != null) { + final String anchor = link.substring(1); + for (AnchorSpan span : spans) { + if (anchor.equals(span.anchor)) { + final int start = spanned.getSpanStart(span); + final int line = textView.getLayout().getLineForOffset(start); + final int top = textView.getLayout().getLineTop(line); + scrollTo.scrollTo(textView, top); + return; + } + } + } + } + super.resolve(view, link); + } + } + + private static class AnchorSpan { + final String anchor; + + AnchorSpan(@NonNull String anchor) { + this.anchor = anchor; + } + } + + @NonNull + public static String createAnchor(@NonNull CharSequence content) { + return String.valueOf(content) + .replaceAll("[^\\w]", "") + .toLowerCase(); + } +} + diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/CustomExtensionSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/CustomExtensionSample.java new file mode 100644 index 00000000..cc133271 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/CustomExtensionSample.java @@ -0,0 +1,436 @@ +package io.noties.markwon.app.samples; + +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.text.TextUtils; +import android.text.style.ReplacementSpan; + +import androidx.annotation.DrawableRes; +import androidx.annotation.IntDef; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import org.commonmark.node.CustomNode; +import org.commonmark.node.Delimited; +import org.commonmark.node.Node; +import org.commonmark.node.Text; +import org.commonmark.parser.Parser; +import org.commonmark.parser.delimiter.DelimiterProcessor; +import org.commonmark.parser.delimiter.DelimiterRun; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonVisitor; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181163248", + title = "Custom extension", + description = "Custom extension that adds an " + + "icon from resources and renders it as image with " + + "`@ic-name` syntax", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.parsing, Tags.rendering, Tags.plugin, Tags.image, Tags.extension, Tags.span} +) +public class CustomExtensionSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Hello! @ic-android-black-24\n\n" + + "" + + "Home 36 black: @ic-home-black-36\n\n" + + "" + + "Memory 48 black: @ic-memory-black-48\n\n" + + "" + + "### I AM ANOTHER HEADER\n\n" + + "" + + "Sentiment Satisfied 64 red: @ic-sentiment_satisfied-red-64" + + ""; + + // note that we haven't registered CorePlugin, as it's the only one that can be + // implicitly deducted and added automatically. All other plugins require explicit + // `usePlugin` call + final Markwon markwon = Markwon.builder(context) + .usePlugin(IconPlugin.create(IconSpanProvider.create(context, 0))) + .build(); + + markwon.setMarkdown(textView, md); + } +} + +class IconPlugin extends AbstractMarkwonPlugin { + + @NonNull + public static IconPlugin create(@NonNull IconSpanProvider iconSpanProvider) { + return new IconPlugin(iconSpanProvider); + } + + private final IconSpanProvider iconSpanProvider; + + IconPlugin(@NonNull IconSpanProvider iconSpanProvider) { + this.iconSpanProvider = iconSpanProvider; + } + + @Override + public void configureParser(@NonNull Parser.Builder builder) { + builder.customDelimiterProcessor(IconProcessor.create()); + } + + @Override + public void configureVisitor(@NonNull MarkwonVisitor.Builder builder) { + builder.on(IconNode.class, (visitor, iconNode) -> { + + final String name = iconNode.name(); + final String color = iconNode.color(); + final String size = iconNode.size(); + + if (!TextUtils.isEmpty(name) + && !TextUtils.isEmpty(color) + && !TextUtils.isEmpty(size)) { + + final int length = visitor.length(); + + visitor.builder().append(name); + visitor.setSpans(length, iconSpanProvider.provide(name, color, size)); + visitor.builder().append(' '); + } + }); + } + + @NonNull + @Override + public String processMarkdown(@NonNull String markdown) { + return IconProcessor.prepare(markdown); + } +} + +abstract class IconSpanProvider { + + @SuppressWarnings("SameParameterValue") + @NonNull + public static IconSpanProvider create(@NonNull Context context, @DrawableRes int fallBack) { + return new Impl(context, fallBack); + } + + + @NonNull + public abstract IconSpan provide(@NonNull String name, @NonNull String color, @NonNull String size); + + + private static class Impl extends IconSpanProvider { + + private final Context context; + private final Resources resources; + private final int fallBack; + + Impl(@NonNull Context context, @DrawableRes int fallBack) { + this.context = context; + this.resources = context.getResources(); + this.fallBack = fallBack; + } + + @NonNull + @Override + public IconSpan provide(@NonNull String name, @NonNull String color, @NonNull String size) { + final String resName = iconName(name, color, size); + int resId = resources.getIdentifier(resName, "drawable", context.getPackageName()); + if (resId == 0) { + resId = fallBack; + } + return new IconSpan(getDrawable(resId), IconSpan.ALIGN_CENTER); + } + + + @NonNull + private static String iconName(@NonNull String name, @NonNull String color, @NonNull String size) { + return "ic_" + name + "_" + color + "_" + size + "dp"; + } + + @NonNull + private Drawable getDrawable(int resId) { + //noinspection ConstantConditions + return context.getDrawable(resId); + } + } +} + +class IconSpan extends ReplacementSpan { + + @IntDef({ALIGN_BOTTOM, ALIGN_BASELINE, ALIGN_CENTER}) + @Retention(RetentionPolicy.CLASS) + @interface Alignment { + } + + public static final int ALIGN_BOTTOM = 0; + public static final int ALIGN_BASELINE = 1; + public static final int ALIGN_CENTER = 2; // will only center if drawable height is less than text line height + + + private final Drawable drawable; + + private final int alignment; + + public IconSpan(@NonNull Drawable drawable, @Alignment int alignment) { + this.drawable = drawable; + this.alignment = alignment; + if (drawable.getBounds().isEmpty()) { + drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); + } + } + + @Override + public int getSize(@NonNull Paint paint, CharSequence text, int start, int end, @Nullable Paint.FontMetricsInt fm) { + + final Rect rect = drawable.getBounds(); + + if (fm != null) { + fm.ascent = -rect.bottom; + fm.descent = 0; + + fm.top = fm.ascent; + fm.bottom = 0; + } + + return rect.right; + } + + @Override + public void draw(@NonNull Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, int bottom, @NonNull Paint paint) { + + final int b = bottom - drawable.getBounds().bottom; + + final int save = canvas.save(); + try { + final int translationY; + if (ALIGN_CENTER == alignment) { + translationY = b - ((bottom - top - drawable.getBounds().height()) / 2); + } else if (ALIGN_BASELINE == alignment) { + translationY = b - paint.getFontMetricsInt().descent; + } else { + translationY = b; + } + canvas.translate(x, translationY); + drawable.draw(canvas); + } finally { + canvas.restoreToCount(save); + } + } +} + +class IconProcessor implements DelimiterProcessor { + + @NonNull + public static IconProcessor create() { + return new IconProcessor(); + } + + // ic-home-black-24 + private static final Pattern PATTERN = Pattern.compile("ic-(\\w+)-(\\w+)-(\\d+)"); + + private static final String TO_FIND = IconNode.DELIMITER_STRING + "ic-"; + + /** + * Should be used when input string does not wrap icon definition with `@` from both ends. + * So, `@ic-home-white-24` would become `@ic-home-white-24@`. This way parsing is easier + * and more predictable (cannot specify multiple ending delimiters, as we would require them: + * space, newline, end of a document, and a lot of more) + * + * @param input to process + * @return processed string + * @see #prepare(StringBuilder) + */ + @NonNull + public static String prepare(@NonNull String input) { + final StringBuilder builder = new StringBuilder(input); + prepare(builder); + return builder.toString(); + } + + public static void prepare(@NonNull StringBuilder builder) { + + int start = builder.indexOf(TO_FIND); + int end; + + while (start > -1) { + + end = iconDefinitionEnd(start + TO_FIND.length(), builder); + + // if we match our pattern, append `@` else ignore + if (iconDefinitionValid(builder.subSequence(start + 1, end))) { + builder.insert(end, '@'); + } + + // move to next + start = builder.indexOf(TO_FIND, end); + } + } + + @Override + public char getOpeningCharacter() { + return IconNode.DELIMITER; + } + + @Override + public char getClosingCharacter() { + return IconNode.DELIMITER; + } + + @Override + public int getMinLength() { + return 1; + } + + @Override + public int getDelimiterUse(DelimiterRun opener, DelimiterRun closer) { + return opener.length() >= 1 && closer.length() >= 1 ? 1 : 0; + } + + @Override + public void process(Text opener, Text closer, int delimiterUse) { + + final IconGroupNode iconGroupNode = new IconGroupNode(); + + final Node next = opener.getNext(); + + boolean handled = false; + + // process only if we have exactly one Text node + if (next instanceof Text && next.getNext() == closer) { + + final String text = ((Text) next).getLiteral(); + + if (!TextUtils.isEmpty(text)) { + + // attempt to match + final Matcher matcher = PATTERN.matcher(text); + if (matcher.matches()) { + final IconNode iconNode = new IconNode( + matcher.group(1), + matcher.group(2), + matcher.group(3) + ); + iconGroupNode.appendChild(iconNode); + next.unlink(); + handled = true; + } + } + } + + if (!handled) { + + // restore delimiters if we didn't match + + iconGroupNode.appendChild(new Text(IconNode.DELIMITER_STRING)); + + Node node; + for (Node tmp = opener.getNext(); tmp != null && tmp != closer; tmp = node) { + node = tmp.getNext(); + // append a child anyway + iconGroupNode.appendChild(tmp); + } + + iconGroupNode.appendChild(new Text(IconNode.DELIMITER_STRING)); + } + + opener.insertBefore(iconGroupNode); + } + + private static int iconDefinitionEnd(int index, @NonNull StringBuilder builder) { + + // all spaces, new lines, non-words or digits, + + char c; + + int end = -1; + for (int i = index; i < builder.length(); i++) { + c = builder.charAt(i); + if (Character.isWhitespace(c) + || !(Character.isLetterOrDigit(c) || c == '-' || c == '_')) { + end = i; + break; + } + } + + if (end == -1) { + end = builder.length(); + } + + return end; + } + + private static boolean iconDefinitionValid(@NonNull CharSequence cs) { + final Matcher matcher = PATTERN.matcher(cs); + return matcher.matches(); + } +} + +class IconNode extends CustomNode implements Delimited { + + public static final char DELIMITER = '@'; + + public static final String DELIMITER_STRING = "" + DELIMITER; + + + private final String name; + + private final String color; + + private final String size; + + public IconNode(@NonNull String name, @NonNull String color, @NonNull String size) { + this.name = name; + this.color = color; + this.size = size; + } + + @NonNull + public String name() { + return name; + } + + @NonNull + public String color() { + return color; + } + + @NonNull + public String size() { + return size; + } + + @Override + public String getOpeningDelimiter() { + return DELIMITER_STRING; + } + + @Override + public String getClosingDelimiter() { + return DELIMITER_STRING; + } + + @Override + @NonNull + public String toString() { + return "IconNode{" + + "name='" + name + '\'' + + ", color='" + color + '\'' + + ", size='" + size + '\'' + + '}'; + } +} + +class IconGroupNode extends CustomNode { + +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/CustomizeThemeSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/CustomizeThemeSample.java new file mode 100644 index 00000000..84fd3855 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/CustomizeThemeSample.java @@ -0,0 +1,41 @@ +package io.noties.markwon.app.samples; + +import android.graphics.Color; + +import androidx.annotation.NonNull; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.core.MarkwonTheme; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181123617", + title = "Customize theme", + description = "Customize `MarkwonTheme` styling", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.style, Tags.theme, Tags.plugin} +) +public class CustomizeThemeSample extends MarkwonTextViewSample { + @Override + public void render() { + + final String md = "`A code` that is rendered differently\n\n```\nHello!\n```"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureTheme(@NonNull MarkwonTheme.Builder builder) { + builder + .codeBackgroundColor(Color.BLACK) + .codeTextColor(Color.RED); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/DisableNodeSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/DisableNodeSample.java new file mode 100644 index 00000000..786f8de3 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/DisableNodeSample.java @@ -0,0 +1,44 @@ +package io.noties.markwon.app.samples; + +import androidx.annotation.NonNull; + +import org.commonmark.node.Heading; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonVisitor; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181123308", + title = "Disable node from rendering", + description = "Disable _parsed_ node from being rendered (markdown syntax is still consumed)", + artifacts = {MarkwonArtifact.CORE}, + tags = {Tags.parsing, Tags.rendering} +) +public class DisableNodeSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "# Heading 1\n\n## Heading 2\n\n**other** content [here](#)"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureVisitor(@NonNull MarkwonVisitor.Builder builder) { + + // for example to disable rendering of heading: + // try commenting this out to see that otherwise headings will be rendered + builder.on(Heading.class, null); + + // same method can be used to override existing visitor by specifying + // a new NodeVisitor instance + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/GithubUserIssueInlineParsingSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/GithubUserIssueInlineParsingSample.java new file mode 100644 index 00000000..af942736 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/GithubUserIssueInlineParsingSample.java @@ -0,0 +1,109 @@ +package io.noties.markwon.app.samples; + +import androidx.annotation.NonNull; + +import org.commonmark.node.Link; +import org.commonmark.node.Node; +import org.commonmark.parser.InlineParserFactory; +import org.commonmark.parser.Parser; + +import java.util.regex.Pattern; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.inlineparser.InlineProcessor; +import io.noties.markwon.inlineparser.MarkwonInlineParser; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181162024", + title = "User mention and issue (via text)", + description = "Github-like user mention and issue " + + "rendering via `CorePlugin.OnTextAddedListener`", + artifacts = {MarkwonArtifact.CORE, MarkwonArtifact.INLINE_PARSER}, + tags = {Tags.parsing, Tags.textAddedListener, Tags.rendering} +) +public class GithubUserIssueInlineParsingSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Custom Extension 2\n" + + "\n" + + "This is an issue #1\n" + + "Done by @noties"; + + final InlineParserFactory inlineParserFactory = MarkwonInlineParser.factoryBuilder() + // include all current defaults (otherwise will be empty - contain only our inline-processors) + // included by default, to create factory-builder without defaults call `factoryBuilderNoDefaults` +// .includeDefaults() + .addInlineProcessor(new IssueInlineProcessor()) + .addInlineProcessor(new UserInlineProcessor()) + .build(); + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureParser(@NonNull Parser.Builder builder) { + builder.inlineParserFactory(inlineParserFactory); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } +} + +class IssueInlineProcessor extends InlineProcessor { + + private static final Pattern RE = Pattern.compile("\\d+"); + + @Override + public char specialCharacter() { + return '#'; + } + + @Override + protected Node parse() { + final String id = match(RE); + if (id != null) { + final Link link = new Link(createIssueOrPullRequestLinkDestination(id), null); + link.appendChild(text("#" + id)); + return link; + } + return null; + } + + @NonNull + private static String createIssueOrPullRequestLinkDestination(@NonNull String id) { + return "https://github.com/noties/Markwon/issues/" + id; + } +} + +class UserInlineProcessor extends InlineProcessor { + + private static final Pattern RE = Pattern.compile("\\w+"); + + @Override + public char specialCharacter() { + return '@'; + } + + @Override + protected Node parse() { + final String user = match(RE); + if (user != null) { + final Link link = new Link(createUserLinkDestination(user), null); + link.appendChild(text("@" + user)); + return link; + } + return null; + } + + @NonNull + private static String createUserLinkDestination(@NonNull String user) { + return "https://github.com/" + user; + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/GithubUserIssueOnTextAddedSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/GithubUserIssueOnTextAddedSample.java new file mode 100644 index 00000000..0a9e6e7c --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/GithubUserIssueOnTextAddedSample.java @@ -0,0 +1,120 @@ +package io.noties.markwon.app.samples; + +import androidx.annotation.NonNull; + +import org.commonmark.node.Link; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonConfiguration; +import io.noties.markwon.MarkwonVisitor; +import io.noties.markwon.RenderProps; +import io.noties.markwon.SpannableBuilder; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.core.CorePlugin; +import io.noties.markwon.core.CoreProps; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181162024", + title = "User mention and issue (via text)", + description = "Github-like user mention and issue " + + "rendering via `CorePlugin.OnTextAddedListener`", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.parsing, Tags.textAddedListener, Tags.rendering} +) +public class GithubUserIssueOnTextAddedSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Custom Extension 2\n" + + "\n" + + "This is an issue #1\n" + + "Done by @noties"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configure(@NonNull Registry registry) { + registry.require(CorePlugin.class, corePlugin -> + corePlugin.addOnTextAddedListener(new GithubLinkifyRegexTextAddedListener())); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } +} + +class GithubLinkifyRegexTextAddedListener implements CorePlugin.OnTextAddedListener { + + private static final Pattern PATTERN = Pattern.compile("((#\\d+)|(@\\w+))", Pattern.MULTILINE); + + @Override + public void onTextAdded(@NonNull MarkwonVisitor visitor, @NonNull String text, int start) { + + final Matcher matcher = PATTERN.matcher(text); + + String value; + String url; + int index; + + while (matcher.find()) { + + value = matcher.group(1); + + // detect which one it is + if ('#' == value.charAt(0)) { + url = createIssueOrPullRequestLink(value.substring(1)); + } else { + url = createUserLink(value.substring(1)); + } + + // it's important to use `start` value (represents start-index of `text` in the visitor) + index = start + matcher.start(); + + setLink(visitor, url, index, index + value.length()); + } + } + + @NonNull + private String createIssueOrPullRequestLink(@NonNull String number) { + // issues and pull-requests on github follow the same pattern and we + // cannot know for sure which one it is, but if we use issues for all types, + // github will automatically redirect to pull-request if it's the one which is opened + return "https://github.com/noties/Markwon/issues/" + number; + } + + @NonNull + private String createUserLink(@NonNull String user) { + return "https://github.com/" + user; + } + + private void setLink(@NonNull MarkwonVisitor visitor, @NonNull String destination, int start, int end) { + + // might a simpler one, but it doesn't respect possible changes to links +// visitor.builder().setSpan( +// new LinkSpan(visitor.configuration().theme(), destination, visitor.configuration().linkResolver()), +// start, +// end +// ); + + // use default handlers for links + final MarkwonConfiguration configuration = visitor.configuration(); + final RenderProps renderProps = visitor.renderProps(); + + CoreProps.LINK_DESTINATION.set(renderProps, destination); + + SpannableBuilder.setSpans( + visitor.builder(), + configuration.spansFactory().require(Link.class).getSpans(configuration, renderProps), + start, + end + ); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/HeadingNoSpaceBlockHandlerSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/HeadingNoSpaceBlockHandlerSample.java new file mode 100644 index 00000000..b73446bb --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/HeadingNoSpaceBlockHandlerSample.java @@ -0,0 +1,56 @@ +package io.noties.markwon.app.samples; + +import androidx.annotation.NonNull; + +import org.commonmark.node.Heading; +import org.commonmark.node.Node; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.BlockHandlerDef; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonVisitor; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181125924", + title = "Heading no padding (block handler)", + description = "Process padding (spacing) after heading with a " + + "`BlockHandler`", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.block, Tags.spacing, Tags.padding, Tags.heading, Tags.rendering} +) +public class HeadingNoSpaceBlockHandlerSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Title title title title title title title title title title\n\n" + + "text text text text" + + ""; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureVisitor(@NonNull MarkwonVisitor.Builder builder) { + builder.blockHandler(new BlockHandlerDef() { + @Override + public void blockEnd(@NonNull MarkwonVisitor visitor, @NonNull Node node) { + if (node instanceof Heading) { + if (visitor.hasNext(node)) { + visitor.ensureNewLine(); + // ensure new line but do not force insert one + } + } else { + super.blockEnd(visitor, node); + } + } + }); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/HeadingNoSpaceSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/HeadingNoSpaceSample.java new file mode 100644 index 00000000..5171a16b --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/HeadingNoSpaceSample.java @@ -0,0 +1,64 @@ +package io.noties.markwon.app.samples; + +import androidx.annotation.NonNull; + +import org.commonmark.node.Heading; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonVisitor; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.core.CoreProps; +import io.noties.markwon.core.MarkwonTheme; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181125622", + title = "Heading no padding", + description = "Do not add a new line after heading node", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.spacing, Tags.padding, Tags.spacing, Tags.rendering} +) +class HeadingNoSpaceSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Title title title title title title title title title title" + + "\n\ntext text text text" + + ""; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureTheme(@NonNull MarkwonTheme.Builder builder) { + builder.headingBreakHeight(0); + } + + @Override + public void configureVisitor(@NonNull MarkwonVisitor.Builder builder) { + builder.on(Heading.class, (visitor, heading) -> { + + visitor.ensureNewLine(); + + final int length = visitor.length(); + visitor.visitChildren(heading); + + CoreProps.HEADING_LEVEL.set(visitor.renderProps(), heading.getLevel()); + + visitor.setSpansForNodeOptional(heading, length); + + if (visitor.hasNext(heading)) { + visitor.ensureNewLine(); + // by default Markwon adds a new line here +// visitor.forceNewLine(); + } + }); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/ImagesCustomSchemeSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/ImagesCustomSchemeSample.java new file mode 100644 index 00000000..f00c7315 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/ImagesCustomSchemeSample.java @@ -0,0 +1,73 @@ +package io.noties.markwon.app.samples; + +import android.net.Uri; + +import androidx.annotation.NonNull; + +import java.util.Collection; +import java.util.Collections; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.image.ImageItem; +import io.noties.markwon.image.ImagesPlugin; +import io.noties.markwon.image.SchemeHandler; +import io.noties.markwon.image.network.NetworkSchemeHandler; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181124201", + title = "Image destination custom scheme", + description = "Example of handling custom scheme " + + "(`https`, `ftp`, `whatever`, etc.) for images destination URLs " + + "with `ImagesPlugin`", + artifacts = {MarkwonArtifact.IMAGE}, + tags = {Tags.image} +) +public class ImagesCustomSchemeSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "![image](myownscheme://en.wikipedia.org/static/images/project-logos/enwiki-2x.png)"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(ImagesPlugin.create()) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configure(@NonNull Registry registry) { + + // use registry.require to obtain a plugin, does also + // a runtime validation if this plugin is registered + registry.require(ImagesPlugin.class, plugin -> plugin.addSchemeHandler(new SchemeHandler() { + + // it's a sample only, most likely you won't need to + // use existing scheme-handler, this for demonstration purposes only + final NetworkSchemeHandler handler = NetworkSchemeHandler.create(); + + @NonNull + @Override + public ImageItem handle(@NonNull String raw, @NonNull Uri uri) { + // just replace it with https for the sack of sample + final String url = raw.replace("myownscheme", "https"); + return handler.handle(url, Uri.parse(url)); + } + + @NonNull + @Override + public Collection supportedSchemes() { + return Collections.singleton("myownscheme"); + } + })); + } + }) + // or we can init plugin with this factory method +// .usePlugin(ImagesPlugin.create(plugin -> { +// plugin.addSchemeHandler(/**/) +// })) + .build(); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/InlinePluginNoDefaultsSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/InlinePluginNoDefaultsSample.java new file mode 100644 index 00000000..cb7ba190 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/InlinePluginNoDefaultsSample.java @@ -0,0 +1,35 @@ +package io.noties.markwon.app.samples; + +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.inlineparser.MarkwonInlineParser; +import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181170857", + title = "Inline parsing without defaults", + description = "Configure inline parser plugin to **not** have any **inline** parsing", + artifacts = {MarkwonArtifact.INLINE_PARSER}, + tags = {Tags.parsing} +) +public class InlinePluginNoDefaultsSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Heading\n" + + "`code` inlined and **bold** here"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(MarkwonInlineParserPlugin.create(MarkwonInlineParser.factoryBuilderNoDefaults())) +// .usePlugin(MarkwonInlineParserPlugin.create(MarkwonInlineParser.factoryBuilderNoDefaults(), factoryBuilder -> { +// // if anything, they can be included here +//// factoryBuilder.includeDefaults() +// })) + .build(); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/LetterOrderedListSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/LetterOrderedListSample.java new file mode 100644 index 00000000..49c03490 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/LetterOrderedListSample.java @@ -0,0 +1,188 @@ +package io.noties.markwon.app.samples; + +import android.text.TextUtils; +import android.util.SparseIntArray; + +import androidx.annotation.NonNull; + +import org.commonmark.node.BulletList; +import org.commonmark.node.ListItem; +import org.commonmark.node.Node; +import org.commonmark.node.OrderedList; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonSpansFactory; +import io.noties.markwon.MarkwonVisitor; +import io.noties.markwon.Prop; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.core.CoreProps; +import io.noties.markwon.core.spans.BulletListItemSpan; +import io.noties.markwon.core.spans.OrderedListItemSpan; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181130954", + title = "Letter ordered list", + description = "Render bullet list inside an ordered list with letters instead of bullets", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.rendering, Tags.plugin, Tags.lists} +) +public class LetterOrderedListSample extends MarkwonTextViewSample { + @Override + public void render() { + // bullet list nested in ordered list renders letters instead of bullets + final String md = "" + + "1. Hello there!\n" + + "1. And here is how:\n" + + " - First\n" + + " - Second\n" + + " - Third\n" + + " 1. And first here\n\n"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new BulletListIsOrderedWithLettersWhenNestedPlugin()) + .build(); + + markwon.setMarkdown(textView, md); + } +} + +class BulletListIsOrderedWithLettersWhenNestedPlugin extends AbstractMarkwonPlugin { + + private static final Prop BULLET_LETTER = Prop.of("my-bullet-letter"); + + // or introduce some kind of synchronization if planning to use from multiple threads, + // for example via ThreadLocal + private final SparseIntArray bulletCounter = new SparseIntArray(); + + @Override + public void afterRender(@NonNull Node node, @NonNull MarkwonVisitor visitor) { + // clear counter after render + bulletCounter.clear(); + } + + @Override + public void configureVisitor(@NonNull MarkwonVisitor.Builder builder) { + // NB that both ordered and bullet lists are represented + // by ListItem (must inspect parent to detect the type) + builder.on(ListItem.class, (visitor, listItem) -> { + // mimic original behaviour (copy-pasta from CorePlugin) + + final int length = visitor.length(); + + visitor.visitChildren(listItem); + + final Node parent = listItem.getParent(); + if (parent instanceof OrderedList) { + + final int start = ((OrderedList) parent).getStartNumber(); + + CoreProps.LIST_ITEM_TYPE.set(visitor.renderProps(), CoreProps.ListItemType.ORDERED); + CoreProps.ORDERED_LIST_ITEM_NUMBER.set(visitor.renderProps(), start); + + // after we have visited the children increment start number + final OrderedList orderedList = (OrderedList) parent; + orderedList.setStartNumber(orderedList.getStartNumber() + 1); + + } else { + CoreProps.LIST_ITEM_TYPE.set(visitor.renderProps(), CoreProps.ListItemType.BULLET); + + if (isBulletOrdered(parent)) { + // obtain current count value + final int count = currentBulletCountIn(parent); + BULLET_LETTER.set(visitor.renderProps(), createBulletLetter(count)); + // update current count value + setCurrentBulletCountIn(parent, count + 1); + } else { + CoreProps.BULLET_LIST_ITEM_LEVEL.set(visitor.renderProps(), listLevel(listItem)); + // clear letter info when regular bullet list is used + BULLET_LETTER.clear(visitor.renderProps()); + } + } + + visitor.setSpansForNodeOptional(listItem, length); + + if (visitor.hasNext(listItem)) { + visitor.ensureNewLine(); + } + }); + } + + @Override + public void configureSpansFactory(@NonNull MarkwonSpansFactory.Builder builder) { + builder.setFactory(ListItem.class, (configuration, props) -> { + final Object spans; + + if (CoreProps.ListItemType.BULLET == CoreProps.LIST_ITEM_TYPE.require(props)) { + final String letter = BULLET_LETTER.get(props); + if (!TextUtils.isEmpty(letter)) { + // NB, we are using OrderedListItemSpan here! + spans = new OrderedListItemSpan( + configuration.theme(), + letter + ); + } else { + spans = new BulletListItemSpan( + configuration.theme(), + CoreProps.BULLET_LIST_ITEM_LEVEL.require(props) + ); + } + } else { + + final String number = String.valueOf(CoreProps.ORDERED_LIST_ITEM_NUMBER.require(props)) + + "." + '\u00a0'; + + spans = new OrderedListItemSpan( + configuration.theme(), + number + ); + } + + return spans; + }); + } + + private int currentBulletCountIn(@NonNull Node parent) { + return bulletCounter.get(parent.hashCode(), 0); + } + + private void setCurrentBulletCountIn(@NonNull Node parent, int count) { + bulletCounter.put(parent.hashCode(), count); + } + + @NonNull + private static String createBulletLetter(int count) { + // or lower `a` + // `'u00a0` is non-breakable space char + return ((char) ('A' + count)) + ".\u00a0"; + } + + private static int listLevel(@NonNull Node node) { + int level = 0; + Node parent = node.getParent(); + while (parent != null) { + if (parent instanceof ListItem) { + level += 1; + } + parent = parent.getParent(); + } + return level; + } + + private static boolean isBulletOrdered(@NonNull Node node) { + node = node.getParent(); + while (node != null) { + if (node instanceof OrderedList) { + return true; + } + if (node instanceof BulletList) { + return false; + } + node = node.getParent(); + } + return false; + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/LinkTitleSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/LinkTitleSample.java new file mode 100644 index 00000000..9e8f95bc --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/LinkTitleSample.java @@ -0,0 +1,97 @@ +package io.noties.markwon.app.samples; + +import android.text.Spanned; +import android.view.View; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import org.commonmark.node.Link; + +import java.util.Locale; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.LinkResolver; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonSpansFactory; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.core.CoreProps; +import io.noties.markwon.core.MarkwonTheme; +import io.noties.markwon.core.spans.LinkSpan; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181122230", + title = "Obtain link title", + description = "Obtain title (text) of clicked link, `[title](#destination)`", + artifacts = {MarkwonArtifact.CORE}, + tags = {Tags.links, Tags.span} +) +public class LinkTitleSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Links\n\n" + + "[link title](#)"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureSpansFactory(@NonNull MarkwonSpansFactory.Builder builder) { + builder.setFactory(Link.class, (configuration, props) -> + // create a subclass of markwon LinkSpan + new ClickSelfSpan( + configuration.theme(), + CoreProps.LINK_DESTINATION.require(props), + configuration.linkResolver() + ) + ); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } +} + +class ClickSelfSpan extends LinkSpan { + + ClickSelfSpan( + @NonNull MarkwonTheme theme, + @NonNull String link, + @NonNull LinkResolver resolver) { + super(theme, link, resolver); + } + + @Override + public void onClick(View widget) { + Toast.makeText( + widget.getContext(), + String.format(Locale.ROOT, "clicked link title: '%s'", linkTitle(widget)), + Toast.LENGTH_LONG + ).show(); + super.onClick(widget); + } + + @Nullable + private CharSequence linkTitle(@NonNull View widget) { + + if (!(widget instanceof TextView)) { + return null; + } + + final Spanned spanned = (Spanned) ((TextView) widget).getText(); + final int start = spanned.getSpanStart(this); + final int end = spanned.getSpanEnd(this); + + if (start < 0 || end < 0) { + return null; + } + + return spanned.subSequence(start, end); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/LinkWithoutSchemeSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/LinkWithoutSchemeSample.java new file mode 100644 index 00000000..9eeee345 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/LinkWithoutSchemeSample.java @@ -0,0 +1,29 @@ +package io.noties.markwon.app.samples; + +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181124005", + title = "Links without scheme", + description = "Links without scheme are considered to be `https`", + artifacts = {MarkwonArtifact.CORE}, + tags = {Tags.links, Tags.defaults} +) +public class LinkWithoutSchemeSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Links without scheme\n" + + "[a link without scheme](github.com) is considered to be `https`.\n" + + "Override `LinkResolverDef` to change this functionality" + + ""; + + final Markwon markwon = Markwon.create(context); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/NoParsingSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/NoParsingSample.java new file mode 100644 index 00000000..0a0fdab8 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/NoParsingSample.java @@ -0,0 +1,49 @@ +package io.noties.markwon.app.samples; + +import androidx.annotation.NonNull; + +import org.commonmark.parser.Parser; + +import java.util.Collections; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.inlineparser.MarkwonInlineParser; +import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181171212", + title = "No parsing", + description = "All commonmark parsing is disabled (both inlines and blocks)", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.parsing, Tags.rendering} +) +public class NoParsingSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "# Heading\n" + + "[link](#) was _here_ and `then` and it was:\n" + + "> a quote\n" + + "```java\n" + + "final int someJavaCode = 0;\n" + + "```\n"; + + final Markwon markwon = Markwon.builder(context) + // disable inline parsing + .usePlugin(MarkwonInlineParserPlugin.create(MarkwonInlineParser.factoryBuilderNoDefaults())) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureParser(@NonNull Parser.Builder builder) { + builder.enabledBlockTypes(Collections.emptySet()); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/ParagraphSpanStyle.java b/app-sample/src/main/java/io/noties/markwon/app/samples/ParagraphSpanStyle.java new file mode 100644 index 00000000..90808e1d --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/ParagraphSpanStyle.java @@ -0,0 +1,43 @@ +package io.noties.markwon.app.samples; + +import android.graphics.Color; +import android.text.style.ForegroundColorSpan; + +import androidx.annotation.NonNull; + +import org.commonmark.node.Paragraph; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonSpansFactory; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181122647", + title = "Paragraph style", + description = "Apply a style (via span) to a paragraph", + artifacts = {MarkwonArtifact.CORE}, + tags = {Tags.paragraph, Tags.style, Tags.span} +) +public class ParagraphSpanStyle extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "# Hello!\n\nA paragraph?\n\nIt should be!"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureSpansFactory(@NonNull MarkwonSpansFactory.Builder builder) { + // apply a span to a Paragraph + builder.setFactory(Paragraph.class, (configuration, props) -> + new ForegroundColorSpan(Color.GREEN)); + } + }) + .build(); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/ReadMorePluginSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/ReadMorePluginSample.java new file mode 100644 index 00000000..acc23895 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/ReadMorePluginSample.java @@ -0,0 +1,209 @@ +package io.noties.markwon.app.samples; + +import android.text.SpannableStringBuilder; +import android.text.Spanned; +import android.text.style.ClickableSpan; +import android.text.style.ReplacementSpan; +import android.view.View; +import android.widget.TextView; + +import androidx.annotation.NonNull; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.ext.tables.TablePlugin; +import io.noties.markwon.image.ImagesPlugin; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181161505", + title = "Read more plugin", + description = "Plugin that adds expand/collapse (\"show all\"/\"show less\")", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.plugin} +) +public class ReadMorePluginSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "Lorem **ipsum** ![dolor](https://avatars2.githubusercontent.com/u/30618885?s=460&v=4) sit amet, consectetur adipiscing elit. Morbi vitae enim ut sem aliquet ultrices. Nunc a accumsan orci. Suspendisse tortor ante, lacinia ac scelerisque sed, dictum eget metus. Morbi ante augue, tristique eget quam in, vestibulum rutrum lacus. Nulla aliquam auctor cursus. Nulla at lacus condimentum, viverra lacus eget, sollicitudin ex. Cras efficitur leo dui, sit amet rutrum tellus venenatis et. Sed in facilisis libero. Etiam ultricies, nulla ut venenatis tincidunt, tortor erat tristique ante, non aliquet massa arcu eget nisl. Etiam gravida erat ante, sit amet lobortis mauris commodo nec. Praesent vitae sodales quam. Vivamus condimentum porta suscipit. Donec posuere id felis ac scelerisque. Vestibulum lacinia et leo id lobortis. Sed vitae dolor nec ligula dapibus finibus vel eu libero. Nam tincidunt maximus elit, sit amet tincidunt lacus laoreet malesuada.\n\n" + + "here we ![are](https://avatars2.githubusercontent.com/u/30618885?s=460&v=4)"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(ImagesPlugin.create()) + .usePlugin(new ReadMorePlugin()) + .build(); + + markwon.setMarkdown(textView, md); + } +} + +/** + * Read more plugin based on text length. It is easier to implement than lines (need to adjust + * last line to include expand/collapse text). + */ +class ReadMorePlugin extends AbstractMarkwonPlugin { + + @SuppressWarnings("FieldCanBeLocal") + private final int maxLength = 150; + + @SuppressWarnings("FieldCanBeLocal") + private final String labelMore = "Show more..."; + + @SuppressWarnings("FieldCanBeLocal") + private final String labelLess = "...Show less"; + + @Override + public void configure(@NonNull Registry registry) { + // establish connections with all _dynamic_ content that your markdown supports, + // like images, tables, latex, etc + registry.require(ImagesPlugin.class); + registry.require(TablePlugin.class); + } + + @Override + public void afterSetText(@NonNull TextView textView) { + final CharSequence text = textView.getText(); + if (text.length() < maxLength) { + // everything is OK, no need to ellipsize) + return; + } + + final int breakAt = breakTextAt(text, 0, maxLength); + final CharSequence cs = createCollapsedString(text, 0, breakAt); + textView.setText(cs); + } + + @SuppressWarnings("SameParameterValue") + @NonNull + private CharSequence createCollapsedString(@NonNull CharSequence text, int start, int end) { + final SpannableStringBuilder builder = new SpannableStringBuilder(text, start, end); + + // NB! each table row is represented as a space character and new-line (so length=2) no + // matter how many characters are inside table cells + + // we can _clean_ this builder, for example remove all dynamic content (like images and tables, + // but keep them in full/expanded version) + //noinspection ConstantConditions + if (true) { + // it is an implementation detail but _mostly_ dynamic content is implemented as + // ReplacementSpans + final ReplacementSpan[] spans = builder.getSpans(0, builder.length(), ReplacementSpan.class); + if (spans != null) { + for (ReplacementSpan span : spans) { + builder.removeSpan(span); + } + } + + // NB! if there will be a table in _preview_ (collapsed) then each row will be represented as a + // space and new-line + trim(builder); + } + + final CharSequence fullText = createFullText(text, builder); + + builder.append(' '); + + final int length = builder.length(); + builder.append(labelMore); + builder.setSpan(new ClickableSpan() { + @Override + public void onClick(@NonNull View widget) { + ((TextView) widget).setText(fullText); + } + }, length, builder.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + + return builder; + } + + @NonNull + private CharSequence createFullText(@NonNull CharSequence text, @NonNull CharSequence collapsedText) { + // full/expanded text can also be different, + // for example it can be kept as-is and have no `collapse` functionality (once expanded cannot collapse) + // or can contain collapse feature + final CharSequence fullText; + //noinspection ConstantConditions + if (true) { + // for example let's allow collapsing + final SpannableStringBuilder builder = new SpannableStringBuilder(text); + builder.append(' '); + + final int length = builder.length(); + builder.append(labelLess); + builder.setSpan(new ClickableSpan() { + @Override + public void onClick(@NonNull View widget) { + ((TextView) widget).setText(collapsedText); + } + }, length, builder.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + + fullText = builder; + } else { + fullText = text; + } + + return fullText; + } + + private static void trim(@NonNull SpannableStringBuilder builder) { + + // NB! tables use `\u00a0` (non breaking space) which is not reported as white-space + + char c; + + for (int i = 0, length = builder.length(); i < length; i++) { + c = builder.charAt(i); + if (!Character.isWhitespace(c) && c != '\u00a0') { + if (i > 0) { + builder.replace(0, i, ""); + } + break; + } + } + + for (int i = builder.length() - 1; i >= 0; i--) { + c = builder.charAt(i); + if (!Character.isWhitespace(c) && c != '\u00a0') { + if (i < builder.length() - 1) { + builder.replace(i, builder.length(), ""); + } + break; + } + } + } + + // depending on your locale these can be different + // There is a BreakIterator in Android, but it is not reliable, still theoretically + // it should work better than hand-written and hardcoded rules + @SuppressWarnings("SameParameterValue") + private static int breakTextAt(@NonNull CharSequence text, int start, int max) { + + int last = start; + + // no need to check for _start_ (anyway will be ignored) + for (int i = start + max - 1; i > start; i--) { + final char c = text.charAt(i); + if (Character.isWhitespace(c) + || c == '.' + || c == ',' + || c == '!' + || c == '?') { + // include this special character + last = i - 1; + break; + } + } + + if (last <= start) { + // when used in subSequence last index is exclusive, + // so given max=150 would result in 0-149 subSequence + return start + max; + } + + return last; + } +} + diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/SoftBreakAddsNewLineSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/SoftBreakAddsNewLineSample.java new file mode 100644 index 00000000..60abe1a7 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/SoftBreakAddsNewLineSample.java @@ -0,0 +1,29 @@ +package io.noties.markwon.app.samples; + +import io.noties.markwon.Markwon; +import io.noties.markwon.SoftBreakAddsNewLinePlugin; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181125040", + title = "Soft break new line", + description = "Add a new line for a markdown soft-break node", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.newLine, Tags.softBreak} +) +class SoftBreakAddsNewLineSample extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "Hello there ->(line)\n(break)<- going on and on"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(SoftBreakAddsNewLinePlugin.create()) + .build(); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/SoftBreakAddsSpace.java b/app-sample/src/main/java/io/noties/markwon/app/samples/SoftBreakAddsSpace.java new file mode 100644 index 00000000..30769757 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/SoftBreakAddsSpace.java @@ -0,0 +1,28 @@ +package io.noties.markwon.app.samples; + +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181124706", + title = "Soft break adds space", + description = "By default a soft break (`\n`) will " + + "add a space character instead of new line", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.newLine, Tags.softBreak, Tags.defaults} +) +public class SoftBreakAddsSpace extends MarkwonTextViewSample { + @Override + public void render() { + final String md = "" + + "Hello there ->(line)\n(break)<- going on and on"; + + // by default a soft break will add a space (instead of line break) + final Markwon markwon = Markwon.create(context); + + markwon.setMarkdown(textView, md); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/TableOfContentsSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/TableOfContentsSample.java new file mode 100644 index 00000000..04b2db63 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/TableOfContentsSample.java @@ -0,0 +1,167 @@ +package io.noties.markwon.app.samples; + +import android.view.View; +import android.widget.ScrollView; + +import androidx.annotation.NonNull; + +import org.commonmark.node.AbstractVisitor; +import org.commonmark.node.BulletList; +import org.commonmark.node.CustomBlock; +import org.commonmark.node.Heading; +import org.commonmark.node.Link; +import org.commonmark.node.ListItem; +import org.commonmark.node.Node; +import org.commonmark.node.Text; +import org.jetbrains.annotations.NotNull; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.MarkwonVisitor; +import io.noties.markwon.app.R; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; +import io.noties.markwon.core.SimpleBlockNodeVisitor; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181161226", + title = "Table of contents", + description = "Sample plugin that adds a table of contents header", + artifacts = MarkwonArtifact.CORE, + tags = {Tags.rendering, Tags.plugin} +) +public class TableOfContentsSample extends MarkwonTextViewSample { + + private ScrollView scrollView; + + @Override + public void onViewCreated(@NotNull View view) { + scrollView = view.findViewById(R.id.scroll_view); + super.onViewCreated(view); + } + + @Override + public void render() { + final String lorem = context.getString(R.string.lorem); + final String md = "" + + "# First\n" + + "" + lorem + "\n\n" + + "# Second\n" + + "" + lorem + "\n\n" + + "## Second level\n\n" + + "" + lorem + "\n\n" + + "### Level 3\n\n" + + "" + lorem + "\n\n" + + "# First again\n" + + "" + lorem + "\n\n"; + + final Markwon markwon = Markwon.builder(context) + .usePlugin(new TableOfContentsPlugin()) + // NB! plugin is defined in `AnchorSample` file + .usePlugin(new AnchorHeadingPlugin((view, top) -> scrollView.smoothScrollTo(0, top))) + .build(); + + markwon.setMarkdown(textView, md); + } +} + +class TableOfContentsPlugin extends AbstractMarkwonPlugin { + @Override + public void configure(@NonNull Registry registry) { + // just to make it explicit + registry.require(AnchorHeadingPlugin.class); + } + + @Override + public void configureVisitor(@NonNull MarkwonVisitor.Builder builder) { + builder.on(TableOfContentsBlock.class, new SimpleBlockNodeVisitor()); + } + + @Override + public void beforeRender(@NonNull Node node) { + + // custom block to hold TOC + final TableOfContentsBlock block = new TableOfContentsBlock(); + + // create TOC title + { + final Text text = new Text("Table of contents"); + final Heading heading = new Heading(); + // important one - set TOC heading level + heading.setLevel(1); + heading.appendChild(text); + block.appendChild(heading); + } + + final HeadingVisitor visitor = new HeadingVisitor(block); + node.accept(visitor); + + // make it the very first node in rendered markdown + node.prependChild(block); + } + + private static class HeadingVisitor extends AbstractVisitor { + + private final BulletList bulletList = new BulletList(); + private final StringBuilder builder = new StringBuilder(); + private boolean isInsideHeading; + + HeadingVisitor(@NonNull Node node) { + node.appendChild(bulletList); + } + + @Override + public void visit(Heading heading) { + this.isInsideHeading = true; + try { + // reset build from previous content + builder.setLength(0); + + // obtain level (can additionally filter by level, to skip lower ones) + final int level = heading.getLevel(); + + // build heading title + visitChildren(heading); + + // initial list item + final ListItem listItem = new ListItem(); + + Node parent = listItem; + Node node = listItem; + + for (int i = 1; i < level; i++) { + final ListItem li = new ListItem(); + final BulletList bulletList = new BulletList(); + bulletList.appendChild(li); + parent.appendChild(bulletList); + parent = li; + node = li; + } + + final String content = builder.toString(); + final Link link = new Link("#" + AnchorHeadingPlugin.createAnchor(content), null); + final Text text = new Text(content); + link.appendChild(text); + node.appendChild(link); + bulletList.appendChild(listItem); + + + } finally { + isInsideHeading = false; + } + } + + @Override + public void visit(Text text) { + // can additionally check if we are building heading (to skip all other texts) + if (isInsideHeading) { + builder.append(text.getLiteral()); + } + } + } + + private static class TableOfContentsBlock extends CustomBlock { + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorAdditionalEditSpan.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorAdditionalEditSpan.java new file mode 100644 index 00000000..565593a2 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorAdditionalEditSpan.java @@ -0,0 +1,106 @@ +package io.noties.markwon.app.samples.editor; + +import android.text.Editable; +import android.text.Spanned; +import android.text.TextPaint; +import android.text.style.MetricAffectingSpan; + +import androidx.annotation.NonNull; + +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonEditTextSample; +import io.noties.markwon.core.spans.StrongEmphasisSpan; +import io.noties.markwon.editor.AbstractEditHandler; +import io.noties.markwon.editor.MarkwonEditor; +import io.noties.markwon.editor.MarkwonEditorTextWatcher; +import io.noties.markwon.editor.MarkwonEditorUtils; +import io.noties.markwon.editor.PersistedSpans; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181165136", + title = "Additional edit span", + description = "Additional _edit_ span (span that is present in " + + "`EditText` along with punctuation", + artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, + tags = {Tags.editor, Tags.span} +) +public class EditorAdditionalEditSpan extends MarkwonEditTextSample { + @Override + public void render() { + // An additional span is used to highlight strong-emphasis + + final MarkwonEditor editor = MarkwonEditor.builder(Markwon.create(context)) + .useEditHandler(new BoldEditHandler()) + .build(); + + editText.addTextChangedListener(MarkwonEditorTextWatcher.withProcess(editor)); + } +} + +class BoldEditHandler extends AbstractEditHandler { + @Override + public void configurePersistedSpans(@NonNull PersistedSpans.Builder builder) { + // Here we define which span is _persisted_ in EditText, it is not removed + // from EditText between text changes, but instead - reused (by changing + // position). Consider it as a cache for spans. We could use `StrongEmphasisSpan` + // here also, but I chose Bold to indicate that this span is not the same + // as in off-screen rendered markdown + builder.persistSpan(Bold.class, Bold::new); + } + + @Override + public void handleMarkdownSpan( + @NonNull PersistedSpans persistedSpans, + @NonNull Editable editable, + @NonNull String input, + @NonNull StrongEmphasisSpan span, + int spanStart, + int spanTextLength) { + // Unfortunately we cannot hardcode delimiters length here (aka spanTextLength + 4) + // because multiple inline markdown nodes can refer to the same text. + // For example, `**_~~hey~~_**` - we will receive `**_~~` in this method, + // and thus will have to manually find actual position in raw user input + final MarkwonEditorUtils.Match match = + MarkwonEditorUtils.findDelimited(input, spanStart, "**", "__"); + if (match != null) { + editable.setSpan( + // we handle StrongEmphasisSpan and represent it with Bold in EditText + // we still could use StrongEmphasisSpan, but it must be accessed + // via persistedSpans + persistedSpans.get(Bold.class), + match.start(), + match.end(), + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE + ); + } + } + + @NonNull + @Override + public Class markdownSpanType() { + return StrongEmphasisSpan.class; + } +} + +class Bold extends MetricAffectingSpan { + public Bold() { + super(); + } + + @Override + public void updateDrawState(TextPaint tp) { + update(tp); + } + + @Override + public void updateMeasureState(@NonNull TextPaint textPaint) { + update(textPaint); + } + + private void update(@NonNull TextPaint paint) { + paint.setFakeBoldText(true); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorAdditionalPluginSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorAdditionalPluginSample.java new file mode 100644 index 00000000..fc052264 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorAdditionalPluginSample.java @@ -0,0 +1,34 @@ +package io.noties.markwon.app.samples.editor; + +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonEditTextSample; +import io.noties.markwon.editor.MarkwonEditor; +import io.noties.markwon.editor.MarkwonEditorTextWatcher; +import io.noties.markwon.ext.strikethrough.StrikethroughPlugin; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181165347", + title = "Additional plugin", + description = "Additional plugin for editor", + artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER, MarkwonArtifact.EXT_STRIKETHROUGH}, + tags = {Tags.editor} +) +public class EditorAdditionalPluginSample extends MarkwonEditTextSample { + @Override + public void render() { + // As highlight works based on text-diff, everything that is present in input, + // but missing in resulting markdown is considered to be punctuation, this is why + // additional plugins do not need special handling + + final Markwon markwon = Markwon.builder(context) + .usePlugin(StrikethroughPlugin.create()) + .build(); + + final MarkwonEditor editor = MarkwonEditor.create(markwon); + + editText.addTextChangedListener(MarkwonEditorTextWatcher.withProcess(editor)); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorCustomPunctuationSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorCustomPunctuationSample.java new file mode 100644 index 00000000..097947e4 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorCustomPunctuationSample.java @@ -0,0 +1,37 @@ +package io.noties.markwon.app.samples.editor; + +import android.text.style.ForegroundColorSpan; + +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonEditTextSample; +import io.noties.markwon.editor.MarkwonEditor; +import io.noties.markwon.editor.MarkwonEditorTextWatcher; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181164627", + title = "Custom punctuation span", + description = "Custom span for punctuation in editor", + artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, + tags = {Tags.editor, Tags.span} +) +public class EditorCustomPunctuationSample extends MarkwonEditTextSample { + @Override + public void render() { + // Use own punctuation span + + final MarkwonEditor editor = MarkwonEditor.builder(Markwon.create(context)) + .punctuationSpan(CustomPunctuationSpan.class, CustomPunctuationSpan::new) + .build(); + + editText.addTextChangedListener(MarkwonEditorTextWatcher.withProcess(editor)); + } +} + +class CustomPunctuationSpan extends ForegroundColorSpan { + CustomPunctuationSpan() { + super(0xFFFF0000); // RED + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorMultipleEditSpansSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorMultipleEditSpansSample.java new file mode 100644 index 00000000..500ee8ee --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorMultipleEditSpansSample.java @@ -0,0 +1,87 @@ +package io.noties.markwon.app.samples.editor; + +import android.text.method.LinkMovementMethod; + +import androidx.annotation.NonNull; + +import org.commonmark.parser.InlineParserFactory; +import org.commonmark.parser.Parser; + +import java.util.concurrent.Executors; + +import io.noties.markwon.AbstractMarkwonPlugin; +import io.noties.markwon.Markwon; +import io.noties.markwon.SoftBreakAddsNewLinePlugin; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonEditTextSample; +import io.noties.markwon.app.samples.editor.shared.BlockQuoteEditHandler; +import io.noties.markwon.app.samples.editor.shared.CodeEditHandler; +import io.noties.markwon.app.samples.editor.shared.LinkEditHandler; +import io.noties.markwon.app.samples.editor.shared.StrikethroughEditHandler; +import io.noties.markwon.editor.MarkwonEditor; +import io.noties.markwon.editor.MarkwonEditorTextWatcher; +import io.noties.markwon.editor.handler.EmphasisEditHandler; +import io.noties.markwon.editor.handler.StrongEmphasisEditHandler; +import io.noties.markwon.ext.strikethrough.StrikethroughPlugin; +import io.noties.markwon.inlineparser.BangInlineProcessor; +import io.noties.markwon.inlineparser.EntityInlineProcessor; +import io.noties.markwon.inlineparser.HtmlInlineProcessor; +import io.noties.markwon.inlineparser.MarkwonInlineParser; +import io.noties.markwon.linkify.LinkifyPlugin; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181165920", + title = "Multiple edit spans", + description = "Additional multiple edit spans for editor", + artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, + tags = {Tags.editor} +) +public class EditorMultipleEditSpansSample extends MarkwonEditTextSample { + @Override + public void render() { + + // for links to be clickable + editText.setMovementMethod(LinkMovementMethod.getInstance()); + + final InlineParserFactory inlineParserFactory = MarkwonInlineParser.factoryBuilder() + // no inline images will be parsed + .excludeInlineProcessor(BangInlineProcessor.class) + // no html tags will be parsed + .excludeInlineProcessor(HtmlInlineProcessor.class) + // no entities will be parsed (aka `&` etc) + .excludeInlineProcessor(EntityInlineProcessor.class) + .build(); + + final Markwon markwon = Markwon.builder(context) + .usePlugin(StrikethroughPlugin.create()) + .usePlugin(LinkifyPlugin.create()) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureParser(@NonNull Parser.Builder builder) { + + // disable all commonmark-java blocks, only inlines will be parsed +// builder.enabledBlockTypes(Collections.emptySet()); + + builder.inlineParserFactory(inlineParserFactory); + } + }) + .usePlugin(SoftBreakAddsNewLinePlugin.create()) + .build(); + + final LinkEditHandler.OnClick onClick = (widget, link) -> markwon.configuration().linkResolver().resolve(widget, link); + + final MarkwonEditor editor = MarkwonEditor.builder(markwon) + .useEditHandler(new EmphasisEditHandler()) + .useEditHandler(new StrongEmphasisEditHandler()) + .useEditHandler(new StrikethroughEditHandler()) + .useEditHandler(new CodeEditHandler()) + .useEditHandler(new BlockQuoteEditHandler()) + .useEditHandler(new LinkEditHandler(onClick)) + .build(); + + editText.addTextChangedListener(MarkwonEditorTextWatcher.withPreRender( + editor, Executors.newSingleThreadExecutor(), editText)); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorNewLineContinuationSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorNewLineContinuationSample.java new file mode 100644 index 00000000..b1c36df9 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorNewLineContinuationSample.java @@ -0,0 +1,158 @@ +package io.noties.markwon.app.samples.editor; + +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; + +import androidx.annotation.NonNull; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import io.noties.debug.Debug; +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonEditTextSample; +import io.noties.markwon.editor.MarkwonEditor; +import io.noties.markwon.editor.MarkwonEditorTextWatcher; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181170348", + title = "Editor new line continuation", + description = "Sample of how new line character can be handled " + + "in order to add a _continuation_, for example adding a new " + + "bullet list item if current line starts with one", + artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, + tags = {Tags.editor} +) +public class EditorNewLineContinuationSample extends MarkwonEditTextSample { + @Override + public void render() { + final Markwon markwon = Markwon.create(context); + final MarkwonEditor editor = MarkwonEditor.create(markwon); + + final TextWatcher textWatcher = MarkdownNewLine + .wrap(MarkwonEditorTextWatcher.withProcess(editor)); + + editText.addTextChangedListener(textWatcher); + } +} + +class MarkdownNewLine { + + @NonNull + static TextWatcher wrap(@NonNull TextWatcher textWatcher) { + return new NewLineTextWatcher(textWatcher); + } + + private MarkdownNewLine() { + } + + private static class NewLineTextWatcher implements TextWatcher { + + // NB! matches only bullet lists + private final Pattern RE = Pattern.compile("^( {0,3}[\\-+* ]+)(.+)*$"); + + private final TextWatcher wrapped; + + private boolean selfChange; + + // this content is pending to be inserted at the beginning + private String pendingNewLineContent; + private int pendingNewLineIndex; + + // mark current edited line for removal (range start/end) + private int clearLineStart; + private int clearLineEnd; + + NewLineTextWatcher(@NonNull TextWatcher wrapped) { + this.wrapped = wrapped; + } + + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + // no op + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + if (selfChange) { + return; + } + + // just one new character added + if (before == 0 + && count == 1 + && '\n' == s.charAt(start)) { + int end = -1; + for (int i = start - 1; i >= 0; i--) { + if ('\n' == s.charAt(i)) { + end = i + 1; + break; + } + } + + // start at the very beginning + if (end < 0) { + end = 0; + } + + final String pendingNewLineContent; + + final int clearLineStart; + final int clearLineEnd; + + final Matcher matcher = RE.matcher(s.subSequence(end, start)); + if (matcher.matches()) { + // if second group is empty -> remove new line + final String content = matcher.group(2); + Debug.e("new line, content: '%s'", content); + if (TextUtils.isEmpty(content)) { + // another empty new line, remove this start + clearLineStart = end; + clearLineEnd = start; + pendingNewLineContent = null; + } else { + pendingNewLineContent = matcher.group(1); + clearLineStart = clearLineEnd = 0; + } + } else { + pendingNewLineContent = null; + clearLineStart = clearLineEnd = 0; + } + this.pendingNewLineContent = pendingNewLineContent; + this.pendingNewLineIndex = start + 1; + this.clearLineStart = clearLineStart; + this.clearLineEnd = clearLineEnd; + } + } + + @Override + public void afterTextChanged(Editable s) { + if (selfChange) { + return; + } + + if (pendingNewLineContent != null || clearLineStart < clearLineEnd) { + selfChange = true; + try { + if (pendingNewLineContent != null) { + s.insert(pendingNewLineIndex, pendingNewLineContent); + pendingNewLineContent = null; + } else { + s.replace(clearLineStart, clearLineEnd, ""); + clearLineStart = clearLineEnd = 0; + } + } finally { + selfChange = false; + } + } + + // NB, we assume MarkdownEditor text watcher that only listens for this event, + // other text-watchers must be interested in other events also + wrapped.afterTextChanged(s); + } + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorPreRenderSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorPreRenderSample.java new file mode 100644 index 00000000..ff0c178d --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorPreRenderSample.java @@ -0,0 +1,34 @@ +package io.noties.markwon.app.samples.editor; + +import java.util.concurrent.Executors; + +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonEditTextSample; +import io.noties.markwon.editor.MarkwonEditor; +import io.noties.markwon.editor.MarkwonEditorTextWatcher; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181164422", + title = "Editor with pre-render (async)", + description = "Editor functionality with highlight " + + "taking place in another thread", + artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, + tags = {Tags.editor} +) +public class EditorPreRenderSample extends MarkwonEditTextSample { + @Override + public void render() { + // Process highlight in background thread + + final Markwon markwon = Markwon.create(context); + final MarkwonEditor editor = MarkwonEditor.create(markwon); + + editText.addTextChangedListener(MarkwonEditorTextWatcher.withPreRender( + editor, + Executors.newCachedThreadPool(), + editText)); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorSimpleSample.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorSimpleSample.java new file mode 100644 index 00000000..f5a3c8bd --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/EditorSimpleSample.java @@ -0,0 +1,32 @@ +package io.noties.markwon.app.samples.editor; + +import io.noties.markwon.Markwon; +import io.noties.markwon.app.sample.Tags; +import io.noties.markwon.app.sample.ui.MarkwonEditTextSample; +import io.noties.markwon.editor.MarkwonEditor; +import io.noties.markwon.editor.MarkwonEditorTextWatcher; +import io.noties.markwon.sample.annotations.MarkwonArtifact; +import io.noties.markwon.sample.annotations.MarkwonSampleInfo; + +@MarkwonSampleInfo( + id = "202006181164227", + title = "Simple editor", + description = "Simple usage of editor with markdown highlight", + artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, + tags = {Tags.editor} +) +public class EditorSimpleSample extends MarkwonEditTextSample { + @Override + public void render() { + // Process highlight in-place (right after text has changed) + + // obtain Markwon instance + final Markwon markwon = Markwon.create(context); + + // create editor + final MarkwonEditor editor = MarkwonEditor.create(markwon); + + // set edit listener + editText.addTextChangedListener(MarkwonEditorTextWatcher.withProcess(editor)); + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/BlockQuoteEditHandler.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/BlockQuoteEditHandler.java new file mode 100644 index 00000000..69b31e44 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/BlockQuoteEditHandler.java @@ -0,0 +1,50 @@ +package io.noties.markwon.app.samples.editor.shared; + +import android.text.Editable; +import android.text.Spanned; + +import androidx.annotation.NonNull; + +import io.noties.markwon.Markwon; +import io.noties.markwon.core.MarkwonTheme; +import io.noties.markwon.core.spans.BlockQuoteSpan; +import io.noties.markwon.editor.EditHandler; +import io.noties.markwon.editor.PersistedSpans; + +public class BlockQuoteEditHandler implements EditHandler { + + private MarkwonTheme theme; + + @Override + public void init(@NonNull Markwon markwon) { + this.theme = markwon.configuration().theme(); + } + + @Override + public void configurePersistedSpans(@NonNull PersistedSpans.Builder builder) { + builder.persistSpan(BlockQuoteSpan.class, () -> new BlockQuoteSpan(theme)); + } + + @Override + public void handleMarkdownSpan( + @NonNull PersistedSpans persistedSpans, + @NonNull Editable editable, + @NonNull String input, + @NonNull BlockQuoteSpan span, + int spanStart, + int spanTextLength) { + // todo: here we should actually find a proper ending of a block quote... + editable.setSpan( + persistedSpans.get(BlockQuoteSpan.class), + spanStart, + spanStart + spanTextLength, + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE + ); + } + + @NonNull + @Override + public Class markdownSpanType() { + return BlockQuoteSpan.class; + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/CodeEditHandler.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/CodeEditHandler.java new file mode 100644 index 00000000..c14d5a5e --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/CodeEditHandler.java @@ -0,0 +1,54 @@ +package io.noties.markwon.app.samples.editor.shared; + +import android.text.Editable; +import android.text.Spanned; + +import androidx.annotation.NonNull; + +import io.noties.markwon.Markwon; +import io.noties.markwon.core.MarkwonTheme; +import io.noties.markwon.core.spans.CodeSpan; +import io.noties.markwon.editor.EditHandler; +import io.noties.markwon.editor.MarkwonEditorUtils; +import io.noties.markwon.editor.PersistedSpans; + +public class CodeEditHandler implements EditHandler { + + private MarkwonTheme theme; + + @Override + public void init(@NonNull Markwon markwon) { + this.theme = markwon.configuration().theme(); + } + + @Override + public void configurePersistedSpans(@NonNull PersistedSpans.Builder builder) { + builder.persistSpan(CodeSpan.class, () -> new CodeSpan(theme)); + } + + @Override + public void handleMarkdownSpan( + @NonNull PersistedSpans persistedSpans, + @NonNull Editable editable, + @NonNull String input, + @NonNull CodeSpan span, + int spanStart, + int spanTextLength) { + final MarkwonEditorUtils.Match match = + MarkwonEditorUtils.findDelimited(input, spanStart, "`"); + if (match != null) { + editable.setSpan( + persistedSpans.get(CodeSpan.class), + match.start(), + match.end(), + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE + ); + } + } + + @NonNull + @Override + public Class markdownSpanType() { + return CodeSpan.class; + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/LinkEditHandler.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/LinkEditHandler.java new file mode 100644 index 00000000..8b01ae3a --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/LinkEditHandler.java @@ -0,0 +1,90 @@ +package io.noties.markwon.app.samples.editor.shared; + +import android.text.Editable; +import android.text.Spanned; +import android.text.style.ClickableSpan; +import android.view.View; + +import androidx.annotation.NonNull; + +import io.noties.markwon.core.spans.LinkSpan; +import io.noties.markwon.editor.AbstractEditHandler; +import io.noties.markwon.editor.PersistedSpans; + +public class LinkEditHandler extends AbstractEditHandler { + + public interface OnClick { + void onClick(@NonNull View widget, @NonNull String link); + } + + private final OnClick onClick; + + public LinkEditHandler(@NonNull OnClick onClick) { + this.onClick = onClick; + } + + @Override + public void configurePersistedSpans(@NonNull PersistedSpans.Builder builder) { + builder.persistSpan(EditLinkSpan.class, () -> new EditLinkSpan(onClick)); + } + + @Override + public void handleMarkdownSpan( + @NonNull PersistedSpans persistedSpans, + @NonNull Editable editable, + @NonNull String input, + @NonNull LinkSpan span, + int spanStart, + int spanTextLength) { + + final EditLinkSpan editLinkSpan = persistedSpans.get(EditLinkSpan.class); + editLinkSpan.link = span.getLink(); + + // First first __letter__ to find link content (scheme start in URL, receiver in email address) + // NB! do not use phone number auto-link (via LinkifyPlugin) as we cannot guarantee proper link + // display. For example, we _could_ also look for a digit, but: + // * if phone number start with special symbol, we won't have it (`+`, `(`) + // * it might interfere with an ordered-list + int start = -1; + + for (int i = spanStart, length = input.length(); i < length; i++) { + if (Character.isLetter(input.charAt(i))) { + start = i; + break; + } + } + + if (start > -1) { + editable.setSpan( + editLinkSpan, + start, + start + spanTextLength, + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE + ); + } + } + + @NonNull + @Override + public Class markdownSpanType() { + return LinkSpan.class; + } + + static class EditLinkSpan extends ClickableSpan { + + private final OnClick onClick; + + String link; + + EditLinkSpan(@NonNull OnClick onClick) { + this.onClick = onClick; + } + + @Override + public void onClick(@NonNull View widget) { + if (link != null) { + onClick.onClick(widget, link); + } + } + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/StrikethroughEditHandler.java b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/StrikethroughEditHandler.java new file mode 100644 index 00000000..7893d970 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/editor/shared/StrikethroughEditHandler.java @@ -0,0 +1,45 @@ +package io.noties.markwon.app.samples.editor.shared; + +import android.text.Editable; +import android.text.Spanned; +import android.text.style.StrikethroughSpan; + +import androidx.annotation.NonNull; + +import io.noties.markwon.editor.AbstractEditHandler; +import io.noties.markwon.editor.MarkwonEditorUtils; +import io.noties.markwon.editor.PersistedSpans; + +public class StrikethroughEditHandler extends AbstractEditHandler { + + @Override + public void configurePersistedSpans(@NonNull PersistedSpans.Builder builder) { + builder.persistSpan(StrikethroughSpan.class, StrikethroughSpan::new); + } + + @Override + public void handleMarkdownSpan( + @NonNull PersistedSpans persistedSpans, + @NonNull Editable editable, + @NonNull String input, + @NonNull StrikethroughSpan span, + int spanStart, + int spanTextLength) { + final MarkwonEditorUtils.Match match = + MarkwonEditorUtils.findDelimited(input, spanStart, "~~"); + if (match != null) { + editable.setSpan( + persistedSpans.get(StrikethroughSpan.class), + match.start(), + match.end(), + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE + ); + } + } + + @NonNull + @Override + public Class markdownSpanType() { + return StrikethroughSpan.class; + } +} diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodPluginSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodPluginSample.kt new file mode 100644 index 00000000..b0829f26 --- /dev/null +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodPluginSample.kt @@ -0,0 +1,31 @@ +package io.noties.markwon.app.samples.movementmethod + +import io.noties.markwon.Markwon +import io.noties.markwon.app.sample.Tags +import io.noties.markwon.app.sample.ui.MarkwonTextViewSample +import io.noties.markwon.movement.MovementMethodPlugin +import io.noties.markwon.sample.annotations.MarkwonArtifact +import io.noties.markwon.sample.annotations.MarkwonSampleInfo + +@MarkwonSampleInfo( + id = "202006181121803", + title = "Disable implicit movement method via plugin", + description = "Disable implicit movement method via `MovementMethodPlugin`", + artifacts = [MarkwonArtifact.CORE], + tags = [Tags.links, Tags.movementMethod, Tags.recyclerView] +) +class DisableImplicitMovementMethodPluginSample : MarkwonTextViewSample() { + override fun render() { + val md = """ + # Disable implicit movement method via plugin + We can disable implicit movement method via `MovementMethodPlugin` — + [link-that-is-not-clickable](https://noties.io) + """.trimIndent() + + val markwon = Markwon.builder(context) + .usePlugin(MovementMethodPlugin.none()) + .build() + + markwon.setMarkdown(textView, md) + } +} \ No newline at end of file diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodSample.kt index 82116b06..d95533ad 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodSample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/DisableImplicitMovementMethodSample.kt @@ -12,7 +12,9 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo @MarkwonSampleInfo( id = "202006179081256", title = "Disable implicit movement method", - description = "Configure `Markwon` to **not** apply implicit movement method", + description = "Configure `Markwon` to **not** apply implicit movement method, " + + "which consumes touch events when used in a `RecyclerView` even when " + + "markdown does not contain links", artifacts = [MarkwonArtifact.CORE], tags = [Tags.plugin, Tags.movementMethod, Tags.links, Tags.recyclerView] ) diff --git a/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ImplicitMovementMethodSample.kt b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ImplicitMovementMethodSample.kt index e0f1da49..81f1944a 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ImplicitMovementMethodSample.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/samples/movementmethod/ImplicitMovementMethodSample.kt @@ -11,7 +11,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo title = "Implicit movement method", description = "By default movement method is applied for links to be clickable", artifacts = [MarkwonArtifact.CORE], - tags = [Tags.movementMethod, Tags.links] + tags = [Tags.movementMethod, Tags.links, Tags.defaults] ) class ImplicitMovementMethodSample : MarkwonTextViewSample() { override fun render() { diff --git a/app-sample/src/main/res/layout/activity_edit_text.xml b/app-sample/src/main/res/layout/activity_edit_text.xml new file mode 100644 index 00000000..aadbaad7 --- /dev/null +++ b/app-sample/src/main/res/layout/activity_edit_text.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + +
  • m7 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≀qHCOwthW}Eqgv+j%JRy!Mr*TW*q^TnB>sNj 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