Releases: noties/Markwon
Releases · noties/Markwon
v4.6.2
v4.6.1
Changed
core
-CustomTypefaceSpan
newmergeStyles
functionality and new factory method(#298)
Thanks @c-b-himage-coil
- updateCoil
to0.13.0
(#303)
Thanks @ubuntudroid
Deprecated
core
-CustomTypefaceSpan(Typeface)
constructor, useCustomTypefaceSpan.create(Typeface)
orCustomTypefaceSpan.create(Typeface, boolean)
factory methods instead
v4.6.0
Added
ext-tables
-TableAwareMovementMethod
a special movement method to handle clicks inside tables (#289)
Changed
ext-tasklist
- changed implementation to be in line with GFM (Github flavored markdown),
task list item is a regular list item (BulletList and OrderedList can contain it).
Internal implementation changed from block parsing to node post processing (#291)image-glide
- update to4.11.0
versioninline-parser
- revert parsing index whenInlineProcessor
returnsnull
as resultimage-coil
- updateCoil
to0.12.0
(Coil changelog) (#284)
Thanks @magnusvs
v4.5.1
v4.5.0
Added
core
-MovementMethodPlugin.none()
,MovementMethodPlugin.link()
factory methodscore
-CorePlugin
hasExplicitMovementMethod
configuration method to not add implicitLinkMovementMethod
inafterSetText
core
-MarkwonTheme
isLinkedUnderlined
attribute for links(#270)
Thanks to @dallasgutauckisext-latex
-JLatexMathTheme.Padding.of(int,int,int,int)
factory methodapp-sample
- example application
Changed
html
-SimpleTagHandler
visits children tags if supplied tag is block one (#235)inline-parser
-BangInlineProcessor
properly returnsnull
if no image node is found (possible to define other inline parsers that use!
as special character)image
-AsyncDrawable
won't trigger loading if it has result (aim:RecyclerView
due to multiple attach/detach events of a View)image
-AsyncDrawable
will resume result if it isAnimatable
and was playing before detach event (aim:RecyclerView
) (#241)core
-MarkwonReducer
filter outLinkReferenceDefinition
nodes
Fixed
image-glide
cacheRequestManager
inGlideImagesPlugin#create(Context)
factory method (#259)
Deprecated
core
-MovementMethodPlugin.create()
use explicitMovementMethodPlugin.link()
instead
Removed
image
-AsyncDrawable#hasKnownDimentions
(deprecated in4.2.1
)app
andsample
applications (merged together in aapp-sample
single app)
v4.4.0
TextViewSpan
to obtainTextView
in which markdown is displayed (applied byCorePlugin
)TextLayoutSpan
to obtainLayout
in which markdown is displayed (applied byTablePlugin
, more specificallyTableRowSpan
to propagate layout in which cell content is displayed)HtmlEmptyTagReplacement
now is configurable byHtmlPlugin
,iframe
handling (#235)AsyncDrawable
now usesTextView
width without padding instead of width of canvas- Support for images inside table cells (
ext-tables
module) - Expose
enabledBlockTypes
inCorePlugin
- Update
jlatexmath-android
dependency (#225) - Update
image-coil
module (Coil version0.10.1
) (#244)
Thanks to @tylerbwong - Rename
UrlProcessor
toImageDestinationProcessor
(io.noties.markwon.urlprocessor
->io.noties.markwon.image.destination
) and limit its usage to process only destination URL of images (was used to also process links before) fallbackToRawInputWhenEmpty
Markwon.Builder
configuration to fallback to raw input if rendered markdown is empty (#242)
v4.3.1
- Fix DexGuard optimization issue (#216)
Thanks @francescocervone - module
images
:GifSupport
andSvgSupport
useClass.forName
instead access to full qualified class name ext-table
: fix links in tables (#224)ext-table
: proper borders (equal for all sides)- module
core
: AddPrecomputedFutureTextSetterCompat
Thanks @KirkBushman
v4.3.0
- add
MarkwonInlineParserPlugin
ininline-parser
module JLatexMathPlugin
now supports inline LaTeX structures viaMarkwonInlineParserPlugin
dependency (must be explicitly added toMarkwon
whilst configuring)JLatexMathPlugin
: addtheme
(to customize both inlines and blocks)- add
JLatexMathPlugin.ErrorHandler
to catch latex rendering errors and (optionally) display error drawable (#204) JLatexMathPlugin
add text color customization (#207)JLatexMathPlugin
will use text color of widget in which it is displayed if color is not set explicitly- add
SoftBreakAddsNewLinePlugin
plugin (core
module) LinkResolverDef
defaults tohttps
when a link does not have scheme information (#75)- add
option
abstraction forsample
module allowing switching of multiple cases in runtime via menu - non-empty bounds for
AsyncDrawable
when no dimensions are not yet available (#189) linkify
- option to useLinkifyCompat
inLinkifyPlugin
(#201)
Thanks to @drakeetMarkwonVisitor.BlockHandler
andBlockHandlerDef
implementation to control how blocks insert new lines after them
// default usage: new blocks parser, no inlines
final Markwon markwon = Markwon.builder(this)
.usePlugin(JLatexMathPlugin.create(textSize))
.build();
// legacy blocks (pre `4.3.0`) parsing, no inlines
final Markwon markwon = Markwon.builder(this)
.usePlugin(JLatexMathPlugin.create(textView.getTextSize(), builder -> builder.blocksLegacy(true)))
.build();
// new blocks parsing and inline parsing
final Markwon markwon = Markwon.builder(this)
.usePlugin(JLatexMathPlugin.create(textView.getTextSize(), builder -> {
// blocksEnabled and blocksLegacy can be omitted
builder
.blocksEnabled(true)
.blocksLegacy(false)
.inlinesEnabled(true);
}))
.build();
v4.2.2
v4.2.1
- Fix SpannableBuilder
subSequence
method - Introduce Nougat check in
BulletListItemSpan
to position bullet (for bullets to be
positioned correctly when nested inside otherLeadingMarginSpan
s) - Reduced number of invalidations in AsyncDrawable when result is ready
- AsyncDrawable#hasKnownDimentions -> AsyncDrawable#hasKnownDimensions typo fix