From 687c67a12b61d7f0e691f17dbc679d9992d292c0 Mon Sep 17 00:00:00 2001 From: chengjunzhang61 Date: Thu, 9 Dec 2021 04:57:57 -0800 Subject: [PATCH] Update sample project --- .../markwon/app/readme/ReadMeActivity.kt | 68 +++++++++++-------- settings.gradle | 14 ++-- 2 files changed, 47 insertions(+), 35 deletions(-) diff --git a/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt index c8fe2507..2250b4ce 100644 --- a/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt +++ b/app-sample/src/main/java/io/noties/markwon/app/readme/ReadMeActivity.kt @@ -6,6 +6,7 @@ import android.content.Intent import android.graphics.Color import android.net.Uri import android.os.Bundle +import android.util.Log import android.view.View import android.widget.TextView import androidx.annotation.NonNull @@ -22,13 +23,18 @@ import io.noties.markwon.app.utils.ReadMeUtils import io.noties.markwon.app.utils.hidden import io.noties.markwon.app.utils.loadReadMe import io.noties.markwon.app.utils.textOrHide +import io.noties.markwon.core.CorePlugin +import io.noties.markwon.emoji.ext.EmojiPlugin +import io.noties.markwon.emoji.ext.EmojiSpanProvider import io.noties.markwon.ext.inlinelatex.InLineLatexPlugIn import io.noties.markwon.ext.latex.JLatexMathPlugin import io.noties.markwon.ext.strikethrough.StrikethroughPlugin import io.noties.markwon.ext.tasklist.TaskListPlugin import io.noties.markwon.html.HtmlPlugin import io.noties.markwon.iframe.ext.IFramePlugIn +import io.noties.markwon.image.ImageClickResolver import io.noties.markwon.image.ImagesPlugin +import io.noties.markwon.image.glide.GlideImagesPlugin import io.noties.markwon.inlineparser.MarkwonInlineParserPlugin import io.noties.markwon.recycler.MarkwonAdapter import io.noties.markwon.recycler.SimpleEntry @@ -69,36 +75,42 @@ class ReadMeActivity : Activity() { private val markwon: Markwon get() = Markwon.builder(this) - .usePlugin(ImagesPlugin.create()) - .usePlugin(HtmlPlugin.create()) - .usePlugin(TableEntryPlugin.create(this)) - .usePlugin(SyntaxHighlightPlugin.create(Prism4j(GrammarLocatorDef()), Prism4jThemeDefault.create(0))) - .usePlugin(TaskListPlugin.create(this)) - .usePlugin(StrikethroughPlugin.create()) - .usePlugin(ReadMeImageDestinationPlugin(intent.data)) - .usePlugin(IFramePlugIn.create()) - .usePlugin(InLineLatexPlugIn.create(46.0f, 1080)) - .usePlugin(MarkwonInlineParserPlugin.create()) - .usePlugin(JLatexMathPlugin.create(46.0f)) - .usePlugin(object : AbstractMarkwonPlugin() { - override fun configureVisitor(builder: MarkwonVisitor.Builder) { - builder.on(FencedCodeBlock::class.java) { visitor, block -> - // we actually won't be applying code spans here, as our custom view will - // draw background and apply mono typeface - // - // NB the `trim` operation on literal (as code will have a new line at the end) - val code = visitor.configuration() - .syntaxHighlight() - .highlight(block.info, block.literal.trim()) - visitor.builder().append(code) - } + .usePlugin(CorePlugin.create().addImageClickResolver(object: ImageClickResolver { + override fun clickResolve(view: View, link: String) { + Log.d("ImageClick", link) + } + })) + .usePlugin(HtmlPlugin.create()) + .usePlugin(TableEntryPlugin.create(this)) + .usePlugin(SyntaxHighlightPlugin.create(Prism4j(GrammarLocatorDef()), Prism4jThemeDefault.create(0))) + .usePlugin(TaskListPlugin.create(this)) + .usePlugin(StrikethroughPlugin.create()) + .usePlugin(ReadMeImageDestinationPlugin(intent.data)) + .usePlugin(IFramePlugIn.create()) + .usePlugin(GlideImagesPlugin.create(this)) + .usePlugin(EmojiPlugin.create(EmojiSpanProvider.create(this, 36.0f))) + .usePlugin(InLineLatexPlugIn.create(46.0f, 1080)) + .usePlugin(MarkwonInlineParserPlugin.create()) + .usePlugin(JLatexMathPlugin.create(46.0f)) + .usePlugin(object : AbstractMarkwonPlugin() { + override fun configureVisitor(builder: MarkwonVisitor.Builder) { + builder.on(FencedCodeBlock::class.java) { visitor, block -> + // we actually won't be applying code spans here, as our custom view will + // draw background and apply mono typeface + // + // NB the `trim` operation on literal (as code will have a new line at the end) + val code = visitor.configuration() + .syntaxHighlight() + .highlight(block.info, block.literal.trim()) + visitor.builder().append(code) } + } - override fun configureConfiguration(builder: MarkwonConfiguration.Builder) { - builder.linkResolver(ReadMeLinkResolver()) - } - }) - .build() + override fun configureConfiguration(builder: MarkwonConfiguration.Builder) { + builder.linkResolver(ReadMeLinkResolver()) + } + }) + .build() private fun initAppBar(data: Uri?) { val appBar = findViewById(R.id.app_bar) diff --git a/settings.gradle b/settings.gradle index c760a64a..3a21d2ff 100644 --- a/settings.gradle +++ b/settings.gradle @@ -16,13 +16,13 @@ include ':markwon-core', ':markwon-recycler-table', ':markwon-simple-ext', ':markwon-syntax-highlight', - ':markwon-test-span' + ':markwon-test-span', + ':markwon-iframe-ext', + ':markwon-emoji', + ':markwon-span-ext', + ':markwon-ext-inline-latex', + ':markwon-ext-inline', + ':markwon-round-textview' include ':app-sample' include ':sample-utils:processor' -include ':markwon-iframe-ext' -include ':markwon-emoji' -include ':markwon-span-ext' -include ':markwon-ext-inline-latex' -include ':markwon-ext-inline' -include ':markwon-round-textview'