-[](http://search.maven.org/#search|ga|1|g%3A%22ru.noties.markwon%22%20)
-[](https://travis-ci.org/noties/Markwon)
+
**Markwon** is a markdown library for Android. It parses markdown following
with the help of amazing library
@@ -21,23 +20,22 @@ but also gives all the means to tweak the appearance if desired. All markdown fe
listed in are supported (including support for **inlined/block HTML code**,
**markdown tables**, **images** and **syntax highlight**).
-## Supported markdown features
+## Supported markdown features:
* Emphasis (`*`, `_`)
* Strong emphasis (`**`, `__`)
+* Strike-through (`~~`)
* Headers (`#{1,6}`)
* Links (`[]()` && `[][]`)
-* [Images](/docs/core/images.md)
+* [Images](/docs/image-loader.md)
* Thematic break (`---`, `***`, `___`)
* Quotes & nested quotes (`>{1,}`)
* Ordered & non-ordered lists & nested ones
* Inline code
* Code blocks
-* [Strike-through](/docs/ext-strikethrough/) (`~~`)
-* [Tables](/docs/ext-tables/) (*with limitations*)
-* [Syntax highlight](/docs/syntax-highlight/)
-* [LaTeX](/docs/ext-latex/) formulas
-* [HTML](/docs/html/)
+* Tables (*with limitations*)
+* [Syntax highlight](/docs/syntax-highlight.md)
+* [HTML](/docs/html.md)
* Emphasis (``, ``, ``, ``)
* Strong emphasis (``, ``)
* SuperScript (``)
@@ -50,8 +48,8 @@ listed in are supported (including support for *
* Blockquote (`blockquote`)
* Heading (`h1`, `h2`, `h3`, `h4`, `h5`, `h6`)
* there is support to render any HTML tag, but it will require to create a special `TagHandler`,
- more information can be found in [HTML section](/docs/html/custom-tag-handler.md)
-* [Task lists](/docs/ext-tasklist/):
+ more information can be found in [HTML section](/docs/html.md#custom-tag-handler)
+* Task lists:
- [ ] Not _done_
- [X] **Done** with `X`
- [x] ~~and~~ **or** small `x`
diff --git a/docs/docs/v2/configure.md b/docs/docs/configure.md
similarity index 94%
rename from docs/docs/v2/configure.md
rename to docs/docs/configure.md
index c8274988..1d09e5fc 100644
--- a/docs/docs/v2/configure.md
+++ b/docs/docs/configure.md
@@ -1,5 +1,3 @@
-
-
# Configuration
`SpannableConfiguration` is the core component that controls how markdown is parsed and rendered.
@@ -26,13 +24,13 @@ values as they will be applied automatically
If you plan on using images inside your markdown/HTML, you will have to **explicitly**
register an implementation of `AsyncDrawable.Loader` via `#asyncDrawableLoader` builder method.
`Markwon` comes with ready implementation for that and it can be found in
-`markwon-image-loader` module. Refer to module [documentation](/docs/v2/image-loader.md)
+`markwon-image-loader` module. Refer to module [documentation](/docs/image-loader.md)
:::
## Theme
`SpannableTheme` controls how markdown is rendered. It has pretty extensive number of
-options that can be found [here](/docs/v2/theme.md)
+options that can be found [here](/docs/theme.md)
```java
SpannableConfiguration.builder(context)
@@ -58,7 +56,7 @@ If `AsyncDrawable.Loader` is not provided explicitly, default **no-op** implemen
:::tip Implementation
There are no restrictions on what implementation to use, but `Markwon` has artifact that can
-answer the most common needs of displaying SVG, GIF and other image formats. It can be found [here](/docs/v2/image-loader.md)
+answer the most common needs of displaying SVG, GIF and other image formats. It can be found [here](/docs/image-loader.md)
:::
### Size resolver
@@ -109,7 +107,7 @@ If not provided explicitly, default **no-op** implementation will be used.
Although `SyntaxHighlight` interface was included with the very first version
of `Markwon` there were no ready-to-use implementations. But starting with
`Markwon` provides one. It can be found in `markwon-syntax-highlight` artifact. Refer
-to module [documentation](/docs/v2/syntax-highlight.md)
+to module [documentation](/docs/syntax-highlight.md)
:::
## Link resolver
@@ -168,7 +166,7 @@ SpannableConfiguration.builder(context)
```
If not provided explicitly, default `SpannableFactoryDef` implementation will be used. It is documented
-in [this section](/docs/v2/factory.md)
+in [this section](/docs/factory.md)
## Soft line break
@@ -199,7 +197,7 @@ SpannableConfiguration.builder(context)
if not provided explicitly, default `MarkwonHtmlParserImpl` will be used
**if** it can be found in classpath, otherwise default **no-op** implementation
-wiil be used. Refer to [HTML](/docs/v2/html.md#parser) document for more information about this behavior.
+wiil be used. Refer to [HTML](/docs/html.md#parser) document for more information about this behavior.
### Renderer
@@ -212,7 +210,7 @@ SpannableConfiguration.builder(context)
```
If not provided explicitly, default `MarkwonHtmlRenderer` implementation will be used.
-It is documented [here](/docs/v2/html.md#renderer)
+It is documented [here](/docs/html.md#renderer)
### HTML allow non-closed tags
diff --git a/docs/docs/v2/factory.md b/docs/docs/factory.md
similarity index 98%
rename from docs/docs/v2/factory.md
rename to docs/docs/factory.md
index 186dcf3c..edf4a018 100644
--- a/docs/docs/v2/factory.md
+++ b/docs/docs/factory.md
@@ -1,5 +1,3 @@
-
-
# Factory
`SpannableFactory` is used to create Span implementations.
diff --git a/docs/docs/v2/getting-started.md b/docs/docs/getting-started.md
similarity index 98%
rename from docs/docs/v2/getting-started.md
rename to docs/docs/getting-started.md
index cb622232..bed30085 100644
--- a/docs/docs/v2/getting-started.md
+++ b/docs/docs/getting-started.md
@@ -1,5 +1,3 @@
-
-
# Getting started
## Quick one
@@ -22,7 +20,7 @@ Toast.makeText(context, markdown, Toast.LENGTH_LONG).show();
## Longer one
-When you need to customize markdown parsing/rendering you can use [SpannableConfiguration](/docs/v2/configure.md):
+When you need to customize markdown parsing/rendering you can use [SpannableConfiguration](/docs/configure.md):
```java
final SpannableConfiguration configuration = SpannableConfiguration.builder(context)
diff --git a/docs/docs/v2/html.md b/docs/docs/html.md
similarity index 99%
rename from docs/docs/v2/html.md
rename to docs/docs/html.md
index bb5e8e59..6130db36 100644
--- a/docs/docs/v2/html.md
+++ b/docs/docs/html.md
@@ -1,5 +1,3 @@
-
-
# HTML
Starting with version `2.0.0` `Markwon` brings the whole HTML parsing/rendering
diff --git a/docs/docs/v2/image-loader.md b/docs/docs/image-loader.md
similarity index 98%
rename from docs/docs/v2/image-loader.md
rename to docs/docs/image-loader.md
index c64bbe36..ca79337e 100644
--- a/docs/docs/v2/image-loader.md
+++ b/docs/docs/image-loader.md
@@ -1,5 +1,3 @@
-
-
# Images
By default `Markwon` doesn't handle images. Although `AsyncDrawable.Loader` is
@@ -23,7 +21,7 @@ public interface Loader {
`AsyncDrawableLoader` from `markwon-image-loader` artifact can be used.
:::tip Install
-[Learn how to add](/docs/v2/README.md#image-loader) `markwon-image-loader` to your project
+[Learn how to add](/docs/install.md#image-loader) `markwon-image-loader` to your project
:::
Default instance of `AsyncDrawableLoader` can be obtain like this:
diff --git a/docs/docs/install.md b/docs/docs/install.md
index d1bf8593..3b4c735c 100644
--- a/docs/docs/install.md
+++ b/docs/docs/install.md
@@ -1,73 +1,89 @@
---
prev: false
-next: /docs/core/getting-started.md
+next: /docs/getting-started.md
---
# Installation
-
-
+
-
-
-# Bundle
-If you wish to include all Markwon artifacts or add specific artifacts
-in a different manner than explicit gradle dependency definition, you can
-use `markwon-bundle.gradle` gradle script:
-
-*(in your `build.gradle`)*
-```groovy
-apply plugin: 'com.android.application'
-apply from: 'https://raw.githubusercontent.com/noties/Markwon/master/markwon-bundle.gradle'
-
-android { /* */ }
-
-ext.markwon = [
- 'version': '3.0.0',
- 'includeAll': true
-]
-
-dependencies { /* */ }
-```
-
-`markwon` object can have these properties:
-* `version` - (required) version of `Markwon`
-* `includeAll` - if _true_ will add all known Markwon artifacts. Can be used with `exclude`
-* * `exclude` - an array of artifacts to _exclude_ (cannot exclude `core`)
-* `artifacts` - an array of artifacts (can omit `core`, as it will be added implicitly anyway)
-
-If `includeAll` property is present and is `true`, then `artifacts` property won't be used.
-If there is no `includeAll` property or if it is `false`, `exclude` property won't be used.
-
-These 2 markwon objects are equal:
+In order to start using `Markwon` add this to your dependencies block
+in your projects `build.gradle`:
```groovy
-// #1
-ext.markwon = [
- 'version': '3.0.0',
- 'artifacts': [
- 'ext-latex',
- 'ext-strikethrough',
- 'ext-tables',
- 'ext-tasklist',
- 'html',
- 'image-gif',
- 'image-okhttp',
- 'image-svg',
- 'recycler',
- 'syntax-highlight'
- ]
-]
-
-// #2
-ext.markwon = [
- 'version': '3.0.0',
- 'includeAll': true
-]
+implementation "ru.noties:markwon:${markwonVersion}"
```
+This is core artifact that is sufficient to start displaying markdown in your Android applications.
+
+`Markwon` comes with more artifacts that cover additional functionality, but they are
+**not** required to be used, as most of them provide implementations for functionality
+that is _interfaced_ in the core artifact
+
+```groovy
+implementation "ru.noties:markwon-image-loader:${markwonVersion}"
+implementation "ru.noties:markwon-syntax-highlight:${markwonVersion}"
+implementation "ru.noties:markwon-view:${markwonVersion}"
+```
+
+These artifacts share the same _version_ as the core artifact
+
+### Image loader
+
+```groovy
+implementation "ru.noties:markwon-image-loader:${markwonVersion}"
+```
+
+Provides implementation of `AsyncDrawable.Loader` and comes with support for:
+* SVG
+* GIF
+* Other image formats
+
+Please refer to documentation for [image loader](/docs/image-loader.md) module
+
+### Syntax highlight
+
+```groovy
+implementation "ru.noties:markwon-syntax-highlight:${markwonVersion}"
+```
+
+Provides implementation of `SyntaxHighlight` and allows various syntax highlighting
+in your markdown based Android applications. Comes with 2 ready-to-be-used themes: `light` and `dark`.
+Please refer to documentation for [syntax highlight](/docs/syntax-highlight.md) module
+
+### View
+
+```groovy
+implementation "ru.noties:markwon-view:${markwonVersion}"
+```
+
+Provides 2 widgets to display markdown: `MarkwonView` and `MarkwonViewCompat` (subclasses
+of `TextView` and `AppCompatTextView` respectively).
+Please refer to documentation for [view](/docs/view.md) module
+
+## Proguard
+
+When using `markwon-image-loader` artifact and Proguard is enabled, add these rules
+to your proguard configuration:
+
+```proguard
+-dontwarn okhttp3.**
+-dontwarn okio.**
+
+-keep class com.caverock.androidsvg.** { *; }
+-dontwarn com.caverock.androidsvg.**
+```
+
+They come from dependencies that `markwon-image-loader` is using.
+
+:::tip Other artifacts
+Other artifacts do not require special Proguard rules
+:::
+
## Snapshot
+
+
In order to use latest `SNAPSHOT` version add snapshot repository
to your root project's `build.gradle` file:
@@ -76,13 +92,18 @@ allprojects {
repositories {
jcenter()
google()
- maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } // <- this one
+ maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
}
}
```
-:::tip Info
-All official artifacts share the same version number and all
-are uploaded to **release** and **snapshot** repositories
-:::
+and then in your module `build.gradle`:
+
+```groovy
+implementation "ru.noties:markwon:${markwonSnapshotVersion}"
+```
+
+Please note that `markwon-image-loader`, `markwon-syntax-highlight`
+and `markwon-view` are also present in `SNAPSHOT` repository and
+share the same version as main `markwon` artifact.
diff --git a/docs/docs/v2/syntax-highlight.md b/docs/docs/syntax-highlight.md
similarity index 98%
rename from docs/docs/v2/syntax-highlight.md
rename to docs/docs/syntax-highlight.md
index 4aa1795e..854b82b0 100644
--- a/docs/docs/v2/syntax-highlight.md
+++ b/docs/docs/syntax-highlight.md
@@ -1,5 +1,3 @@
-
-
# Syntax highlight
diff --git a/docs/docs/v2/theme.md b/docs/docs/theme.md
similarity index 98%
rename from docs/docs/v2/theme.md
rename to docs/docs/theme.md
index b0cdbe8a..4612a63d 100644
--- a/docs/docs/v2/theme.md
+++ b/docs/docs/theme.md
@@ -1,9 +1,7 @@
-
-
# Theme
Here is the list of properties that can be configured via `SpannableTheme`. If you wish to control what
-is out of this list, you can use [SpannableFactory](/docs/v2/factory.md)
+is out of this list, you can use [SpannableFactory](/docs/factory.md)
abstraction which lets you to gather full control of Spans that are used to display markdown.
* `SpannableTheme#create(Context)` - creates a **default** instance of `SpannableBuilder (with _defaults_ registered)
diff --git a/docs/docs/v2/README.md b/docs/docs/v2/README.md
deleted file mode 100644
index eab25066..00000000
--- a/docs/docs/v2/README.md
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-# Installation
-
-
-
-In order to start using `Markwon` add this to your dependencies block
-in your projects `build.gradle`:
-
-```groovy
-implementation "ru.noties:markwon:${markwonVersion}"
-```
-
-This is core artifact that is sufficient to start displaying markdown in your Android applications.
-
-`Markwon` comes with more artifacts that cover additional functionality, but they are
-**not** required to be used, as most of them provide implementations for functionality
-that is _interfaced_ in the core artifact
-
-```groovy
-implementation "ru.noties:markwon-image-loader:${markwonVersion}"
-implementation "ru.noties:markwon-syntax-highlight:${markwonVersion}"
-implementation "ru.noties:markwon-view:${markwonVersion}"
-```
-
-These artifacts share the same _version_ as the core artifact
-
-### Image loader
-
-```groovy
-implementation "ru.noties:markwon-image-loader:${markwonVersion}"
-```
-
-Provides implementation of `AsyncDrawable.Loader` and comes with support for:
-* SVG
-* GIF
-* Other image formats
-
-Please refer to documentation for [image loader](/docs/v2/image-loader.md) module
-
-### Syntax highlight
-
-```groovy
-implementation "ru.noties:markwon-syntax-highlight:${markwonVersion}"
-```
-
-Provides implementation of `SyntaxHighlight` and allows various syntax highlighting
-in your markdown based Android applications. Comes with 2 ready-to-be-used themes: `light` and `dark`.
-Please refer to documentation for [syntax highlight](/docs/v2/syntax-highlight.md) module
-
-### View
-
-```groovy
-implementation "ru.noties:markwon-view:${markwonVersion}"
-```
-
-Provides 2 widgets to display markdown: `MarkwonView` and `MarkwonViewCompat` (subclasses
-of `TextView` and `AppCompatTextView` respectively).
-Please refer to documentation for [view](/docs/v2/view.md) module
-
-## Proguard
-
-When using `markwon-image-loader` artifact and Proguard is enabled, add these rules
-to your proguard configuration:
-
-```proguard
--dontwarn okhttp3.**
--dontwarn okio.**
-
--keep class com.caverock.androidsvg.** { *; }
--dontwarn com.caverock.androidsvg.**
-```
-
-They come from dependencies that `markwon-image-loader` is using.
-
-:::tip Other artifacts
-Other artifacts do not require special Proguard rules
-:::
-
diff --git a/docs/docs/v3/README.md b/docs/docs/v3/README.md
new file mode 100644
index 00000000..a406b6e1
--- /dev/null
+++ b/docs/docs/v3/README.md
@@ -0,0 +1,72 @@
+---
+title: 'Introduction'
+---
+
+
+
+
+[](http://search.maven.org/#search|ga|1|g%3A%22ru.noties.markwon%22%20)
+[](https://travis-ci.org/noties/Markwon)
+
+**Markwon** is a markdown library for Android. It parses markdown following
+ with the help of amazing library
+and renders result as _Android-native_ Spannables. **No HTML** is involved
+as an intermediate step. **No WebView** is required. It's extremely fast,
+feature-rich and extensible.
+
+It gives ability to display markdown in all TextView widgets (**TextView**,
+**Button**, **Switch**, **CheckBox**, etc), **Toasts** and all other places that accept
+**Spanned content**. Library provides reasonable defaults to display style of a markdown content
+but also gives all the means to tweak the appearance if desired. All markdown features
+listed in are supported (including support for **inlined/block HTML code**,
+**markdown tables**, **images** and **syntax highlight**).
+
+## Supported markdown features
+
+* Emphasis (`*`, `_`)
+* Strong emphasis (`**`, `__`)
+* Headers (`#{1,6}`)
+* Links (`[]()` && `[][]`)
+* [Images](/docs/v3/core/images.md)
+* Thematic break (`---`, `***`, `___`)
+* Quotes & nested quotes (`>{1,}`)
+* Ordered & non-ordered lists & nested ones
+* Inline code
+* Code blocks
+* [Strike-through](/docs/v3/ext-strikethrough/) (`~~`)
+* [Tables](/docs/v3/ext-tables/) (*with limitations*)
+* [Syntax highlight](/docs/v3/syntax-highlight/)
+* [LaTeX](/docs/v3/ext-latex/) formulas
+* [HTML](/docs/v3/html/)
+ * Emphasis (``, ``, ``, ``)
+ * Strong emphasis (``, ``)
+ * SuperScript (``)
+ * SubScript (``)
+ * Underline (``, `ins`)
+ * Strike-through (``, ``, ``)
+ * Link (`a`)
+ * Lists (`ul`, `ol`)
+ * Images (`img` will require configured image loader)
+ * Blockquote (`blockquote`)
+ * Heading (`h1`, `h2`, `h3`, `h4`, `h5`, `h6`)
+ * there is support to render any HTML tag, but it will require to create a special `TagHandler`,
+ more information can be found in [HTML section](/docs/v3/html/custom-tag-handler.md)
+* [Task lists](/docs/v3/ext-tasklist/):
+- [ ] Not _done_
+ - [X] **Done** with `X`
+ - [x] ~~and~~ **or** small `x`
+
+## Screenshots
+
+
+
+
+
+
+By default configuration uses TextView textColor for styling, so changing textColor changes style
+
+:::tip Sample application
+Screenshots are taken from sample application. It is a generic markdown viewer
+with support to display markdown content via `http`, `https` & `file` schemes
+and 2 themes included: Light & Dark. It can be downloaded from [releases](https://github.com/noties/Markwon/releases)
+:::
diff --git a/docs/docs/core/configuration.md b/docs/docs/v3/core/configuration.md
similarity index 100%
rename from docs/docs/core/configuration.md
rename to docs/docs/v3/core/configuration.md
diff --git a/docs/docs/core/core-plugin.md b/docs/docs/v3/core/core-plugin.md
similarity index 97%
rename from docs/docs/core/core-plugin.md
rename to docs/docs/v3/core/core-plugin.md
index 13802825..e6da8eab 100644
--- a/docs/docs/core/core-plugin.md
+++ b/docs/docs/v3/core/core-plugin.md
@@ -98,6 +98,6 @@ final Markwon markwon = Markwon.builder(this)
:::warning
Please note that `CorePlugin` will implicitly set a `LinkMovementMethod` on a TextView
if one is not present. If you wish to customize a MovementMethod that is used, apply
-one manually to a TextView (before applying markdown) or use the [MovementMethodPlugin](/docs/core/movement-method-plugin.md)
+one manually to a TextView (before applying markdown) or use the [MovementMethodPlugin](/docs/v3/core/movement-method-plugin.md)
which accepts a MovementMethod as an argument.
:::
\ No newline at end of file
diff --git a/docs/docs/core/getting-started.md b/docs/docs/v3/core/getting-started.md
similarity index 89%
rename from docs/docs/core/getting-started.md
rename to docs/docs/v3/core/getting-started.md
index 26bc5137..652cfb7c 100644
--- a/docs/docs/core/getting-started.md
+++ b/docs/docs/v3/core/getting-started.md
@@ -1,7 +1,7 @@
# Getting started
:::tip Installation
-Please follow [installation](/docs/install.md) instructions
+Please follow [installation](/docs/v3/install.md) instructions
to learn how to add `Markwon` to your project
:::
@@ -33,7 +33,7 @@ Toast.makeText(context, markdown, Toast.LENGTH_LONG).show();
:::warning 3.x.x migration
Starting with version Markwon no longer relies on static
utility methods. To learn more about migrating existing applications
-refer to [migration](/docs/migration-2-3.md) section.
+refer to [migration](/docs/v3/migration-2-3.md) section.
:::
## Longer one
@@ -62,4 +62,4 @@ Toast.makeText(context, markdown, Toast.LENGTH_LONG).show();
This section is kept due to historical reasons. Starting with version
the amount of magic is reduced. To leverage your `Markwon` usage a concept of `Plugin`
is introduced which helps to extend default behavior in a simple and _no-breaking-the-flow_ manner.
-Head to the [next section](/docs/core/plugins.md) to know more.
+Head to the [next section](/docs/v3/core/plugins.md) to know more.
diff --git a/docs/docs/core/html-renderer.md b/docs/docs/v3/core/html-renderer.md
similarity index 100%
rename from docs/docs/core/html-renderer.md
rename to docs/docs/v3/core/html-renderer.md
diff --git a/docs/docs/core/images.md b/docs/docs/v3/core/images.md
similarity index 95%
rename from docs/docs/core/images.md
rename to docs/docs/v3/core/images.md
index 4450f6ad..b2f93c05 100644
--- a/docs/docs/core/images.md
+++ b/docs/docs/v3/core/images.md
@@ -2,7 +2,7 @@
Starting with `Markwon` comes with `ImagesPlugin`
which supports `http(s)`, `file` and `data` schemes and default media
-decoder (for simple images, no [SVG](/docs/image/svg.md) or [GIF](/docs/image/gif.md) which
+decoder (for simple images, no [SVG](/docs/v3/image/svg.md) or [GIF](/docs/v3/image/gif.md) which
are defined in standalone modules).
## ImagesPlugin
@@ -114,7 +114,7 @@ be used.
## MediaDecoder
:::tip
-If you are using [html](/docs/html/) you do not have to additionally setup
+If you are using [html](/docs/v3/html/) you do not have to additionally setup
images displayed via `` tag, as `HtmlPlugin` automatically uses configured
image loader. But images referenced in HTML come with additional support for
sizes, which is not supported natively by markdown, allowing absolute or relative sizes:
diff --git a/docs/docs/core/movement-method-plugin.md b/docs/docs/v3/core/movement-method-plugin.md
similarity index 100%
rename from docs/docs/core/movement-method-plugin.md
rename to docs/docs/v3/core/movement-method-plugin.md
diff --git a/docs/docs/core/plugins.md b/docs/docs/v3/core/plugins.md
similarity index 98%
rename from docs/docs/core/plugins.md
rename to docs/docs/v3/core/plugins.md
index e054d108..32e4c51b 100644
--- a/docs/docs/core/plugins.md
+++ b/docs/docs/v3/core/plugins.md
@@ -87,7 +87,7 @@ added CorePlugin _explicitly_ as `AbstractMarkwonPlugin` declares a dependency o
If it's not desireable override `AbstractMarkwonPlugin#priority` method to specify own rules.
:::
-More information about `MarkwonTheme` can be found [here](/docs/core/theme.md).
+More information about `MarkwonTheme` can be found [here](/docs/v3/core/theme.md).
## Images
@@ -126,7 +126,7 @@ Markwon.builder(context)
Without explicit usage of `ImagesPlugin` all image configuration will be ignored (no-op'ed)
:::
-More information about dealing with images can be found [here](/docs/core/images.md)
+More information about dealing with images can be found [here](/docs/v3/core/images.md)
## Configuration
@@ -152,7 +152,7 @@ final Markwon markwon = Markwon.builder(context)
.build();
```
-More information about `MarkwonConfiguration` can be found [here](/docs/core/configuration.md)
+More information about `MarkwonConfiguration` can be found [here](/docs/v3/core/configuration.md)
## Visitor
@@ -196,7 +196,7 @@ Please note that `Priority` plays nicely here to ensure that your
custom Node override/disable happens _after_ some plugin defines it.
:::
-More information about `MarkwonVisitor` can be found [here](/docs/core/visitor.md)
+More information about `MarkwonVisitor` can be found [here](/docs/v3/core/visitor.md)
## Spans Factory
@@ -237,7 +237,7 @@ public Object getSpans(@NonNull MarkwonConfiguration configuration, @NonNull Ren
```
:::
-More information about spans factory can be found [here](/docs/core/spans-factory.md)
+More information about spans factory can be found [here](/docs/v3/core/spans-factory.md)
## HTML Renderer
@@ -276,7 +276,7 @@ project **explicitly** and then registered via `Markwon.Builder#usePlugin(HtmlPl
If not done so, no HTML will be parsed nor rendered.
:::
-More information about HTML rendering can be found [here](/docs/core/html-renderer.md)
+More information about HTML rendering can be found [here](/docs/v3/core/html-renderer.md)
## Priority
diff --git a/docs/docs/core/spans-factory.md b/docs/docs/v3/core/spans-factory.md
similarity index 100%
rename from docs/docs/core/spans-factory.md
rename to docs/docs/v3/core/spans-factory.md
diff --git a/docs/docs/core/theme.md b/docs/docs/v3/core/theme.md
similarity index 100%
rename from docs/docs/core/theme.md
rename to docs/docs/v3/core/theme.md
diff --git a/docs/docs/core/visitor.md b/docs/docs/v3/core/visitor.md
similarity index 100%
rename from docs/docs/core/visitor.md
rename to docs/docs/v3/core/visitor.md
diff --git a/docs/docs/ext-latex/README.md b/docs/docs/v3/ext-latex/README.md
similarity index 100%
rename from docs/docs/ext-latex/README.md
rename to docs/docs/v3/ext-latex/README.md
diff --git a/docs/docs/ext-strikethrough/README.md b/docs/docs/v3/ext-strikethrough/README.md
similarity index 100%
rename from docs/docs/ext-strikethrough/README.md
rename to docs/docs/v3/ext-strikethrough/README.md
diff --git a/docs/docs/ext-tables/README.md b/docs/docs/v3/ext-tables/README.md
similarity index 100%
rename from docs/docs/ext-tables/README.md
rename to docs/docs/v3/ext-tables/README.md
diff --git a/docs/docs/ext-tasklist/README.md b/docs/docs/v3/ext-tasklist/README.md
similarity index 100%
rename from docs/docs/ext-tasklist/README.md
rename to docs/docs/v3/ext-tasklist/README.md
diff --git a/docs/docs/html/README.md b/docs/docs/v3/html/README.md
similarity index 100%
rename from docs/docs/html/README.md
rename to docs/docs/v3/html/README.md
diff --git a/docs/docs/html/custom-tag-handler.md b/docs/docs/v3/html/custom-tag-handler.md
similarity index 100%
rename from docs/docs/html/custom-tag-handler.md
rename to docs/docs/v3/html/custom-tag-handler.md
diff --git a/docs/docs/image/gif.md b/docs/docs/v3/image/gif.md
similarity index 100%
rename from docs/docs/image/gif.md
rename to docs/docs/v3/image/gif.md
diff --git a/docs/docs/image/okhttp.md b/docs/docs/v3/image/okhttp.md
similarity index 100%
rename from docs/docs/image/okhttp.md
rename to docs/docs/v3/image/okhttp.md
diff --git a/docs/docs/image/svg.md b/docs/docs/v3/image/svg.md
similarity index 100%
rename from docs/docs/image/svg.md
rename to docs/docs/v3/image/svg.md
diff --git a/docs/docs/v3/install.md b/docs/docs/v3/install.md
new file mode 100644
index 00000000..93b6de88
--- /dev/null
+++ b/docs/docs/v3/install.md
@@ -0,0 +1,90 @@
+---
+prev: false
+next: /docs/v3/core/getting-started.md
+---
+
+# Installation
+
+
+
+
+
+
+# Bundle
+If you wish to include all Markwon artifacts or add specific artifacts
+in a different manner than explicit gradle dependency definition, you can
+use `markwon-bundle.gradle` gradle script:
+
+*(in your `build.gradle`)*
+```groovy
+apply plugin: 'com.android.application'
+apply from: 'https://raw.githubusercontent.com/noties/Markwon/master/markwon-bundle.gradle'
+
+android { /* */ }
+
+ext.markwon = [
+ 'version': '3.0.0',
+ 'includeAll': true
+]
+
+dependencies { /* */ }
+```
+
+`markwon` object can have these properties:
+* `version` - (required) version of `Markwon`
+* `includeAll` - if _true_ will add all known Markwon artifacts. Can be used with `exclude`
+* * `exclude` - an array of artifacts to _exclude_ (cannot exclude `core`)
+* `artifacts` - an array of artifacts (can omit `core`, as it will be added implicitly anyway)
+
+If `includeAll` property is present and is `true`, then `artifacts` property won't be used.
+If there is no `includeAll` property or if it is `false`, `exclude` property won't be used.
+
+These 2 markwon objects are equal:
+
+```groovy
+// #1
+ext.markwon = [
+ 'version': '3.0.0',
+ 'artifacts': [
+ 'ext-latex',
+ 'ext-strikethrough',
+ 'ext-tables',
+ 'ext-tasklist',
+ 'html',
+ 'image-gif',
+ 'image-okhttp',
+ 'image-svg',
+ 'recycler',
+ 'syntax-highlight'
+ ]
+]
+
+// #2
+ext.markwon = [
+ 'version': '3.0.0',
+ 'includeAll': true
+]
+```
+
+## Snapshot
+
+In order to use latest `SNAPSHOT` version add snapshot repository
+to your root project's `build.gradle` file:
+
+```groovy
+allprojects {
+ repositories {
+ jcenter()
+ google()
+ // this one 👇
+ maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } // 👈 this one
+ // this one 👆
+ }
+}
+```
+
+:::tip Info
+All official artifacts share the same version number and all
+are uploaded to **release** and **snapshot** repositories
+:::
+
diff --git a/docs/docs/migration-2-3.md b/docs/docs/v3/migration-2-3.md
similarity index 74%
rename from docs/docs/migration-2-3.md
rename to docs/docs/v3/migration-2-3.md
index 8ca12b36..fbaacba7 100644
--- a/docs/docs/migration-2-3.md
+++ b/docs/docs/v3/migration-2-3.md
@@ -5,4 +5,6 @@
* core functionality of `AsyncDrawableLoader` moved to `core` module
* * Handling of GIF and SVG media moved to standalone modules (`gif` and `svg` respectively)
* * OkHttpClient to download images moved to standalone module
-* HTML no longer _implicitly_ added to core functionality, it must be specified __explicitly__ (as an artifact)
\ No newline at end of file
+* HTML no longer _implicitly_ added to core functionality, it must be specified __explicitly__ (as an artifact)
+* removed `markwon-view` module
+* changed Maven artifacts group to `ru.noties.markwon`
\ No newline at end of file
diff --git a/docs/docs/recycler/README.md b/docs/docs/v3/recycler/README.md
similarity index 100%
rename from docs/docs/recycler/README.md
rename to docs/docs/v3/recycler/README.md
diff --git a/docs/docs/syntax-highlight/README.md b/docs/docs/v3/syntax-highlight/README.md
similarity index 100%
rename from docs/docs/syntax-highlight/README.md
rename to docs/docs/v3/syntax-highlight/README.md
diff --git a/docs/docs/v2/view.md b/docs/docs/view.md
similarity index 98%
rename from docs/docs/v2/view.md
rename to docs/docs/view.md
index c365fd42..bd610344 100644
--- a/docs/docs/v2/view.md
+++ b/docs/docs/view.md
@@ -1,5 +1,3 @@
-
-
# MarkwonView
diff --git a/docs/donate.md b/docs/donate.md
deleted file mode 100644
index 12b79839..00000000
--- a/docs/donate.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Donations
-
-If you find this library useful consider making a donation
-to your local [environmental](https://en.wikipedia.org/wiki/List_of_environmental_organizations)
-or [human rights](https://en.wikipedia.org/wiki/List_of_human_rights_organisations) organization.
-
-Thank you
\ No newline at end of file