Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
2ea148c30a | ||
![]() |
205ae7b47a | ||
![]() |
c54f1154b6 |
@ -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"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -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"
|
|
||||||
}
|
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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() {
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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() {
|
||||||
|
@ -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() {
|
||||||
|
@ -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)
|
||||||
|
@ -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() {
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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")
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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() {
|
||||||
|
@ -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() {
|
||||||
|
@ -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
|
||||||
|
@ -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() {
|
||||||
|
@ -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() {
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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 {
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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() {
|
||||||
|
@ -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() {
|
||||||
|
@ -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() {
|
||||||
|
@ -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() {
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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() {
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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 ",
|
"markdown [links](#) but not images ",
|
||||||
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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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() {
|
||||||
|
@ -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() {
|
||||||
|
@ -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() {
|
||||||
|
@ -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() {
|
||||||
|
@ -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() {
|
||||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user