Compare commits

...

3 Commits

Author SHA1 Message Date
Dimitry Ivanov
2ea148c30a sample, add copy code block 2021-03-15 14:55:59 +03:00
Dimitry Ivanov
205ae7b47a sample, add reddit superscript 2021-02-24 12:36:11 +03:00
Dimitry Ivanov
c54f1154b6 Sample, make tags an enum 2021-02-24 12:14:27 +03:00
119 changed files with 595 additions and 356 deletions

View File

@ -1,4 +1,32 @@
[ [
{
"javaClassName": "io.noties.markwon.app.samples.CopyCodeBlockSample",
"id": "20210315112847",
"title": "Copy code block",
"description": "Copy contents of fenced code blocks",
"artifacts": [
"CORE"
],
"tags": [
"block",
"rendering",
"span",
"spanFactory"
]
},
{
"javaClassName": "io.noties.markwon.app.samples.parser.RedditSuperscriptSample",
"id": "20210224091506",
"title": "Reddit superscript",
"description": "",
"artifacts": [
"HTML"
],
"tags": [
"html",
"reddit"
]
},
{ {
"javaClassName": "io.noties.markwon.app.samples.image.ImageSizeResolverSample", "javaClassName": "io.noties.markwon.app.samples.image.ImageSizeResolverSample",
"id": "20210201165512", "id": "20210201165512",
@ -20,7 +48,7 @@
"HTML" "HTML"
], ],
"tags": [ "tags": [
"HTML" "html"
] ]
}, },
{ {
@ -44,7 +72,7 @@
"HTML" "HTML"
], ],
"tags": [ "tags": [
"HTML" "html"
] ]
}, },
{ {
@ -80,8 +108,8 @@
"IMAGE" "IMAGE"
], ],
"tags": [ "tags": [
"image", "rendering",
"rendering" "image"
] ]
}, },
{ {
@ -95,7 +123,7 @@
"tags": [ "tags": [
"rendering", "rendering",
"span", "span",
"span-factory" "spanFactory"
] ]
}, },
{ {
@ -143,8 +171,8 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"heading", "parsing",
"parsing" "heading"
] ]
}, },
{ {
@ -265,9 +293,9 @@
"RECYCLER" "RECYCLER"
], ],
"tags": [ "tags": [
"image", "recyclerView",
"recycler-view", "rendering",
"rendering" "image"
] ]
}, },
{ {
@ -280,9 +308,9 @@
"IMAGE" "IMAGE"
], ],
"tags": [ "tags": [
"HTML", "rendering",
"image", "image",
"rendering" "html"
] ]
}, },
{ {
@ -419,7 +447,7 @@
"RECYCLER_TABLE" "RECYCLER_TABLE"
], ],
"tags": [ "tags": [
"recycler-view" "recyclerView"
] ]
}, },
{ {
@ -445,8 +473,8 @@
"RECYCLER" "RECYCLER"
], ],
"tags": [ "tags": [
"precomputed-text", "recyclerView",
"recycler-view" "precomputedText"
] ]
}, },
{ {
@ -458,7 +486,7 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"precomputed-text" "precomputedText"
] ]
}, },
{ {
@ -557,8 +585,8 @@
"INLINE_PARSER" "INLINE_PARSER"
], ],
"tags": [ "tags": [
"known-bug", "rendering",
"rendering" "knownBug"
] ]
}, },
{ {
@ -644,10 +672,10 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"HTML",
"parsing", "parsing",
"plugin", "plugin",
"rendering" "rendering",
"html"
] ]
}, },
{ {
@ -659,9 +687,9 @@
"INLINE_PARSER" "INLINE_PARSER"
], ],
"tags": [ "tags": [
"parsing",
"block", "block",
"inline", "inline"
"parsing"
] ]
}, },
{ {
@ -673,8 +701,8 @@
"INLINE_PARSER" "INLINE_PARSER"
], ],
"tags": [ "tags": [
"inline", "parsing",
"parsing" "inline"
] ]
}, },
{ {
@ -686,8 +714,8 @@
"INLINE_PARSER" "INLINE_PARSER"
], ],
"tags": [ "tags": [
"inline", "parsing",
"parsing" "inline"
] ]
}, },
{ {
@ -699,8 +727,8 @@
"INLINE_PARSER" "INLINE_PARSER"
], ],
"tags": [ "tags": [
"inline", "parsing",
"parsing" "inline"
] ]
}, },
{ {
@ -712,8 +740,8 @@
"INLINE_PARSER" "INLINE_PARSER"
], ],
"tags": [ "tags": [
"inline", "parsing",
"parsing" "inline"
] ]
}, },
{ {
@ -773,8 +801,8 @@
"IMAGE" "IMAGE"
], ],
"tags": [ "tags": [
"GIF", "image",
"image" "gif"
] ]
}, },
{ {
@ -786,8 +814,8 @@
"IMAGE" "IMAGE"
], ],
"tags": [ "tags": [
"SVG", "image",
"image" "svg"
] ]
}, },
{ {
@ -812,9 +840,9 @@
"IMAGE" "IMAGE"
], ],
"tags": [ "tags": [
"HTML", "rendering",
"image", "image",
"rendering" "html"
] ]
}, },
{ {
@ -827,8 +855,8 @@
"IMAGE" "IMAGE"
], ],
"tags": [ "tags": [
"HTML", "rendering",
"rendering" "html"
] ]
}, },
{ {
@ -840,8 +868,8 @@
"HTML" "HTML"
], ],
"tags": [ "tags": [
"HTML", "rendering",
"rendering" "html"
] ]
}, },
{ {
@ -854,9 +882,9 @@
"IMAGE" "IMAGE"
], ],
"tags": [ "tags": [
"HTML", "rendering",
"image", "image",
"rendering" "html"
] ]
}, },
{ {
@ -869,9 +897,9 @@
"IMAGE" "IMAGE"
], ],
"tags": [ "tags": [
"HTML", "rendering",
"image", "image",
"rendering" "html"
] ]
}, },
{ {
@ -883,9 +911,9 @@
"HTML" "HTML"
], ],
"tags": [ "tags": [
"HTML",
"rendering", "rendering",
"span" "span",
"html"
] ]
}, },
{ {
@ -897,9 +925,9 @@
"HTML" "HTML"
], ],
"tags": [ "tags": [
"HTML",
"rendering", "rendering",
"span" "span",
"html"
] ]
}, },
{ {
@ -911,9 +939,9 @@
"HTML" "HTML"
], ],
"tags": [ "tags": [
"HTML",
"rendering", "rendering",
"span" "span",
"html"
] ]
}, },
{ {
@ -1057,11 +1085,11 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"extension",
"image",
"parsing", "parsing",
"plugin", "plugin",
"rendering", "rendering",
"image",
"extension",
"span" "span"
] ]
}, },
@ -1076,7 +1104,7 @@
"tags": [ "tags": [
"parsing", "parsing",
"rendering", "rendering",
"text-added-listener" "textAddedListener"
] ]
}, },
{ {
@ -1091,7 +1119,7 @@
"tags": [ "tags": [
"parsing", "parsing",
"rendering", "rendering",
"text-added-listener" "textAddedListener"
] ]
}, },
{ {
@ -1128,9 +1156,9 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"lists",
"plugin", "plugin",
"rendering" "rendering",
"lists"
] ]
}, },
{ {
@ -1142,9 +1170,9 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"anchor",
"links", "links",
"plugin" "plugin",
"anchor"
] ]
}, },
{ {
@ -1157,9 +1185,9 @@
], ],
"tags": [ "tags": [
"block", "block",
"padding",
"rendering", "rendering",
"spacing" "spacing",
"padding"
] ]
}, },
{ {
@ -1172,10 +1200,10 @@
], ],
"tags": [ "tags": [
"block", "block",
"heading",
"padding",
"rendering", "rendering",
"spacing" "spacing",
"padding",
"heading"
] ]
}, },
{ {
@ -1187,9 +1215,9 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"padding",
"rendering", "rendering",
"spacing" "spacing",
"padding"
] ]
}, },
{ {
@ -1201,8 +1229,8 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"padding",
"spacing", "spacing",
"padding",
"span" "span"
] ]
}, },
@ -1215,8 +1243,8 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"new-line", "newLine",
"soft-break" "softBreak"
] ]
}, },
{ {
@ -1228,9 +1256,9 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"defaults", "newLine",
"new-line", "softBreak",
"soft-break" "defaults"
] ]
}, },
{ {
@ -1254,8 +1282,8 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"defaults", "links",
"links" "defaults"
] ]
}, },
{ {
@ -1295,8 +1323,8 @@
], ],
"tags": [ "tags": [
"paragraph", "paragraph",
"span", "style",
"style" "span"
] ]
}, },
{ {
@ -1321,9 +1349,9 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"movementMethod",
"links", "links",
"movement-method", "recyclerView"
"recycler-view"
] ]
}, },
{ {
@ -1335,8 +1363,8 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"movementMethod",
"links", "links",
"movement-method",
"plugin" "plugin"
] ]
}, },
@ -1349,10 +1377,10 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"movementMethod",
"links", "links",
"movement-method",
"plugin", "plugin",
"recycler-view" "recyclerView"
] ]
}, },
{ {
@ -1364,8 +1392,8 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"links", "movementMethod",
"movement-method" "links"
] ]
}, },
{ {
@ -1377,9 +1405,9 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"defaults", "movementMethod",
"links", "links",
"movement-method" "defaults"
] ]
}, },
{ {
@ -1391,8 +1419,8 @@
"CORE" "CORE"
], ],
"tags": [ "tags": [
"block",
"parsing", "parsing",
"block",
"plugin" "plugin"
] ]
}, },
@ -1406,8 +1434,8 @@
"IMAGE" "IMAGE"
], ],
"tags": [ "tags": [
"hack", "toast",
"toast" "hack"
] ]
}, },
{ {

View File

@ -1,38 +0,0 @@
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"
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"
const val svg = "SVG"
const val gif = "GIF"
const val inline = "inline"
const val html = "HTML"
const val knownBug = "known-bug"
const val precomputedText = "precomputed-text"
const val cache = "cache"
const val spanFactory = "span-factory"
}

View File

@ -7,19 +7,19 @@ import org.commonmark.node.Heading;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.MarkwonTheme; import io.noties.markwon.core.MarkwonTheme;
import io.noties.markwon.core.spans.LastLineSpacingSpan; import io.noties.markwon.core.spans.LastLineSpacingSpan;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629125321", id = "20200629125321",
title = "Additional spacing after block", title = "Additional spacing after block",
description = "Add additional spacing (padding) after last line of a block", description = "Add additional spacing (padding) after last line of a block",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.spacing, Tags.padding, Tags.span} tags = {Tag.spacing, Tag.padding, Tag.span}
) )
public class AdditionalSpacingSample extends MarkwonTextViewSample { public class AdditionalSpacingSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -8,17 +8,17 @@ import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.BlockHandlerDef; import io.noties.markwon.BlockHandlerDef;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629130227", id = "20200629130227",
title = "All blocks no padding", title = "All blocks no padding",
description = "Do not render new lines (padding) after all blocks", description = "Do not render new lines (padding) after all blocks",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.block, Tags.spacing, Tags.padding, Tags.rendering} tags = {Tag.block, Tag.spacing, Tag.padding, Tag.rendering}
) )
public class AllBlocksNoForcedNewLineSample extends MarkwonTextViewSample { public class AllBlocksNoForcedNewLineSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -7,17 +7,17 @@ import org.commonmark.node.Node;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200729090524", id = "20200729090524",
title = "Block handler", title = "Block handler",
description = "Custom block delimiters that control new lines after block nodes", description = "Custom block delimiters that control new lines after block nodes",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.rendering tags = Tag.rendering
) )
public class BlockHandlerSample extends MarkwonTextViewSample { public class BlockHandlerSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -3,11 +3,11 @@ package io.noties.markwon.app.samples
import android.content.Context import android.content.Context
import io.noties.debug.Debug import io.noties.debug.Debug
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.ext.strikethrough.StrikethroughPlugin import io.noties.markwon.ext.strikethrough.StrikethroughPlugin
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
import java.util.Collections import java.util.Collections
import java.util.WeakHashMap import java.util.WeakHashMap
@ -17,7 +17,7 @@ import java.util.WeakHashMap
description = "A static cache for `Markwon` instance " + description = "A static cache for `Markwon` instance " +
"to be associated with a `Context`", "to be associated with a `Context`",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.cache] tags = [Tag.cache]
) )
class CacheMarkwonSample : MarkwonTextViewSample() { class CacheMarkwonSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -11,19 +11,19 @@ import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.SpanFactory; import io.noties.markwon.SpanFactory;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.CoreProps; import io.noties.markwon.core.CoreProps;
import io.noties.markwon.ext.tasklist.TaskListPlugin; import io.noties.markwon.ext.tasklist.TaskListPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20201208150530", id = "20201208150530",
title = "Change bullet span", title = "Change bullet span",
description = "Use a different span implementation to render bullet lists", description = "Use a different span implementation to render bullet lists",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.rendering, Tags.spanFactory, Tags.span} tags = {Tag.rendering, Tag.spanFactory, Tag.span}
) )
public class ChangeBulletSpanSample extends MarkwonTextViewSample { public class ChangeBulletSpanSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -0,0 +1,119 @@
package io.noties.markwon.app.samples
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.drawable.Drawable
import android.text.Layout
import android.text.Spanned
import android.text.TextPaint
import android.text.style.ClickableSpan
import android.text.style.LeadingMarginSpan
import android.view.View
import android.widget.TextView
import io.noties.debug.Debug
import io.noties.markwon.AbstractMarkwonPlugin
import io.noties.markwon.Markwon
import io.noties.markwon.MarkwonSpansFactory
import io.noties.markwon.app.R
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
import io.noties.markwon.utils.LeadingMarginUtils
import org.commonmark.node.FencedCodeBlock
@MarkwonSampleInfo(
id = "20210315112847",
title = "Copy code block",
description = "Copy contents of fenced code blocks",
artifacts = [MarkwonArtifact.CORE],
tags = [Tag.rendering, Tag.block, Tag.spanFactory, Tag.span]
)
class CopyCodeBlockSample : MarkwonTextViewSample() {
override fun render() {
val md = """
# Hello code blocks!
```java
final int i = 0;
final Type t = Type.init()
.filter(i -> i.even)
.first(null);
```
bye bye!
""".trimIndent()
val markwon = Markwon.builder(context)
.usePlugin(object : AbstractMarkwonPlugin() {
override fun configureSpansFactory(builder: MarkwonSpansFactory.Builder) {
builder.appendFactory(FencedCodeBlock::class.java) { _, _ ->
CopyContentsSpan()
}
builder.appendFactory(FencedCodeBlock::class.java) { _, _ ->
CopyIconSpan(context.getDrawable(R.drawable.ic_code_white_24dp)!!)
}
}
})
.build()
markwon.setMarkdown(textView, md)
}
class CopyContentsSpan : ClickableSpan() {
override fun onClick(widget: View) {
val spanned = (widget as? TextView)?.text as? Spanned ?: return
val start = spanned.getSpanStart(this)
val end = spanned.getSpanEnd(this)
// by default code blocks have new lines before and after content
val contents = spanned.subSequence(start, end).toString().trim()
// copy code here
Debug.i(contents)
}
override fun updateDrawState(ds: TextPaint) {
// do not apply link styling
}
}
class CopyIconSpan(val icon: Drawable) : LeadingMarginSpan {
init {
if (icon.bounds.isEmpty) {
icon.setBounds(0, 0, icon.intrinsicWidth, icon.intrinsicHeight)
}
}
override fun getLeadingMargin(first: Boolean): Int = 0
override fun drawLeadingMargin(
c: Canvas,
p: Paint,
x: Int,
dir: Int,
top: Int,
baseline: Int,
bottom: Int,
text: CharSequence,
start: Int,
end: Int,
first: Boolean,
layout: Layout
) {
// called for each line of text, we are interested only in first one
if (!LeadingMarginUtils.selfStart(start, text, this)) return
val save = c.save()
try {
// horizontal position for icon
val w = icon.bounds.width().toFloat()
// minus quarter width as padding
val left = layout.width - w - (w / 4F)
c.translate(left, top.toFloat())
icon.draw(c)
} finally {
c.restoreToCount(save)
}
}
}
}

View File

@ -30,10 +30,10 @@ import java.util.regex.Pattern;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629163248", id = "20200629163248",
@ -42,7 +42,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
"icon from resources and renders it as image with " + "icon from resources and renders it as image with " +
"`@ic-name` syntax", "`@ic-name` syntax",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.parsing, Tags.rendering, Tags.plugin, Tags.image, Tags.extension, Tags.span} tags = {Tag.parsing, Tag.rendering, Tag.plugin, Tag.image, Tag.extension, Tag.span}
) )
public class CustomExtensionSample extends MarkwonTextViewSample { public class CustomExtensionSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -6,18 +6,18 @@ import androidx.annotation.NonNull;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.MarkwonTheme; import io.noties.markwon.core.MarkwonTheme;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629123617", id = "20200629123617",
title = "Customize theme", title = "Customize theme",
description = "Customize `MarkwonTheme` styling", description = "Customize `MarkwonTheme` styling",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.style, Tags.theme, Tags.plugin} tags = {Tag.style, Tag.theme, Tag.plugin}
) )
public class CustomizeThemeSample extends MarkwonTextViewSample { public class CustomizeThemeSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,17 +1,17 @@
package io.noties.markwon.app.samples; package io.noties.markwon.app.samples;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200826122247", id = "20200826122247",
title = "Deeplinks", title = "Deeplinks",
description = "Handling of deeplinks (app handles https scheme to deep link into content)", description = "Handling of deeplinks (app handles https scheme to deep link into content)",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.links tags = Tag.links
) )
public class DeeplinksSample extends MarkwonTextViewSample { public class DeeplinksSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -11,17 +11,17 @@ import org.commonmark.parser.delimiter.DelimiterRun;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630194017", id = "20200630194017",
title = "Custom delimiter processor", title = "Custom delimiter processor",
description = "Custom parsing delimiter processor with `?` character", description = "Custom parsing delimiter processor with `?` character",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.parsing tags = Tag.parsing
) )
public class DelimiterProcessorSample extends MarkwonTextViewSample { public class DelimiterProcessorSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -7,17 +7,17 @@ import org.commonmark.node.Heading;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629123308", id = "20200629123308",
title = "Disable node from rendering", title = "Disable node from rendering",
description = "Disable _parsed_ node from being rendered (markdown syntax is still consumed)", description = "Disable _parsed_ node from being rendered (markdown syntax is still consumed)",
artifacts = {MarkwonArtifact.CORE}, artifacts = {MarkwonArtifact.CORE},
tags = {Tags.parsing, Tags.rendering} tags = {Tag.parsing, Tag.rendering}
) )
public class DisableNodeSample extends MarkwonTextViewSample { public class DisableNodeSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -2,11 +2,11 @@ package io.noties.markwon.app.samples
import io.noties.markwon.AbstractMarkwonPlugin import io.noties.markwon.AbstractMarkwonPlugin
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.core.CorePlugin import io.noties.markwon.core.CorePlugin
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
import org.commonmark.node.BlockQuote import org.commonmark.node.BlockQuote
import org.commonmark.parser.Parser import org.commonmark.parser.Parser
@ -16,7 +16,7 @@ import org.commonmark.parser.Parser
description = "Modify/inspect enabled by `CorePlugin` block types. " + description = "Modify/inspect enabled by `CorePlugin` block types. " +
"Disable quotes or other blocks from being parsed", "Disable quotes or other blocks from being parsed",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.parsing, Tags.block, Tags.plugin] tags = [Tag.parsing, Tag.block, Tag.plugin]
) )
class EnabledBlockTypesSample : MarkwonTextViewSample() { class EnabledBlockTypesSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -3,10 +3,10 @@ package io.noties.markwon.app.samples
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
import io.noties.debug.Debug import io.noties.debug.Debug
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
import java.util.regex.Pattern import java.util.regex.Pattern
@MarkwonSampleInfo( @MarkwonSampleInfo(
@ -14,7 +14,7 @@ import java.util.regex.Pattern
title = "Exclude part of input from parsing", title = "Exclude part of input from parsing",
description = "Exclude part of input from parsing by splitting input with delimiters", description = "Exclude part of input from parsing by splitting input with delimiters",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.parsing] tags = [Tag.parsing]
) )
class ExcludeFromParsingSample : MarkwonTextViewSample() { class ExcludeFromParsingSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -12,12 +12,12 @@ import java.util.regex.Pattern;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.BuildConfig; import io.noties.markwon.app.BuildConfig;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.inlineparser.InlineProcessor; import io.noties.markwon.inlineparser.InlineProcessor;
import io.noties.markwon.inlineparser.MarkwonInlineParser; import io.noties.markwon.inlineparser.MarkwonInlineParser;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629162023", id = "20200629162023",
@ -25,7 +25,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "Github-like user mention and issue " + description = "Github-like user mention and issue " +
"rendering via `CorePlugin.OnTextAddedListener`", "rendering via `CorePlugin.OnTextAddedListener`",
artifacts = {MarkwonArtifact.CORE, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.CORE, MarkwonArtifact.INLINE_PARSER},
tags = {Tags.parsing, Tags.textAddedListener, Tags.rendering} tags = {Tag.parsing, Tag.textAddedListener, Tag.rendering}
) )
public class GithubUserIssueInlineParsingSample extends MarkwonTextViewSample { public class GithubUserIssueInlineParsingSample extends MarkwonTextViewSample {
@Override @Override
@ -34,7 +34,7 @@ public class GithubUserIssueInlineParsingSample extends MarkwonTextViewSample {
"# Custom Extension 2\n" + "# Custom Extension 2\n" +
"\n" + "\n" +
"This is an issue #1\n" + "This is an issue #1\n" +
"Done by @noties"; "Done by @noties and other @dude";
final InlineParserFactory inlineParserFactory = MarkwonInlineParser.factoryBuilder() final InlineParserFactory inlineParserFactory = MarkwonInlineParser.factoryBuilder()
// include all current defaults (otherwise will be empty - contain only our inline-processors) // include all current defaults (otherwise will be empty - contain only our inline-processors)

View File

@ -14,12 +14,12 @@ import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.RenderProps; import io.noties.markwon.RenderProps;
import io.noties.markwon.SpannableBuilder; import io.noties.markwon.SpannableBuilder;
import io.noties.markwon.app.BuildConfig; import io.noties.markwon.app.BuildConfig;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.CorePlugin; import io.noties.markwon.core.CorePlugin;
import io.noties.markwon.core.CoreProps; import io.noties.markwon.core.CoreProps;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629162024", id = "20200629162024",
@ -27,7 +27,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "Github-like user mention and issue " + description = "Github-like user mention and issue " +
"rendering via `CorePlugin.OnTextAddedListener`", "rendering via `CorePlugin.OnTextAddedListener`",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.parsing, Tags.textAddedListener, Tags.rendering} tags = {Tag.parsing, Tag.textAddedListener, Tag.rendering}
) )
public class GithubUserIssueOnTextAddedSample extends MarkwonTextViewSample { public class GithubUserIssueOnTextAddedSample extends MarkwonTextViewSample {
@Override @Override
@ -36,7 +36,7 @@ public class GithubUserIssueOnTextAddedSample extends MarkwonTextViewSample {
"# Custom Extension 2\n" + "# Custom Extension 2\n" +
"\n" + "\n" +
"This is an issue #1\n" + "This is an issue #1\n" +
"Done by @noties"; "Done by @noties and other @dude";
final Markwon markwon = Markwon.builder(context) final Markwon markwon = Markwon.builder(context)
.usePlugin(new AbstractMarkwonPlugin() { .usePlugin(new AbstractMarkwonPlugin() {

View File

@ -10,17 +10,17 @@ import org.commonmark.node.Heading;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.CoreProps; import io.noties.markwon.core.CoreProps;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20201203224611", id = "20201203224611",
title = "Color of heading", title = "Color of heading",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.rendering tags = Tag.rendering
) )
public class HeadingColorSample extends MarkwonTextViewSample { public class HeadingColorSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -9,10 +9,10 @@ import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.BlockHandlerDef; import io.noties.markwon.BlockHandlerDef;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629125924", id = "20200629125924",
@ -20,7 +20,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "Process padding (spacing) after heading with a " + description = "Process padding (spacing) after heading with a " +
"`BlockHandler`", "`BlockHandler`",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.block, Tags.spacing, Tags.padding, Tags.heading, Tags.rendering} tags = {Tag.block, Tag.spacing, Tag.padding, Tag.heading, Tag.rendering}
) )
public class HeadingNoSpaceBlockHandlerSample extends MarkwonTextViewSample { public class HeadingNoSpaceBlockHandlerSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -7,19 +7,19 @@ import org.commonmark.node.Heading;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.CoreProps; import io.noties.markwon.core.CoreProps;
import io.noties.markwon.core.MarkwonTheme; import io.noties.markwon.core.MarkwonTheme;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629125622", id = "20200629125622",
title = "Heading no padding", title = "Heading no padding",
description = "Do not add a new line after heading node", description = "Do not add a new line after heading node",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.spacing, Tags.padding, Tags.spacing, Tags.rendering} tags = {Tag.spacing, Tag.padding, Tag.spacing, Tag.rendering}
) )
public class HeadingNoSpaceSample extends MarkwonTextViewSample { public class HeadingNoSpaceSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,19 +1,19 @@
package io.noties.markwon.app.samples; package io.noties.markwon.app.samples;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.inlineparser.MarkwonInlineParser; import io.noties.markwon.inlineparser.MarkwonInlineParser;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629170857", id = "20200629170857",
title = "Inline parsing without defaults", title = "Inline parsing without defaults",
description = "Configure inline parser plugin to **not** have any **inline** parsing", description = "Configure inline parser plugin to **not** have any **inline** parsing",
artifacts = {MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.INLINE_PARSER},
tags = {Tags.parsing} tags = {Tag.parsing}
) )
public class InlinePluginNoDefaultsSample extends MarkwonTextViewSample { public class InlinePluginNoDefaultsSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -7,19 +7,19 @@ import android.text.Spanned;
import android.widget.TextView; import android.widget.TextView;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.AsyncDrawableScheduler; import io.noties.markwon.image.AsyncDrawableScheduler;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200826084338", id = "20200826084338",
title = "Justify text", title = "Justify text",
description = "Justify text with `justificationMode` argument on Oreo (>= 26)", description = "Justify text with `justificationMode` argument on Oreo (>= 26)",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.rendering tags = Tag.rendering
) )
public class JustifyModeSample extends MarkwonTextViewSample { public class JustifyModeSample extends MarkwonTextViewSample {
@SuppressLint("WrongConstant") @SuppressLint("WrongConstant")

View File

@ -15,20 +15,20 @@ import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.Prop; import io.noties.markwon.Prop;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.CoreProps; import io.noties.markwon.core.CoreProps;
import io.noties.markwon.core.spans.BulletListItemSpan; import io.noties.markwon.core.spans.BulletListItemSpan;
import io.noties.markwon.core.spans.OrderedListItemSpan; import io.noties.markwon.core.spans.OrderedListItemSpan;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629130954", id = "20200629130954",
title = "Letter ordered list", title = "Letter ordered list",
description = "Render bullet list inside an ordered list with letters instead of bullets", description = "Render bullet list inside an ordered list with letters instead of bullets",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.rendering, Tags.plugin, Tags.lists} tags = {Tag.rendering, Tag.plugin, Tag.lists}
) )
public class LetterOrderedListSample extends MarkwonTextViewSample { public class LetterOrderedListSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -11,16 +11,16 @@ import org.commonmark.node.Link;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200702101224", id = "20200702101224",
title = "Remove link underline", title = "Remove link underline",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.links, Tags.rendering, Tags.span} tags = {Tag.links, Tag.rendering, Tag.span}
) )
public class LinkRemoveUnderlineSample extends MarkwonTextViewSample { public class LinkRemoveUnderlineSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -16,20 +16,20 @@ import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.LinkResolver; import io.noties.markwon.LinkResolver;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.CoreProps; import io.noties.markwon.core.CoreProps;
import io.noties.markwon.core.MarkwonTheme; import io.noties.markwon.core.MarkwonTheme;
import io.noties.markwon.core.spans.LinkSpan; import io.noties.markwon.core.spans.LinkSpan;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629122230", id = "20200629122230",
title = "Obtain link title", title = "Obtain link title",
description = "Obtain title (text) of clicked link, `[title](#destination)`", description = "Obtain title (text) of clicked link, `[title](#destination)`",
artifacts = {MarkwonArtifact.CORE}, artifacts = {MarkwonArtifact.CORE},
tags = {Tags.links, Tags.span} tags = {Tag.links, Tag.span}
) )
public class LinkTitleSample extends MarkwonTextViewSample { public class LinkTitleSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,17 +1,17 @@
package io.noties.markwon.app.samples; package io.noties.markwon.app.samples;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629124005", id = "20200629124005",
title = "Links without scheme", title = "Links without scheme",
description = "Links without scheme are considered to be `https`", description = "Links without scheme are considered to be `https`",
artifacts = {MarkwonArtifact.CORE}, artifacts = {MarkwonArtifact.CORE},
tags = {Tags.links, Tags.defaults} tags = {Tag.links, Tag.defaults}
) )
public class LinkWithoutSchemeSample extends MarkwonTextViewSample { public class LinkWithoutSchemeSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -8,19 +8,19 @@ import java.util.Collections;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.inlineparser.MarkwonInlineParser; import io.noties.markwon.inlineparser.MarkwonInlineParser;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629171212", id = "20200629171212",
title = "No parsing", title = "No parsing",
description = "All commonmark parsing is disabled (both inlines and blocks)", description = "All commonmark parsing is disabled (both inlines and blocks)",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.parsing, Tags.rendering} tags = {Tag.parsing, Tag.rendering}
) )
public class NoParsingSample extends MarkwonTextViewSample { public class NoParsingSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,16 +1,16 @@
package io.noties.markwon.app.samples; package io.noties.markwon.app.samples;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20201203221806", id = "20201203221806",
title = "Ordered list numbers", title = "Ordered list numbers",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.rendering tags = Tag.rendering
) )
public class OrderedListNumbersSample extends MarkwonTextViewSample { public class OrderedListNumbersSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -10,17 +10,17 @@ import org.commonmark.node.Paragraph;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629122647", id = "20200629122647",
title = "Paragraph style", title = "Paragraph style",
description = "Apply a style (via span) to a paragraph", description = "Apply a style (via span) to a paragraph",
artifacts = {MarkwonArtifact.CORE}, artifacts = {MarkwonArtifact.CORE},
tags = {Tags.paragraph, Tags.style, Tags.span} tags = {Tag.paragraph, Tag.style, Tag.span}
) )
public class ParagraphSpanStyle extends MarkwonTextViewSample { public class ParagraphSpanStyle extends MarkwonTextViewSample {
@Override @Override

View File

@ -9,7 +9,6 @@ import io.noties.markwon.MarkwonConfiguration;
import io.noties.markwon.PrecomputedFutureTextSetterCompat; import io.noties.markwon.PrecomputedFutureTextSetterCompat;
import io.noties.markwon.app.R; import io.noties.markwon.app.R;
import io.noties.markwon.app.readme.GithubImageDestinationProcessor; import io.noties.markwon.app.readme.GithubImageDestinationProcessor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonRecyclerViewSample; import io.noties.markwon.app.sample.ui.MarkwonRecyclerViewSample;
import io.noties.markwon.app.utils.SampleUtilsKtKt; import io.noties.markwon.app.utils.SampleUtilsKtKt;
import io.noties.markwon.ext.strikethrough.StrikethroughPlugin; import io.noties.markwon.ext.strikethrough.StrikethroughPlugin;
@ -19,6 +18,7 @@ import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.recycler.MarkwonAdapter; import io.noties.markwon.recycler.MarkwonAdapter;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200702092446", id = "20200702092446",
@ -26,7 +26,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "Usage of `PrecomputedFutureTextSetterCompat` " + description = "Usage of `PrecomputedFutureTextSetterCompat` " +
"inside a `RecyclerView` with appcompat", "inside a `RecyclerView` with appcompat",
artifacts = {MarkwonArtifact.RECYCLER}, artifacts = {MarkwonArtifact.RECYCLER},
tags = {Tags.recyclerView, Tags.precomputedText} tags = {Tag.recyclerView, Tag.precomputedText}
) )
public class PrecomputedFutureSample extends MarkwonRecyclerViewSample { public class PrecomputedFutureSample extends MarkwonRecyclerViewSample {
@Override @Override

View File

@ -4,17 +4,17 @@ import java.util.concurrent.Executors;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.PrecomputedTextSetterCompat; import io.noties.markwon.PrecomputedTextSetterCompat;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200702091654", id = "20200702091654",
title = "PrecomputedTextSetterCompat", title = "PrecomputedTextSetterCompat",
description = "`TextSetter` to use `PrecomputedTextSetterCompat`", description = "`TextSetter` to use `PrecomputedTextSetterCompat`",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.precomputedText tags = Tag.precomputedText
) )
public class PrecomputedSample extends MarkwonTextViewSample { public class PrecomputedSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -11,19 +11,18 @@ import androidx.annotation.NonNull;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; 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.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629161505", id = "20200629161505",
title = "Read more plugin", title = "Read more plugin",
description = "Plugin that adds expand/collapse (\"show all\"/\"show less\")", description = "Plugin that adds expand/collapse (\"show all\"/\"show less\")",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.plugin} tags = {Tag.plugin}
) )
public class ReadMorePluginSample extends MarkwonTextViewSample { public class ReadMorePluginSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -12,7 +12,6 @@ import io.noties.markwon.MarkwonConfiguration;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.R; import io.noties.markwon.app.R;
import io.noties.markwon.app.readme.GithubImageDestinationProcessor; import io.noties.markwon.app.readme.GithubImageDestinationProcessor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonRecyclerViewSample; import io.noties.markwon.app.sample.ui.MarkwonRecyclerViewSample;
import io.noties.markwon.app.utils.SampleUtilsKtKt; import io.noties.markwon.app.utils.SampleUtilsKtKt;
import io.noties.markwon.ext.strikethrough.StrikethroughPlugin; import io.noties.markwon.ext.strikethrough.StrikethroughPlugin;
@ -25,13 +24,14 @@ import io.noties.markwon.recycler.table.TableEntry;
import io.noties.markwon.recycler.table.TableEntryPlugin; import io.noties.markwon.recycler.table.TableEntryPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200702101750", id = "20200702101750",
title = "RecyclerView", title = "RecyclerView",
description = "Usage with `RecyclerView`", description = "Usage with `RecyclerView`",
artifacts = {MarkwonArtifact.RECYCLER, MarkwonArtifact.RECYCLER_TABLE}, artifacts = {MarkwonArtifact.RECYCLER, MarkwonArtifact.RECYCLER_TABLE},
tags = Tags.recyclerView tags = Tag.recyclerView
) )
public class RecyclerSample extends MarkwonRecyclerViewSample { public class RecyclerSample extends MarkwonRecyclerViewSample {
@Override @Override

View File

@ -16,10 +16,10 @@ import java.util.regex.Pattern;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
import io.noties.markwon.utils.ColorUtils; import io.noties.markwon.utils.ColorUtils;
@MarkwonSampleInfo( @MarkwonSampleInfo(
@ -27,7 +27,7 @@ import io.noties.markwon.utils.ColorUtils;
title = "Reddit spoiler", title = "Reddit spoiler",
description = "An attempt to implement Reddit spoiler syntax `>! !<`", description = "An attempt to implement Reddit spoiler syntax `>! !<`",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.parsing tags = Tag.parsing
) )
public class RedditSpoilerSample extends MarkwonTextViewSample { public class RedditSpoilerSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -4,12 +4,12 @@ import android.graphics.Color;
import android.text.style.ForegroundColorSpan; import android.text.style.ForegroundColorSpan;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.spans.EmphasisSpan; import io.noties.markwon.core.spans.EmphasisSpan;
import io.noties.markwon.core.spans.StrongEmphasisSpan; import io.noties.markwon.core.spans.StrongEmphasisSpan;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
import io.noties.markwon.simple.ext.SimpleExtPlugin; import io.noties.markwon.simple.ext.SimpleExtPlugin;
@MarkwonSampleInfo( @MarkwonSampleInfo(
@ -17,7 +17,7 @@ import io.noties.markwon.simple.ext.SimpleExtPlugin;
title = "Delimiter processor simple-ext", title = "Delimiter processor simple-ext",
description = "Custom delimiter processor implemented with a `SimpleExtPlugin`", description = "Custom delimiter processor implemented with a `SimpleExtPlugin`",
artifacts = MarkwonArtifact.SIMPLE_EXT, artifacts = MarkwonArtifact.SIMPLE_EXT,
tags = Tags.parsing tags = Tag.parsing
) )
public class SimpleExtensionSample extends MarkwonTextViewSample { public class SimpleExtensionSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -2,17 +2,17 @@ package io.noties.markwon.app.samples;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.SoftBreakAddsNewLinePlugin; import io.noties.markwon.SoftBreakAddsNewLinePlugin;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629125040", id = "20200629125040",
title = "Soft break new line", title = "Soft break new line",
description = "Add a new line for a markdown soft-break node", description = "Add a new line for a markdown soft-break node",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.newLine, Tags.softBreak} tags = {Tag.newLine, Tag.softBreak}
) )
public class SoftBreakAddsNewLineSample extends MarkwonTextViewSample { public class SoftBreakAddsNewLineSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,10 +1,10 @@
package io.noties.markwon.app.samples; package io.noties.markwon.app.samples;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629124706", id = "20200629124706",
@ -12,7 +12,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "By default a soft break (`\n`) will " + description = "By default a soft break (`\n`) will " +
"add a space character instead of new line", "add a space character instead of new line",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.newLine, Tags.softBreak, Tags.defaults} tags = {Tag.newLine, Tag.softBreak, Tag.defaults}
) )
public class SoftBreakAddsSpace extends MarkwonTextViewSample { public class SoftBreakAddsSpace extends MarkwonTextViewSample {
@Override @Override

View File

@ -9,17 +9,17 @@ import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.BlockHandlerDef; import io.noties.markwon.BlockHandlerDef;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200813154415", id = "20200813154415",
title = "Thematic break bottom margin", title = "Thematic break bottom margin",
description = "Do not add a new line after thematic break (with the `BlockHandler`)", description = "Do not add a new line after thematic break (with the `BlockHandler`)",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.rendering tags = Tag.rendering
) )
public class ThematicBreakBottomMarginSample extends MarkwonTextViewSample { public class ThematicBreakBottomMarginSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -6,18 +6,18 @@ import android.widget.TextView
import android.widget.Toast import android.widget.Toast
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.BuildConfig import io.noties.markwon.app.BuildConfig
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.image.ImagesPlugin import io.noties.markwon.image.ImagesPlugin
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200627074017", id = "20200627074017",
title = "Markdown in Toast (with dynamic content)", title = "Markdown in Toast (with dynamic content)",
description = "Display markdown in a `android.widget.Toast` with dynamic content (image)", description = "Display markdown in a `android.widget.Toast` with dynamic content (image)",
artifacts = [MarkwonArtifact.CORE, MarkwonArtifact.IMAGE], artifacts = [MarkwonArtifact.CORE, MarkwonArtifact.IMAGE],
tags = [Tags.toast, Tags.hack] tags = [Tag.toast, Tag.hack]
) )
class ToastDynamicContentSample : MarkwonTextViewSample() { class ToastDynamicContentSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -2,17 +2,17 @@ package io.noties.markwon.app.samples
import android.widget.Toast import android.widget.Toast
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200627072642", id = "20200627072642",
title = "Markdown in Toast", title = "Markdown in Toast",
description = "Display _static_ markdown content in a `android.widget.Toast`", description = "Display _static_ markdown content in a `android.widget.Toast`",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.toast] tags = [Tag.toast]
) )
class ToastSample : MarkwonTextViewSample() { class ToastSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -1,17 +1,17 @@
package io.noties.markwon.app.samples.basics; package io.noties.markwon.app.samples.basics;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20210118154116", id = "20210118154116",
title = "One line text", title = "One line text",
description = "Single line text without markdown markup", description = "Single line text without markdown markup",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.rendering tags = Tag.rendering
) )
public class OneLineNoMarkdownSample extends MarkwonTextViewSample { public class OneLineNoMarkdownSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,17 +1,17 @@
package io.noties.markwon.app.samples.basics package io.noties.markwon.app.samples.basics
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200626152255", id = "20200626152255",
title = "Simple", title = "Simple",
description = "The most primitive and simple way to apply markdown to a `TextView`", description = "The most primitive and simple way to apply markdown to a `TextView`",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.basics] tags = [Tag.basics]
) )
class Simple : MarkwonTextViewSample() { class Simple : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -2,11 +2,11 @@ package io.noties.markwon.app.samples.basics
import android.text.Spanned import android.text.Spanned
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.core.CorePlugin import io.noties.markwon.core.CorePlugin
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
import org.commonmark.node.Node import org.commonmark.node.Node
@MarkwonSampleInfo( @MarkwonSampleInfo(
@ -14,7 +14,7 @@ import org.commonmark.node.Node
title = "Simple with walk-through", title = "Simple with walk-through",
description = "Walk-through for simple use case", description = "Walk-through for simple use case",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.basics] tags = [Tag.basics]
) )
class SimpleWalkthrough : MarkwonTextViewSample() { class SimpleWalkthrough : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -8,7 +8,6 @@ import android.text.style.MetricAffectingSpan;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample; import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample;
import io.noties.markwon.core.spans.StrongEmphasisSpan; import io.noties.markwon.core.spans.StrongEmphasisSpan;
import io.noties.markwon.editor.AbstractEditHandler; import io.noties.markwon.editor.AbstractEditHandler;
@ -18,6 +17,7 @@ import io.noties.markwon.editor.MarkwonEditorUtils;
import io.noties.markwon.editor.PersistedSpans; import io.noties.markwon.editor.PersistedSpans;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629165136", id = "20200629165136",
@ -25,7 +25,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "Additional _edit_ span (span that is present in " + description = "Additional _edit_ span (span that is present in " +
"`EditText` along with punctuation", "`EditText` along with punctuation",
artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER},
tags = {Tags.editor, Tags.span} tags = {Tag.editor, Tag.span}
) )
public class EditorAdditionalEditSpan extends MarkwonEditTextSample { public class EditorAdditionalEditSpan extends MarkwonEditTextSample {
@Override @Override

View File

@ -1,20 +1,20 @@
package io.noties.markwon.app.samples.editor; package io.noties.markwon.app.samples.editor;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample; import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample;
import io.noties.markwon.editor.MarkwonEditor; import io.noties.markwon.editor.MarkwonEditor;
import io.noties.markwon.editor.MarkwonEditorTextWatcher; import io.noties.markwon.editor.MarkwonEditorTextWatcher;
import io.noties.markwon.ext.strikethrough.StrikethroughPlugin; import io.noties.markwon.ext.strikethrough.StrikethroughPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629165347", id = "20200629165347",
title = "Additional plugin", title = "Additional plugin",
description = "Additional plugin for editor", description = "Additional plugin for editor",
artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER, MarkwonArtifact.EXT_STRIKETHROUGH}, artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER, MarkwonArtifact.EXT_STRIKETHROUGH},
tags = {Tags.editor} tags = {Tag.editor}
) )
public class EditorAdditionalPluginSample extends MarkwonEditTextSample { public class EditorAdditionalPluginSample extends MarkwonEditTextSample {
@Override @Override

View File

@ -3,19 +3,19 @@ package io.noties.markwon.app.samples.editor;
import android.text.style.ForegroundColorSpan; import android.text.style.ForegroundColorSpan;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample; import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample;
import io.noties.markwon.editor.MarkwonEditor; import io.noties.markwon.editor.MarkwonEditor;
import io.noties.markwon.editor.MarkwonEditorTextWatcher; import io.noties.markwon.editor.MarkwonEditorTextWatcher;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629164627", id = "20200629164627",
title = "Custom punctuation span", title = "Custom punctuation span",
description = "Custom span for punctuation in editor", description = "Custom span for punctuation in editor",
artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER},
tags = {Tags.editor, Tags.span} tags = {Tag.editor, Tag.span}
) )
public class EditorCustomPunctuationSample extends MarkwonEditTextSample { public class EditorCustomPunctuationSample extends MarkwonEditTextSample {
@Override @Override

View File

@ -3,20 +3,20 @@ package io.noties.markwon.app.samples.editor;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample;
import io.noties.markwon.app.samples.editor.shared.HeadingEditHandler; import io.noties.markwon.app.samples.editor.shared.HeadingEditHandler;
import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample;
import io.noties.markwon.editor.MarkwonEditor; import io.noties.markwon.editor.MarkwonEditor;
import io.noties.markwon.editor.MarkwonEditorTextWatcher; import io.noties.markwon.editor.MarkwonEditorTextWatcher;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630113954", id = "20200630113954",
title = "Heading edit handler", title = "Heading edit handler",
description = "Handling of heading node in editor", description = "Handling of heading node in editor",
artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER},
tags = {Tags.editor} tags = {Tag.editor}
) )
public class EditorHeadingSample extends MarkwonEditTextSample { public class EditorHeadingSample extends MarkwonEditTextSample {
@Override @Override

View File

@ -12,11 +12,10 @@ import java.util.concurrent.Executors;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.SoftBreakAddsNewLinePlugin; import io.noties.markwon.SoftBreakAddsNewLinePlugin;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample;
import io.noties.markwon.app.samples.editor.shared.BlockQuoteEditHandler; 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.CodeEditHandler;
import io.noties.markwon.app.samples.editor.shared.LinkEditHandler; import io.noties.markwon.app.samples.editor.shared.LinkEditHandler;
import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample;
import io.noties.markwon.app.samples.editor.shared.StrikethroughEditHandler; import io.noties.markwon.app.samples.editor.shared.StrikethroughEditHandler;
import io.noties.markwon.editor.MarkwonEditor; import io.noties.markwon.editor.MarkwonEditor;
import io.noties.markwon.editor.MarkwonEditorTextWatcher; import io.noties.markwon.editor.MarkwonEditorTextWatcher;
@ -30,13 +29,14 @@ import io.noties.markwon.inlineparser.MarkwonInlineParser;
import io.noties.markwon.linkify.LinkifyPlugin; import io.noties.markwon.linkify.LinkifyPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629165920", id = "20200629165920",
title = "Multiple edit spans", title = "Multiple edit spans",
description = "Additional multiple edit spans for editor", description = "Additional multiple edit spans for editor",
artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER},
tags = {Tags.editor} tags = {Tag.editor}
) )
public class EditorMultipleEditSpansSample extends MarkwonEditTextSample { public class EditorMultipleEditSpansSample extends MarkwonEditTextSample {
@Override @Override

View File

@ -11,12 +11,12 @@ import java.util.regex.Pattern;
import io.noties.debug.Debug; import io.noties.debug.Debug;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample; import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample;
import io.noties.markwon.editor.MarkwonEditor; import io.noties.markwon.editor.MarkwonEditor;
import io.noties.markwon.editor.MarkwonEditorTextWatcher; import io.noties.markwon.editor.MarkwonEditorTextWatcher;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629170348", id = "20200629170348",
@ -25,7 +25,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
"in order to add a _continuation_, for example adding a new " + "in order to add a _continuation_, for example adding a new " +
"bullet list item if current line starts with one", "bullet list item if current line starts with one",
artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER},
tags = {Tags.editor} tags = {Tag.editor}
) )
public class EditorNewLineContinuationSample extends MarkwonEditTextSample { public class EditorNewLineContinuationSample extends MarkwonEditTextSample {
@Override @Override

View File

@ -3,12 +3,12 @@ package io.noties.markwon.app.samples.editor;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample; import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample;
import io.noties.markwon.editor.MarkwonEditor; import io.noties.markwon.editor.MarkwonEditor;
import io.noties.markwon.editor.MarkwonEditorTextWatcher; import io.noties.markwon.editor.MarkwonEditorTextWatcher;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629164422", id = "20200629164422",
@ -16,7 +16,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "Editor functionality with highlight " + description = "Editor functionality with highlight " +
"taking place in another thread", "taking place in another thread",
artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER},
tags = {Tags.editor} tags = {Tag.editor}
) )
public class EditorPreRenderSample extends MarkwonEditTextSample { public class EditorPreRenderSample extends MarkwonEditTextSample {
@Override @Override

View File

@ -1,19 +1,19 @@
package io.noties.markwon.app.samples.editor; package io.noties.markwon.app.samples.editor;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample; import io.noties.markwon.app.samples.editor.shared.MarkwonEditTextSample;
import io.noties.markwon.editor.MarkwonEditor; import io.noties.markwon.editor.MarkwonEditor;
import io.noties.markwon.editor.MarkwonEditorTextWatcher; import io.noties.markwon.editor.MarkwonEditorTextWatcher;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629164227", id = "20200629164227",
title = "Simple editor", title = "Simple editor",
description = "Simple usage of editor with markdown highlight", description = "Simple usage of editor with markdown highlight",
artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EDITOR, MarkwonArtifact.INLINE_PARSER},
tags = {Tags.editor} tags = {Tag.editor}
) )
public class EditorSimpleSample extends MarkwonEditTextSample { public class EditorSimpleSample extends MarkwonEditTextSample {
@Override @Override

View File

@ -12,7 +12,6 @@ import androidx.annotation.Nullable;
import io.noties.debug.Debug; import io.noties.debug.Debug;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.SoftBreakAddsNewLinePlugin; import io.noties.markwon.SoftBreakAddsNewLinePlugin;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.samples.editor.shared.BlockQuoteEditHandler; 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.CodeEditHandler;
import io.noties.markwon.app.samples.editor.shared.HeadingEditHandler; import io.noties.markwon.app.samples.editor.shared.HeadingEditHandler;
@ -26,13 +25,14 @@ import io.noties.markwon.editor.handler.EmphasisEditHandler;
import io.noties.markwon.editor.handler.StrongEmphasisEditHandler; import io.noties.markwon.editor.handler.StrongEmphasisEditHandler;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200908133515", id = "20200908133515",
title = "WYSIWG editor", title = "WYSIWG editor",
description = "A possible direction to implement what-you-see-is-what-you-get editor", description = "A possible direction to implement what-you-see-is-what-you-get editor",
artifacts = MarkwonArtifact.EDITOR, artifacts = MarkwonArtifact.EDITOR,
tags = Tags.rendering tags = Tag.rendering
) )
public class WYSIWYGEditorSample extends MarkwonEditTextSample { public class WYSIWYGEditorSample extends MarkwonEditTextSample {
@Override @Override

View File

@ -13,20 +13,20 @@ import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonConfiguration; import io.noties.markwon.MarkwonConfiguration;
import io.noties.markwon.RenderProps; import io.noties.markwon.RenderProps;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.html.HtmlPlugin; import io.noties.markwon.html.HtmlPlugin;
import io.noties.markwon.html.HtmlTag; import io.noties.markwon.html.HtmlTag;
import io.noties.markwon.html.tag.SimpleTagHandler; import io.noties.markwon.html.tag.SimpleTagHandler;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630114630", id = "20200630114630",
title = "Align HTML tag", title = "Align HTML tag",
description = "Implement custom HTML tag handling", description = "Implement custom HTML tag handling",
artifacts = MarkwonArtifact.HTML, artifacts = MarkwonArtifact.HTML,
tags = {Tags.rendering, Tags.span, Tags.html} tags = {Tag.rendering, Tag.span, Tag.html}
) )
public class HtmlAlignSample extends MarkwonTextViewSample { public class HtmlAlignSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -12,7 +12,6 @@ import io.noties.debug.Debug;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.SpannableBuilder; import io.noties.markwon.SpannableBuilder;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.app.samples.html.shared.IFrameHtmlPlugin; import io.noties.markwon.app.samples.html.shared.IFrameHtmlPlugin;
import io.noties.markwon.html.HtmlPlugin; import io.noties.markwon.html.HtmlPlugin;
@ -22,13 +21,14 @@ import io.noties.markwon.html.TagHandler;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630120101", id = "20200630120101",
title = "Center HTML tag", title = "Center HTML tag",
description = "Handling of `center` HTML tag", description = "Handling of `center` HTML tag",
artifacts = {MarkwonArtifact.HTML, MarkwonArtifact.IMAGE}, artifacts = {MarkwonArtifact.HTML, MarkwonArtifact.IMAGE},
tags = {Tags.rendering, Tags.html} tags = {Tag.rendering, Tag.html}
) )
public class HtmlCenterTagSample extends MarkwonTextViewSample { public class HtmlCenterTagSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -17,7 +17,6 @@ import io.noties.debug.Debug;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonConfiguration; import io.noties.markwon.MarkwonConfiguration;
import io.noties.markwon.RenderProps; import io.noties.markwon.RenderProps;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.html.CssInlineStyleParser; import io.noties.markwon.html.CssInlineStyleParser;
import io.noties.markwon.html.CssProperty; import io.noties.markwon.html.CssProperty;
@ -26,13 +25,14 @@ import io.noties.markwon.html.HtmlTag;
import io.noties.markwon.html.tag.SimpleTagHandler; import io.noties.markwon.html.tag.SimpleTagHandler;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20210118155530", id = "20210118155530",
title = "CSS attributes in HTML", title = "CSS attributes in HTML",
description = "Parse CSS attributes of HTML tags with `CssInlineStyleParser`", description = "Parse CSS attributes of HTML tags with `CssInlineStyleParser`",
artifacts = MarkwonArtifact.HTML, artifacts = MarkwonArtifact.HTML,
tags = Tags.html tags = Tag.html
) )
public class HtmlCssStyleParserSample extends MarkwonTextViewSample { public class HtmlCssStyleParserSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -30,7 +30,6 @@ import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.SpannableBuilder; import io.noties.markwon.SpannableBuilder;
import io.noties.markwon.app.BuildConfig; import io.noties.markwon.app.BuildConfig;
import io.noties.markwon.app.R; import io.noties.markwon.app.R;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonSample; import io.noties.markwon.app.sample.ui.MarkwonSample;
import io.noties.markwon.core.MarkwonTheme; import io.noties.markwon.core.MarkwonTheme;
import io.noties.markwon.html.HtmlPlugin; import io.noties.markwon.html.HtmlPlugin;
@ -40,6 +39,7 @@ import io.noties.markwon.html.TagHandler;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
import io.noties.markwon.utils.LeadingMarginUtils; import io.noties.markwon.utils.LeadingMarginUtils;
import io.noties.markwon.utils.NoCopySpannableFactory; import io.noties.markwon.utils.NoCopySpannableFactory;
@ -48,7 +48,7 @@ import io.noties.markwon.utils.NoCopySpannableFactory;
title = "Details HTML tag", title = "Details HTML tag",
description = "Handling of `details` HTML tag", description = "Handling of `details` HTML tag",
artifacts = {MarkwonArtifact.HTML, MarkwonArtifact.IMAGE}, artifacts = {MarkwonArtifact.HTML, MarkwonArtifact.IMAGE},
tags = {Tags.image, Tags.rendering, Tags.html} tags = {Tag.image, Tag.rendering, Tag.html}
) )
public class HtmlDetailsSample extends MarkwonSample { public class HtmlDetailsSample extends MarkwonSample {

View File

@ -4,17 +4,17 @@ import androidx.annotation.NonNull;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630171424", id = "20200630171424",
title = "Disable HTML", title = "Disable HTML",
description = "Disable HTML via replacing special `<` and `>` symbols", description = "Disable HTML via replacing special `<` and `>` symbols",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = {Tags.html, Tags.rendering, Tags.parsing, Tags.plugin} tags = {Tag.html, Tag.rendering, Tag.parsing, Tag.plugin}
) )
public class HtmlDisableSanitizeSample extends MarkwonTextViewSample { public class HtmlDisableSanitizeSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -4,13 +4,13 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.html.HtmlEmptyTagReplacement; import io.noties.markwon.html.HtmlEmptyTagReplacement;
import io.noties.markwon.html.HtmlPlugin; import io.noties.markwon.html.HtmlPlugin;
import io.noties.markwon.html.HtmlTag; import io.noties.markwon.html.HtmlTag;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630115725", id = "20200630115725",
@ -19,7 +19,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
"in case of self-closed HTML tags or tags without content (closed " + "in case of self-closed HTML tags or tags without content (closed " +
"right after opened)", "right after opened)",
artifacts = MarkwonArtifact.HTML, artifacts = MarkwonArtifact.HTML,
tags = {Tags.rendering, Tags.html} tags = {Tag.rendering, Tag.html}
) )
public class HtmlEmptyTagReplacementSample extends MarkwonTextViewSample { public class HtmlEmptyTagReplacementSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -13,7 +13,6 @@ import java.util.Collections;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.html.HtmlPlugin; import io.noties.markwon.html.HtmlPlugin;
import io.noties.markwon.html.HtmlTag; import io.noties.markwon.html.HtmlTag;
@ -21,6 +20,7 @@ import io.noties.markwon.html.MarkwonHtmlRenderer;
import io.noties.markwon.html.TagHandler; import io.noties.markwon.html.TagHandler;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630115103", id = "20200630115103",
@ -28,7 +28,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "Custom HTML tag implementation " + description = "Custom HTML tag implementation " +
"that _enhances_ a part of text given start and end indices", "that _enhances_ a part of text given start and end indices",
artifacts = MarkwonArtifact.HTML, artifacts = MarkwonArtifact.HTML,
tags = {Tags.rendering, Tags.span, Tags.html} tags = {Tag.rendering, Tag.span, Tag.html}
) )
public class HtmlEnhanceSample extends MarkwonTextViewSample { public class HtmlEnhanceSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,20 +1,20 @@
package io.noties.markwon.app.samples.html; package io.noties.markwon.app.samples.html;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.app.samples.html.shared.IFrameHtmlPlugin; import io.noties.markwon.app.samples.html.shared.IFrameHtmlPlugin;
import io.noties.markwon.html.HtmlPlugin; import io.noties.markwon.html.HtmlPlugin;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630115521", id = "20200630115521",
title = "IFrame HTML tag", title = "IFrame HTML tag",
description = "Handling of `iframe` HTML tag", description = "Handling of `iframe` HTML tag",
artifacts = {MarkwonArtifact.HTML, MarkwonArtifact.IMAGE}, artifacts = {MarkwonArtifact.HTML, MarkwonArtifact.IMAGE},
tags = {Tags.image, Tags.rendering, Tags.html} tags = {Tag.image, Tag.rendering, Tag.html}
) )
public class HtmlIFrameSample extends MarkwonTextViewSample { public class HtmlIFrameSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,19 +1,19 @@
package io.noties.markwon.app.samples.html; package io.noties.markwon.app.samples.html;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.html.HtmlPlugin; import io.noties.markwon.html.HtmlPlugin;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630115300", id = "20200630115300",
title = "Html images", title = "Html images",
description = "Usage of HTML images", description = "Usage of HTML images",
artifacts = {MarkwonArtifact.HTML, MarkwonArtifact.IMAGE}, artifacts = {MarkwonArtifact.HTML, MarkwonArtifact.IMAGE},
tags = {Tags.image, Tags.rendering, Tags.html} tags = {Tag.image, Tag.rendering, Tag.html}
) )
public class HtmlImageSample extends MarkwonTextViewSample { public class HtmlImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -12,7 +12,6 @@ import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.SpannableBuilder; import io.noties.markwon.SpannableBuilder;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.html.HtmlPlugin; import io.noties.markwon.html.HtmlPlugin;
import io.noties.markwon.html.HtmlTag; import io.noties.markwon.html.HtmlTag;
@ -20,6 +19,7 @@ import io.noties.markwon.html.MarkwonHtmlRenderer;
import io.noties.markwon.html.TagHandler; import io.noties.markwon.html.TagHandler;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630114923", id = "20200630114923",
@ -27,7 +27,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "Implementation of a custom HTML tag handler " + description = "Implementation of a custom HTML tag handler " +
"that assigns each character a random size", "that assigns each character a random size",
artifacts = MarkwonArtifact.HTML, artifacts = MarkwonArtifact.HTML,
tags = {Tags.rendering, Tags.span, Tags.html} tags = {Tag.rendering, Tag.span, Tag.html}
) )
public class HtmlRandomCharSize extends MarkwonTextViewSample { public class HtmlRandomCharSize extends MarkwonTextViewSample {
@Override @Override

View File

@ -3,7 +3,6 @@ package io.noties.markwon.app.samples.html
import android.text.style.URLSpan import android.text.style.URLSpan
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.MarkwonVisitor import io.noties.markwon.MarkwonVisitor
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.html.HtmlPlugin import io.noties.markwon.html.HtmlPlugin
import io.noties.markwon.html.HtmlTag import io.noties.markwon.html.HtmlTag
@ -11,13 +10,14 @@ import io.noties.markwon.html.MarkwonHtmlRenderer
import io.noties.markwon.html.TagHandler import io.noties.markwon.html.TagHandler
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20210201140501", id = "20210201140501",
title = "Inspect text", title = "Inspect text",
description = "Inspect text content of a `HTML` node", description = "Inspect text content of a `HTML` node",
artifacts = [MarkwonArtifact.HTML], artifacts = [MarkwonArtifact.HTML],
tags = [Tags.html] tags = [Tag.html]
) )
class InspectHtmlTextSample : MarkwonTextViewSample() { class InspectHtmlTextSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -7,7 +7,6 @@ import io.noties.markwon.Markwon
import io.noties.markwon.MarkwonConfiguration import io.noties.markwon.MarkwonConfiguration
import io.noties.markwon.MarkwonSpansFactory import io.noties.markwon.MarkwonSpansFactory
import io.noties.markwon.app.readme.GithubImageDestinationProcessor import io.noties.markwon.app.readme.GithubImageDestinationProcessor
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.app.utils.loadReadMe import io.noties.markwon.app.utils.loadReadMe
import io.noties.markwon.core.spans.LinkSpan import io.noties.markwon.core.spans.LinkSpan
@ -15,6 +14,7 @@ import io.noties.markwon.image.ImageProps
import io.noties.markwon.image.ImagesPlugin import io.noties.markwon.image.ImagesPlugin
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
import org.commonmark.node.Image import org.commonmark.node.Image
@MarkwonSampleInfo( @MarkwonSampleInfo(
@ -22,7 +22,7 @@ import org.commonmark.node.Image
title = "Click images", title = "Click images",
description = "Make _all_ images clickable (to open in a gallery, etc)", description = "Make _all_ images clickable (to open in a gallery, etc)",
artifacts = [MarkwonArtifact.IMAGE], artifacts = [MarkwonArtifact.IMAGE],
tags = [Tags.rendering, Tags.image] tags = [Tag.rendering, Tag.image]
) )
class ClickImageSample : MarkwonTextViewSample() { class ClickImageSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -5,18 +5,18 @@ import coil.request.Disposable
import coil.request.ImageRequest import coil.request.ImageRequest
import coil.transform.CircleCropTransformation import coil.transform.CircleCropTransformation
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.image.AsyncDrawable import io.noties.markwon.image.AsyncDrawable
import io.noties.markwon.image.coil.CoilImagesPlugin import io.noties.markwon.image.coil.CoilImagesPlugin
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200826101209", id = "20200826101209",
title = "Coil image", title = "Coil image",
artifacts = [MarkwonArtifact.IMAGE_COIL], artifacts = [MarkwonArtifact.IMAGE_COIL],
tags = [Tags.image] tags = [Tag.image]
) )
class CoilImageSample : MarkwonTextViewSample() { class CoilImageSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -7,20 +7,20 @@ import coil.request.ImageRequest
import coil.transform.RoundedCornersTransformation import coil.transform.RoundedCornersTransformation
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.R import io.noties.markwon.app.R
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonRecyclerViewSample import io.noties.markwon.app.sample.ui.MarkwonRecyclerViewSample
import io.noties.markwon.image.AsyncDrawable import io.noties.markwon.image.AsyncDrawable
import io.noties.markwon.image.coil.CoilImagesPlugin import io.noties.markwon.image.coil.CoilImagesPlugin
import io.noties.markwon.recycler.MarkwonAdapter import io.noties.markwon.recycler.MarkwonAdapter
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200803132053", id = "20200803132053",
title = "Coil inside RecyclerView", title = "Coil inside RecyclerView",
description = "Display images via Coil plugin in `RecyclerView`", description = "Display images via Coil plugin in `RecyclerView`",
artifacts = [MarkwonArtifact.IMAGE_COIL, MarkwonArtifact.RECYCLER], artifacts = [MarkwonArtifact.IMAGE_COIL, MarkwonArtifact.RECYCLER],
tags = [Tags.rendering, Tags.recyclerView, Tags.image] tags = [Tag.rendering, Tag.recyclerView, Tag.image]
) )
class CoilRecyclerViewSample : MarkwonRecyclerViewSample() { class CoilRecyclerViewSample : MarkwonRecyclerViewSample() {
override fun render() { override fun render() {

View File

@ -8,17 +8,17 @@ import androidx.core.content.ContextCompat;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.R; 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.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630165828", id = "20200630165828",
title = "Image error handler", title = "Image error handler",
artifacts = MarkwonArtifact.IMAGE, artifacts = MarkwonArtifact.IMAGE,
tags = Tags.image tags = Tag.image
) )
public class ErrorImageSample extends MarkwonTextViewSample { public class ErrorImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,18 +1,18 @@
package io.noties.markwon.app.samples.image; package io.noties.markwon.app.samples.image;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.image.gif.GifMediaDecoder; import io.noties.markwon.image.gif.GifMediaDecoder;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630162214", id = "20200630162214",
title = "GIF image", title = "GIF image",
artifacts = MarkwonArtifact.IMAGE, artifacts = MarkwonArtifact.IMAGE,
tags = {Tags.image, Tags.gif} tags = {Tag.image, Tag.gif}
) )
public class GifImageSample extends MarkwonTextViewSample { public class GifImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -15,18 +15,18 @@ import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target; import com.bumptech.glide.request.target.Target;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.AsyncDrawable; import io.noties.markwon.image.AsyncDrawable;
import io.noties.markwon.image.glide.GlideImagesPlugin; import io.noties.markwon.image.glide.GlideImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200820071942", id = "20200820071942",
title = "Glide GIF", title = "Glide GIF",
artifacts = MarkwonArtifact.IMAGE_GLIDE, artifacts = MarkwonArtifact.IMAGE_GLIDE,
tags = Tags.image tags = Tag.image
) )
public class GlideGifImageSample extends MarkwonTextViewSample { public class GlideGifImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,17 +1,17 @@
package io.noties.markwon.app.samples.image; package io.noties.markwon.app.samples.image;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.glide.GlideImagesPlugin; import io.noties.markwon.image.glide.GlideImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630170112", id = "20200630170112",
title = "Glide image", title = "Glide image",
artifacts = MarkwonArtifact.IMAGE_GLIDE, artifacts = MarkwonArtifact.IMAGE_GLIDE,
tags = Tags.image tags = Tag.image
) )
public class GlideImageSample extends MarkwonTextViewSample { public class GlideImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -11,18 +11,18 @@ import com.bumptech.glide.request.target.Target;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.R; 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.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.AsyncDrawable; import io.noties.markwon.image.AsyncDrawable;
import io.noties.markwon.image.glide.GlideImagesPlugin; import io.noties.markwon.image.glide.GlideImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630170241", id = "20200630170241",
title = "Glide image with placeholder", title = "Glide image with placeholder",
artifacts = MarkwonArtifact.IMAGE_GLIDE, artifacts = MarkwonArtifact.IMAGE_GLIDE,
tags = Tags.image tags = Tag.image
) )
public class GlidePlaceholderImageSample extends MarkwonTextViewSample { public class GlidePlaceholderImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -3,12 +3,12 @@ package io.noties.markwon.app.samples.image;
import android.view.ViewTreeObserver; import android.view.ViewTreeObserver;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.DefaultDownScalingMediaDecoder; import io.noties.markwon.image.DefaultDownScalingMediaDecoder;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20210118165230", id = "20210118165230",
@ -16,7 +16,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "Downscale displayed images with `BitmapOptions` 2 step rendering " + description = "Downscale displayed images with `BitmapOptions` 2 step rendering " +
"(measure, downscale), use `DefaultDownScalingMediaDecoder`", "(measure, downscale), use `DefaultDownScalingMediaDecoder`",
artifacts = MarkwonArtifact.IMAGE, artifacts = MarkwonArtifact.IMAGE,
tags = Tags.image tags = Tag.image
) )
public class HugeImageSample extends MarkwonTextViewSample { public class HugeImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,17 +1,17 @@
package io.noties.markwon.app.samples.image; package io.noties.markwon.app.samples.image;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630144659", id = "20200630144659",
title = "Markdown image", title = "Markdown image",
artifacts = MarkwonArtifact.IMAGE, artifacts = MarkwonArtifact.IMAGE,
tags = Tags.image tags = Tag.image
) )
public class ImageSample extends MarkwonTextViewSample { public class ImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -4,7 +4,6 @@ import android.content.res.Resources
import io.noties.markwon.AbstractMarkwonPlugin import io.noties.markwon.AbstractMarkwonPlugin
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.MarkwonConfiguration import io.noties.markwon.MarkwonConfiguration
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.html.HtmlPlugin import io.noties.markwon.html.HtmlPlugin
import io.noties.markwon.image.ImageSize import io.noties.markwon.image.ImageSize
@ -12,6 +11,7 @@ import io.noties.markwon.image.ImageSizeResolverDef
import io.noties.markwon.image.ImagesPlugin import io.noties.markwon.image.ImagesPlugin
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20210201165512", id = "20210201165512",
@ -19,7 +19,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo
description = "Custom `ImageSizeResolver` that treats dimension values " + description = "Custom `ImageSizeResolver` that treats dimension values " +
"as density-based (like `dp`, `dip` in resources)", "as density-based (like `dp`, `dip` in resources)",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.image] tags = [Tag.image]
) )
class ImageSizeResolverSample : MarkwonTextViewSample() { class ImageSizeResolverSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -9,7 +9,6 @@ import java.util.Collections;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.ImageItem; import io.noties.markwon.image.ImageItem;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
@ -17,6 +16,7 @@ import io.noties.markwon.image.SchemeHandler;
import io.noties.markwon.image.network.NetworkSchemeHandler; import io.noties.markwon.image.network.NetworkSchemeHandler;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629124201", id = "20200629124201",
@ -25,7 +25,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
"(`https`, `ftp`, `whatever`, etc.) for images destination URLs " + "(`https`, `ftp`, `whatever`, etc.) for images destination URLs " +
"with `ImagesPlugin`", "with `ImagesPlugin`",
artifacts = {MarkwonArtifact.IMAGE}, artifacts = {MarkwonArtifact.IMAGE},
tags = {Tags.image} tags = {Tag.image}
) )
public class ImagesCustomSchemeSample extends MarkwonTextViewSample { public class ImagesCustomSchemeSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -8,7 +8,6 @@ import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.RenderProps; import io.noties.markwon.RenderProps;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.html.HtmlPlugin; import io.noties.markwon.html.HtmlPlugin;
import io.noties.markwon.image.AsyncDrawable; import io.noties.markwon.image.AsyncDrawable;
@ -18,13 +17,14 @@ import io.noties.markwon.image.ImageSize;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200803115847", id = "20200803115847",
title = "Native and HTML image", title = "Native and HTML image",
description = "Define images in both native markdown and HTML. Native markdown images take 100% of available width", description = "Define images in both native markdown and HTML. Native markdown images take 100% of available width",
artifacts = {MarkwonArtifact.IMAGE, MarkwonArtifact.HTML}, artifacts = {MarkwonArtifact.IMAGE, MarkwonArtifact.HTML},
tags = {Tags.rendering, Tags.image, Tags.html} tags = {Tag.rendering, Tag.image, Tag.html}
) )
public class NativeAndHtmlImageSample extends MarkwonTextViewSample { public class NativeAndHtmlImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -8,18 +8,18 @@ import androidx.core.content.ContextCompat;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.R; 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.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.AsyncDrawable; import io.noties.markwon.image.AsyncDrawable;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630165504", id = "20200630165504",
title = "Image with placeholder", title = "Image with placeholder",
artifacts = MarkwonArtifact.IMAGE, artifacts = MarkwonArtifact.IMAGE,
tags = Tags.image tags = Tag.image
) )
public class PlaceholderImageSample extends MarkwonTextViewSample { public class PlaceholderImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,18 +1,18 @@
package io.noties.markwon.app.samples.image; package io.noties.markwon.app.samples.image;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.image.svg.SvgPictureMediaDecoder; import io.noties.markwon.image.svg.SvgPictureMediaDecoder;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630161952", id = "20200630161952",
title = "SVG image", title = "SVG image",
artifacts = MarkwonArtifact.IMAGE, artifacts = MarkwonArtifact.IMAGE,
tags = {Tags.image, Tags.svg} tags = {Tag.image, Tag.svg}
) )
public class SvgImageSample extends MarkwonTextViewSample { public class SvgImageSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -13,19 +13,19 @@ import java.util.Set;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.CorePlugin; import io.noties.markwon.core.CorePlugin;
import io.noties.markwon.inlineparser.BackticksInlineProcessor; import io.noties.markwon.inlineparser.BackticksInlineProcessor;
import io.noties.markwon.inlineparser.MarkwonInlineParser; import io.noties.markwon.inlineparser.MarkwonInlineParser;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630170607", id = "20200630170607",
title = "Disable code inline parsing", title = "Disable code inline parsing",
artifacts = MarkwonArtifact.INLINE_PARSER, artifacts = MarkwonArtifact.INLINE_PARSER,
tags = {Tags.inline, Tags.parsing} tags = {Tag.inline, Tag.parsing}
) )
public class InlineParsingDisableCodeSample extends MarkwonTextViewSample { public class InlineParsingDisableCodeSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -7,19 +7,19 @@ import org.commonmark.parser.Parser;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.inlineparser.CloseBracketInlineProcessor; import io.noties.markwon.inlineparser.CloseBracketInlineProcessor;
import io.noties.markwon.inlineparser.MarkwonInlineParser; import io.noties.markwon.inlineparser.MarkwonInlineParser;
import io.noties.markwon.inlineparser.OpenBracketInlineProcessor; import io.noties.markwon.inlineparser.OpenBracketInlineProcessor;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630170412", id = "20200630170412",
title = "Links only inline parsing", title = "Links only inline parsing",
artifacts = MarkwonArtifact.INLINE_PARSER, artifacts = MarkwonArtifact.INLINE_PARSER,
tags = {Tags.parsing, Tags.inline} tags = {Tag.parsing, Tag.inline}
) )
public class InlineParsingLinksOnlySample extends MarkwonTextViewSample { public class InlineParsingLinksOnlySample extends MarkwonTextViewSample {
@Override @Override

View File

@ -4,20 +4,20 @@ import androidx.annotation.NonNull;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.inlineparser.BackticksInlineProcessor; import io.noties.markwon.inlineparser.BackticksInlineProcessor;
import io.noties.markwon.inlineparser.MarkwonInlineParser; import io.noties.markwon.inlineparser.MarkwonInlineParser;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630170823", id = "20200630170823",
title = "Inline parsing no defaults", title = "Inline parsing no defaults",
description = "Parsing only inline code and disable all the rest", description = "Parsing only inline code and disable all the rest",
artifacts = MarkwonArtifact.INLINE_PARSER, artifacts = MarkwonArtifact.INLINE_PARSER,
tags = {Tags.inline, Tags.parsing} tags = {Tag.inline, Tag.parsing}
) )
public class InlineParsingNoDefaultsSample extends MarkwonTextViewSample { public class InlineParsingNoDefaultsSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -10,19 +10,19 @@ import java.util.Set;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.core.CorePlugin; import io.noties.markwon.core.CorePlugin;
import io.noties.markwon.inlineparser.HtmlInlineProcessor; import io.noties.markwon.inlineparser.HtmlInlineProcessor;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630171239", id = "20200630171239",
title = "Inline parsing exclude HTML", title = "Inline parsing exclude HTML",
artifacts = MarkwonArtifact.INLINE_PARSER, artifacts = MarkwonArtifact.INLINE_PARSER,
tags = {Tags.parsing, Tags.inline, Tags.block} tags = {Tag.parsing, Tag.inline, Tag.block}
) )
public class InlineParsingNoHtmlSample extends MarkwonTextViewSample { public class InlineParsingNoHtmlSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -16,13 +16,13 @@ import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.inlineparser.InlineProcessor; import io.noties.markwon.inlineparser.InlineProcessor;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.inlineparser.OpenBracketInlineProcessor; import io.noties.markwon.inlineparser.OpenBracketInlineProcessor;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200819071751", id = "20200819071751",
@ -31,7 +31,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
"to parse own markdown syntax based on `[` character(s). This would disable native " + "to parse own markdown syntax based on `[` character(s). This would disable native " +
"markdown [links](#) but not images ![image-alt](#)", "markdown [links](#) but not images ![image-alt](#)",
artifacts = MarkwonArtifact.INLINE_PARSER, artifacts = MarkwonArtifact.INLINE_PARSER,
tags = {Tags.parsing} tags = {Tag.parsing}
) )
public class InlineParsingSquareBracketsSample extends MarkwonTextViewSample { public class InlineParsingSquareBracketsSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -24,19 +24,19 @@ import java.util.regex.Pattern;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonVisitor; import io.noties.markwon.MarkwonVisitor;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.image.ImagesPlugin; import io.noties.markwon.image.ImagesPlugin;
import io.noties.markwon.inlineparser.InlineProcessor; import io.noties.markwon.inlineparser.InlineProcessor;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630195409", id = "20200630195409",
title = "Tooltip with inline parser", title = "Tooltip with inline parser",
artifacts = MarkwonArtifact.INLINE_PARSER, artifacts = MarkwonArtifact.INLINE_PARSER,
tags = {Tags.parsing, Tags.rendering} tags = {Tag.parsing, Tag.rendering}
) )
public class InlineParsingTooltipSample extends MarkwonTextViewSample { public class InlineParsingTooltipSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -4,19 +4,19 @@ import androidx.annotation.NonNull;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.inlineparser.OpenBracketInlineProcessor; import io.noties.markwon.inlineparser.OpenBracketInlineProcessor;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630170723", id = "20200630170723",
title = "Inline parsing with defaults", title = "Inline parsing with defaults",
description = "Parsing with all defaults except links", description = "Parsing with all defaults except links",
artifacts = MarkwonArtifact.INLINE_PARSER, artifacts = MarkwonArtifact.INLINE_PARSER,
tags = {Tags.inline, Tags.parsing} tags = {Tag.inline, Tag.parsing}
) )
public class InlineParsingWithDefaultsSample extends MarkwonTextViewSample { public class InlineParsingWithDefaultsSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,19 +1,19 @@
package io.noties.markwon.app.samples.latex; package io.noties.markwon.app.samples.latex;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.app.samples.latex.shared.LatexHolder; import io.noties.markwon.app.samples.latex.shared.LatexHolder;
import io.noties.markwon.ext.latex.JLatexMathPlugin; import io.noties.markwon.ext.latex.JLatexMathPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200630200257", id = "20200630200257",
title = "LaTex block", title = "LaTex block",
description = "Render LaTeX block", description = "Render LaTeX block",
artifacts = MarkwonArtifact.EXT_LATEX, artifacts = MarkwonArtifact.EXT_LATEX,
tags = {Tags.rendering} tags = {Tag.rendering}
) )
public class LatexBlockSample extends MarkwonTextViewSample { public class LatexBlockSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,11 +1,11 @@
package io.noties.markwon.app.samples.latex; package io.noties.markwon.app.samples.latex;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.ext.latex.JLatexMathPlugin; import io.noties.markwon.ext.latex.JLatexMathPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200701094225", id = "20200701094225",
@ -13,7 +13,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
description = "LaTeX automatically uses `TextView` text color " + description = "LaTeX automatically uses `TextView` text color " +
"if not configured explicitly", "if not configured explicitly",
artifacts = MarkwonArtifact.EXT_LATEX, artifacts = MarkwonArtifact.EXT_LATEX,
tags = Tags.rendering tags = Tag.rendering
) )
public class LatexDarkSample extends MarkwonTextViewSample { public class LatexDarkSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -3,19 +3,19 @@ package io.noties.markwon.app.samples.latex;
import android.graphics.Color; import android.graphics.Color;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.app.samples.latex.shared.LatexHolder; import io.noties.markwon.app.samples.latex.shared.LatexHolder;
import io.noties.markwon.ext.latex.JLatexMathPlugin; import io.noties.markwon.ext.latex.JLatexMathPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200701120848", id = "20200701120848",
title = "LaTeX default text color", title = "LaTeX default text color",
description = "LaTeX will use text color of `TextView` by default", description = "LaTeX will use text color of `TextView` by default",
artifacts = MarkwonArtifact.EXT_LATEX, artifacts = MarkwonArtifact.EXT_LATEX,
tags = Tags.rendering tags = Tag.rendering
) )
public class LatexDefaultTextColorSample extends MarkwonTextViewSample { public class LatexDefaultTextColorSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,19 +1,19 @@
package io.noties.markwon.app.samples.latex; package io.noties.markwon.app.samples.latex;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.app.samples.latex.shared.LatexHolder; import io.noties.markwon.app.samples.latex.shared.LatexHolder;
import io.noties.markwon.ext.latex.JLatexMathPlugin; import io.noties.markwon.ext.latex.JLatexMathPlugin;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200701093504", id = "20200701093504",
title = "LaTeX inline/block different text size", title = "LaTeX inline/block different text size",
artifacts = {MarkwonArtifact.EXT_LATEX, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EXT_LATEX, MarkwonArtifact.INLINE_PARSER},
tags = {Tags.rendering} tags = {Tag.rendering}
) )
public class LatexDifferentTextSizesSample extends MarkwonTextViewSample { public class LatexDifferentTextSizesSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -9,19 +9,19 @@ import androidx.core.content.ContextCompat;
import io.noties.debug.Debug; import io.noties.debug.Debug;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.R; 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.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.ext.latex.JLatexMathPlugin; import io.noties.markwon.ext.latex.JLatexMathPlugin;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200701122624", id = "20200701122624",
title = "LaTeX error handling", title = "LaTeX error handling",
description = "Log error when parsing LaTeX and display error drawable", description = "Log error when parsing LaTeX and display error drawable",
artifacts = MarkwonArtifact.EXT_LATEX, artifacts = MarkwonArtifact.EXT_LATEX,
tags = Tags.rendering tags = Tag.rendering
) )
public class LatexErrorSample extends MarkwonTextViewSample { public class LatexErrorSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,20 +1,20 @@
package io.noties.markwon.app.samples.latex; package io.noties.markwon.app.samples.latex;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.app.samples.latex.shared.LatexHolder; import io.noties.markwon.app.samples.latex.shared.LatexHolder;
import io.noties.markwon.ext.latex.JLatexMathPlugin; import io.noties.markwon.ext.latex.JLatexMathPlugin;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200701085820", id = "20200701085820",
title = "LaTeX inline", title = "LaTeX inline",
description = "Display LaTeX inline", description = "Display LaTeX inline",
artifacts = {MarkwonArtifact.EXT_LATEX, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EXT_LATEX, MarkwonArtifact.INLINE_PARSER},
tags = Tags.rendering tags = Tag.rendering
) )
public class LatexInlineSample extends MarkwonTextViewSample { public class LatexInlineSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,19 +1,19 @@
package io.noties.markwon.app.samples.latex; package io.noties.markwon.app.samples.latex;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.app.samples.latex.shared.LatexHolder; import io.noties.markwon.app.samples.latex.shared.LatexHolder;
import io.noties.markwon.ext.latex.JLatexMathPlugin; import io.noties.markwon.ext.latex.JLatexMathPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200701090335", id = "20200701090335",
title = "LaTeX blocks in legacy mode", title = "LaTeX blocks in legacy mode",
description = "Sample using _legacy_ LaTeX block parsing (pre `4.3.0` Markwon version)", description = "Sample using _legacy_ LaTeX block parsing (pre `4.3.0` Markwon version)",
artifacts = MarkwonArtifact.EXT_LATEX, artifacts = MarkwonArtifact.EXT_LATEX,
tags = Tags.rendering tags = Tag.rendering
) )
public class LatexLegacySample extends MarkwonTextViewSample { public class LatexLegacySample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,19 +1,19 @@
package io.noties.markwon.app.samples.latex; package io.noties.markwon.app.samples.latex;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.ext.latex.JLatexMathPlugin; import io.noties.markwon.ext.latex.JLatexMathPlugin;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200701090618", id = "20200701090618",
title = "LaTeX omega symbol", title = "LaTeX omega symbol",
description = "Bug rendering omega symbol in LaTeX", description = "Bug rendering omega symbol in LaTeX",
artifacts = {MarkwonArtifact.EXT_LATEX, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EXT_LATEX, MarkwonArtifact.INLINE_PARSER},
tags = {Tags.rendering, Tags.knownBug} tags = {Tag.rendering, Tag.knownBug}
) )
public class LatexOmegaSample extends MarkwonTextViewSample { public class LatexOmegaSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -4,7 +4,6 @@ import android.graphics.Color;
import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.ColorDrawable;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.app.samples.latex.shared.LatexHolder; import io.noties.markwon.app.samples.latex.shared.LatexHolder;
import io.noties.markwon.ext.latex.JLatexMathPlugin; import io.noties.markwon.ext.latex.JLatexMathPlugin;
@ -12,13 +11,14 @@ import io.noties.markwon.ext.latex.JLatexMathTheme;
import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin; import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200701121528", id = "20200701121528",
title = "LaTeX theme", title = "LaTeX theme",
description = "Sample of theme customization for LaTeX", description = "Sample of theme customization for LaTeX",
artifacts = {MarkwonArtifact.EXT_LATEX, MarkwonArtifact.INLINE_PARSER}, artifacts = {MarkwonArtifact.EXT_LATEX, MarkwonArtifact.INLINE_PARSER},
tags = Tags.rendering tags = Tag.rendering
) )
public class LatexThemeSample extends MarkwonTextViewSample { public class LatexThemeSample extends MarkwonTextViewSample {
@Override @Override

View File

@ -1,18 +1,18 @@
package io.noties.markwon.app.samples.movementmethod package io.noties.markwon.app.samples.movementmethod
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.movement.MovementMethodPlugin import io.noties.markwon.movement.MovementMethodPlugin
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200629121803", id = "20200629121803",
title = "Disable implicit movement method via plugin", title = "Disable implicit movement method via plugin",
description = "Disable implicit movement method via `MovementMethodPlugin`", description = "Disable implicit movement method via `MovementMethodPlugin`",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.links, Tags.movementMethod, Tags.recyclerView] tags = [Tag.links, Tag.movementMethod, Tag.recyclerView]
) )
class DisableImplicitMovementMethodPluginSample : MarkwonTextViewSample() { class DisableImplicitMovementMethodPluginSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -3,11 +3,11 @@ package io.noties.markwon.app.samples.movementmethod
import io.noties.markwon.AbstractMarkwonPlugin import io.noties.markwon.AbstractMarkwonPlugin
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.MarkwonPlugin import io.noties.markwon.MarkwonPlugin
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.core.CorePlugin import io.noties.markwon.core.CorePlugin
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200627081256", id = "20200627081256",
@ -16,7 +16,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo
"which consumes touch events when used in a `RecyclerView` even when " + "which consumes touch events when used in a `RecyclerView` even when " +
"markdown does not contain links", "markdown does not contain links",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.plugin, Tags.movementMethod, Tags.links, Tags.recyclerView] tags = [Tag.plugin, Tag.movementMethod, Tag.links, Tag.recyclerView]
) )
class DisableImplicitMovementMethodSample : MarkwonTextViewSample() { class DisableImplicitMovementMethodSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -3,10 +3,10 @@ package io.noties.markwon.app.samples.movementmethod
import android.text.method.ScrollingMovementMethod import android.text.method.ScrollingMovementMethod
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.BuildConfig import io.noties.markwon.app.BuildConfig
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200627080007", id = "20200627080007",
@ -14,7 +14,7 @@ import io.noties.markwon.sample.annotations.MarkwonSampleInfo
description = "When a movement method already applied to a `TextView`" + description = "When a movement method already applied to a `TextView`" +
"`Markwon` won't try to apply own (implicit) one", "`Markwon` won't try to apply own (implicit) one",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.movementMethod, Tags.links] tags = [Tag.movementMethod, Tag.links]
) )
class ExplicitMovementMethodSample : MarkwonTextViewSample() { class ExplicitMovementMethodSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -2,17 +2,17 @@ package io.noties.markwon.app.samples.movementmethod
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.BuildConfig import io.noties.markwon.app.BuildConfig
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200627075524", id = "20200627075524",
title = "Implicit movement method", title = "Implicit movement method",
description = "By default movement method is applied for links to be clickable", description = "By default movement method is applied for links to be clickable",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.movementMethod, Tags.links, Tags.defaults] tags = [Tag.movementMethod, Tag.links, Tag.defaults]
) )
class ImplicitMovementMethodSample : MarkwonTextViewSample() { class ImplicitMovementMethodSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -1,18 +1,18 @@
package io.noties.markwon.app.samples.movementmethod package io.noties.markwon.app.samples.movementmethod
import io.noties.markwon.Markwon import io.noties.markwon.Markwon
import io.noties.markwon.app.sample.Tags
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample import io.noties.markwon.app.sample.ui.MarkwonTextViewSample
import io.noties.markwon.movement.MovementMethodPlugin import io.noties.markwon.movement.MovementMethodPlugin
import io.noties.markwon.sample.annotations.MarkwonArtifact import io.noties.markwon.sample.annotations.MarkwonArtifact
import io.noties.markwon.sample.annotations.MarkwonSampleInfo import io.noties.markwon.sample.annotations.MarkwonSampleInfo
import io.noties.markwon.sample.annotations.Tag
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200627081631", id = "20200627081631",
title = "MovementMethodPlugin", title = "MovementMethodPlugin",
description = "Plugin to control movement method", description = "Plugin to control movement method",
artifacts = [MarkwonArtifact.CORE], artifacts = [MarkwonArtifact.CORE],
tags = [Tags.movementMethod, Tags.links, Tags.plugin] tags = [Tag.movementMethod, Tag.links, Tag.plugin]
) )
class MovementMethodPluginSample : MarkwonTextViewSample() { class MovementMethodPluginSample : MarkwonTextViewSample() {
override fun render() { override fun render() {

View File

@ -21,19 +21,19 @@ import org.commonmark.node.StrongEmphasis;
import io.noties.markwon.AbstractMarkwonPlugin; import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.Markwon; import io.noties.markwon.Markwon;
import io.noties.markwon.MarkwonSpansFactory; import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.app.sample.Tags;
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample; import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
import io.noties.markwon.app.samples.notification.shared.NotificationUtils; import io.noties.markwon.app.samples.notification.shared.NotificationUtils;
import io.noties.markwon.ext.strikethrough.StrikethroughPlugin; import io.noties.markwon.ext.strikethrough.StrikethroughPlugin;
import io.noties.markwon.sample.annotations.MarkwonArtifact; import io.noties.markwon.sample.annotations.MarkwonArtifact;
import io.noties.markwon.sample.annotations.MarkwonSampleInfo; import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
import io.noties.markwon.sample.annotations.Tag;
@MarkwonSampleInfo( @MarkwonSampleInfo(
id = "20200701130729", id = "20200701130729",
title = "Markdown in Notification", title = "Markdown in Notification",
description = "Proof of concept of using `Markwon` with `android.app.Notification`", description = "Proof of concept of using `Markwon` with `android.app.Notification`",
artifacts = MarkwonArtifact.CORE, artifacts = MarkwonArtifact.CORE,
tags = Tags.hack tags = Tag.hack
) )
public class NotificationSample extends MarkwonTextViewSample { public class NotificationSample extends MarkwonTextViewSample {
@Override @Override

Some files were not shown because too many files have changed in this diff Show More