Publish upcoming beta documentation
This commit is contained in:
parent
96ca96fa70
commit
a3ee7549a7
@ -4,7 +4,7 @@ buildscript {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
||||
classpath 'com.android.tools.build:gradle:3.3.1'
|
||||
classpath 'com.github.ben-manes:gradle-versions-plugin:0.20.0'
|
||||
}
|
||||
}
|
||||
|
@ -17,62 +17,61 @@ module.exports = {
|
||||
{
|
||||
text: 'API Version',
|
||||
items: [
|
||||
{ text: 'Current (3.x.x)', link: '/' },
|
||||
{ text: 'Legacy (2.x.x)', link: '/docs/v2/' }
|
||||
{ text: 'Current (2.x.x)', link: '/' },
|
||||
{ text: 'BETA (3.x.x)', link: '/docs/v3/' }
|
||||
]
|
||||
},
|
||||
{ text: 'Sandbox', link: '/sandbox.md' },
|
||||
{ text: 'Donate', link: '/donate.md' },
|
||||
{ text: 'Github', link: 'https://github.com/noties/Markwon' }
|
||||
],
|
||||
sidebar: {
|
||||
'/docs/v2/': [
|
||||
'',
|
||||
'getting-started.md',
|
||||
'configure.md',
|
||||
'theme.md',
|
||||
'factory.md',
|
||||
'image-loader.md',
|
||||
'syntax-highlight.md',
|
||||
'html.md',
|
||||
'view.md'
|
||||
],
|
||||
'/': [
|
||||
'/docs/v3/': [
|
||||
'',
|
||||
{
|
||||
title: 'Core',
|
||||
collapsable: false,
|
||||
children: [
|
||||
'/docs/core/getting-started.md',
|
||||
'/docs/core/plugins.md',
|
||||
'/docs/core/theme.md',
|
||||
'/docs/core/images.md',
|
||||
'/docs/core/configuration.md',
|
||||
'/docs/core/visitor.md',
|
||||
'/docs/core/spans-factory.md',
|
||||
'/docs/core/html-renderer.md',
|
||||
'/docs/core/core-plugin.md',
|
||||
'/docs/core/movement-method-plugin.md'
|
||||
'/docs/v3/core/getting-started.md',
|
||||
'/docs/v3/core/plugins.md',
|
||||
'/docs/v3/core/theme.md',
|
||||
'/docs/v3/core/images.md',
|
||||
'/docs/v3/core/configuration.md',
|
||||
'/docs/v3/core/visitor.md',
|
||||
'/docs/v3/core/spans-factory.md',
|
||||
'/docs/v3/core/html-renderer.md',
|
||||
'/docs/v3/core/core-plugin.md',
|
||||
'/docs/v3/core/movement-method-plugin.md'
|
||||
]
|
||||
},
|
||||
'/docs/ext-latex/',
|
||||
'/docs/ext-strikethrough/',
|
||||
'/docs/ext-tables/',
|
||||
'/docs/ext-tasklist/',
|
||||
'/docs/v3/ext-latex/',
|
||||
'/docs/v3/ext-strikethrough/',
|
||||
'/docs/v3/ext-tables/',
|
||||
'/docs/v3/ext-tasklist/',
|
||||
{
|
||||
title: 'HTML',
|
||||
collapsable: false,
|
||||
children: [
|
||||
'/docs/html/',
|
||||
'/docs/html/custom-tag-handler.md'
|
||||
'/docs/v3/html/',
|
||||
'/docs/v3/html/custom-tag-handler.md'
|
||||
]
|
||||
},
|
||||
'/docs/image/gif.md',
|
||||
'/docs/image/okhttp.md',
|
||||
'/docs/image/svg.md',
|
||||
'/docs/recycler/',
|
||||
'/docs/syntax-highlight/',
|
||||
'/docs/migration-2-3.md'
|
||||
'/docs/v3/image/gif.md',
|
||||
'/docs/v3/image/okhttp.md',
|
||||
'/docs/v3/image/svg.md',
|
||||
'/docs/v3/recycler/',
|
||||
'/docs/v3/syntax-highlight/',
|
||||
'/docs/v3/migration-2-3.md'
|
||||
],
|
||||
'/': [
|
||||
'',
|
||||
'/docs/getting-started.md',
|
||||
'/docs/configure.md',
|
||||
'/docs/theme.md',
|
||||
'/docs/factory.md',
|
||||
'/docs/image-loader.md',
|
||||
'/docs/syntax-highlight.md',
|
||||
'/docs/html.md',
|
||||
'/docs/view.md'
|
||||
]
|
||||
},
|
||||
sidebarDepth: 2,
|
||||
|
@ -1,12 +1,11 @@
|
||||
---
|
||||
title: 'Introduction'
|
||||
title: 'Overview'
|
||||
---
|
||||
|
||||
<img :src="$withBase('./art/markwon_logo.png')" alt="Markwon Logo" width="50%">
|
||||
|
||||
<br><br>
|
||||
[](http://search.maven.org/#search|ga|1|g%3A%22ru.noties.markwon%22%20)
|
||||
[](https://travis-ci.org/noties/Markwon)
|
||||
<MavenBadges2xx/>
|
||||
|
||||
**Markwon** is a markdown library for Android. It parses markdown following
|
||||
<Link name="commonmark-spec" /> with the help of amazing <Link name="commonmark-java" /> library
|
||||
@ -21,23 +20,22 @@ but also gives all the means to tweak the appearance if desired. All markdown fe
|
||||
listed in <Link name="commonmark-spec" /> 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 (`<i>`, `<em>`, `<cite>`, `<dfn>`)
|
||||
* Strong emphasis (`<b>`, `<strong>`)
|
||||
* SuperScript (`<sup>`)
|
||||
@ -50,8 +48,8 @@ listed in <Link name="commonmark-spec" /> 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`
|
||||
|
@ -1,5 +1,3 @@
|
||||
<LegacyWarning />
|
||||
|
||||
# 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 <Badge text="1.0.1" />
|
||||
@ -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 <Badge text="1.1.0" />
|
||||
`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 <Badge text="1.1.1" />
|
||||
|
||||
@ -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
|
||||
|
@ -1,5 +1,3 @@
|
||||
<LegacyWarning />
|
||||
|
||||
# Factory <Badge text="1.1.0" />
|
||||
|
||||
`SpannableFactory` is used to create Span implementations.
|
@ -1,5 +1,3 @@
|
||||
<LegacyWarning />
|
||||
|
||||
# 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)
|
@ -1,5 +1,3 @@
|
||||
<LegacyWarning />
|
||||
|
||||
# HTML <Badge text="2.0.0" />
|
||||
|
||||
Starting with version `2.0.0` `Markwon` brings the whole HTML parsing/rendering
|
@ -1,5 +1,3 @@
|
||||
<LegacyWarning />
|
||||
|
||||
# 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:
|
@ -1,73 +1,89 @@
|
||||
---
|
||||
prev: false
|
||||
next: /docs/core/getting-started.md
|
||||
next: /docs/getting-started.md
|
||||
---
|
||||
|
||||
# Installation
|
||||
|
||||

|
||||

|
||||
<MavenBadges2xx />
|
||||
|
||||
<ArtifactPicker />
|
||||
|
||||
# Bundle <Badge text="3.0.0" />
|
||||
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.
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
<LegacyWarning />
|
||||
|
||||
# Syntax highlight
|
||||
|
||||
<MavenBadge2xx artifact="markwon-syntax-highlight" />
|
@ -1,9 +1,7 @@
|
||||
<LegacyWarning />
|
||||
|
||||
# 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)
|
@ -1,79 +0,0 @@
|
||||
<LegacyWarning />
|
||||
|
||||
# Installation
|
||||
|
||||
<MavenBadges2xx />
|
||||
|
||||
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
|
||||
:::
|
||||
|
72
docs/docs/v3/README.md
Normal file
72
docs/docs/v3/README.md
Normal file
@ -0,0 +1,72 @@
|
||||
---
|
||||
title: 'Introduction'
|
||||
---
|
||||
|
||||
<img :src="$withBase('/art/markwon_logo.png')" alt="Markwon Logo" width="50%">
|
||||
|
||||
<br><br>
|
||||
[](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
|
||||
<Link name="commonmark-spec" /> with the help of amazing <Link name="commonmark-java" /> library
|
||||
and renders result as _Android-native_ Spannables. **No HTML** is involved
|
||||
as an intermediate step. <u>**No WebView** is required</u>. 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 <Link name="commonmark-spec" /> 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 (`<i>`, `<em>`, `<cite>`, `<dfn>`)
|
||||
* Strong emphasis (`<b>`, `<strong>`)
|
||||
* SuperScript (`<sup>`)
|
||||
* SubScript (`<sub>`)
|
||||
* Underline (`<u>`, `ins`)
|
||||
* Strike-through (`<s>`, `<strike>`, `<del>`)
|
||||
* 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
|
||||
|
||||
<img :src="$withBase('/art/mw_light_01.png')" alt="screenshot light #1" width="30%">
|
||||
<img :src="$withBase('/art/mw_light_02.png')" alt="screenshot light #2" width="30%">
|
||||
<img :src="$withBase('/art/mw_light_03.png')" alt="screenshot light #3" width="30%">
|
||||
<img :src="$withBase('/art/mw_dark_01.png')" alt="screenshot dark #2" width="30%">
|
||||
|
||||
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)
|
||||
:::
|
@ -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.
|
||||
:::
|
@ -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 <Badge text="3.0.0" /> 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 <Badge text="3.0.0" />
|
||||
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.
|
@ -2,7 +2,7 @@
|
||||
|
||||
Starting with <Badge text="3.0.0" /> `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 `<img>` 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:
|
@ -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
|
90
docs/docs/v3/install.md
Normal file
90
docs/docs/v3/install.md
Normal file
@ -0,0 +1,90 @@
|
||||
---
|
||||
prev: false
|
||||
next: /docs/v3/core/getting-started.md
|
||||
---
|
||||
|
||||
# Installation
|
||||
|
||||

|
||||

|
||||
|
||||
<ArtifactPicker />
|
||||
|
||||
# Bundle <Badge text="3.0.0" />
|
||||
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
|
||||
:::
|
||||
|
@ -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)
|
||||
* 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`
|
@ -1,5 +1,3 @@
|
||||
<LegacyWarning />
|
||||
|
||||
# MarkwonView
|
||||
|
||||
<MavenBadge2xx artifact="markwon-view" />
|
@ -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
|
Loading…
x
Reference in New Issue
Block a user