From 18b1d5b0bbac4b1cfb6258c2c0190d7fab67ff79 Mon Sep 17 00:00:00 2001 From: Dimitry Ivanov Date: Wed, 26 Jun 2019 13:49:35 +0300 Subject: [PATCH] Update recipes documentation page --- docs/docs/v4/recipes.md | 43 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/docs/docs/v4/recipes.md b/docs/docs/v4/recipes.md index c9aad1cb..70a1aab6 100644 --- a/docs/docs/v4/recipes.md +++ b/docs/docs/v4/recipes.md @@ -18,6 +18,49 @@ Do not use `autolink` XML attribute on your `TextView` as it will remove all lin Consider using [linkify plugin](/docs/v4/linkify/) or commonmark-java [autolink extension](https://github.com/atlassian/commonmark-java) +## List item spacing + +If your list items, task list items or paragraphs need special space between them +(increasing spacing between them, but keeping the original line height), +`LastLineSpacingSpan` can be used: + +```java +final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureSpansFactory(@NonNull MarkwonSpansFactory.Builder builder) { + // or Paragraph, or TaskListItem + builder.addFactory(ListItem.class, new SpanFactory() { + @Override + public Object getSpans(@NonNull MarkwonConfiguration configuration, @NonNull RenderProps props) { + return new LastLineSpacingSpan(spacingPx); + } + }); + } + }) + .build(); +``` + +## Softbreak new-line + +If you want to add a new line when a `softbreak` is used: + +```java +final Markwon markwon = Markwon.builder(context) + .usePlugin(new AbstractMarkwonPlugin() { + @Override + public void configureVisitor(@NonNull MarkwonVisitor.Builder builder) { + builder.on(SoftLineBreak.class, new MarkwonVisitor.NodeVisitor() { + @Override + public void visit(@NonNull MarkwonVisitor visitor, @NonNull SoftLineBreak softLineBreak) { + visitor.forceNewLine(); + } + }); + } + }) + .build(); +``` + ## Custom typeface