• Stars
    star
    363
  • Rank 117,374 (Top 3 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created about 3 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Markdown renderer for Kotlin Multiplatform Projects (Android, iOS, Desktop), using Compose.

Kotlin Multiplatform Markdown Renderer

... a Kotlin Multiplatform Markdown Renderer. (Android, Desktop, ...) powered by Compose Multiplatform



What's included 🚀Setup 🛠️Usage 🛠️License 📓


What's included 🚀

  • Super simple setup
  • Cross-platform ready
  • Lightweight

Setup

Using Gradle

Multiplatform

For multiplatform projects specify this single dependency:

dependencies {
    implementation("com.mikepenz:multiplatform-markdown-renderer:${version}")
}

JVM

To use the library on JVM, you have to include:

dependencies {
    implementation("com.mikepenz:multiplatform-markdown-renderer-jvm:${version}")
}

Android

For Android a special dependency is available:

dependencies {
    implementation("com.mikepenz:multiplatform-markdown-renderer-android:${version}")
}


Usage

val markdown = """
### What's included 🚀

- Super simple setup
- Cross-platform ready
- Lightweight
""".trimIndent()

//
Markdown(markdown)
Advanced Usage

The library offers the ability to modify different behaviour when rendering the markdown.

Provided custom style

Markdown(
    content,
    colors = MarkdownDefaults.markdownColors(textColor = Color.Red),
    typography = MarkdownDefaults.markdownTypography(h1 = MaterialTheme.typography.body1)
)

Adjust List Ordering

// Use the bullet list symbol from the original markdown
CompositionLocalProvider(LocalBulletListHandler provides { "$it " }) {
    Markdown(content)
}

// Replace the ordered list symbol with `A.)` instead.
CompositionLocalProvider(LocalOrderedListHandler provides { "A.) " }) {
    Markdown(content, Modifier.fillMaxSize().padding(16.dp).verticalScroll(scrollState))
}

Dependency

This project uses JetBrains markdown Multiplatform Markdown processor as dependency to parse the markdown content.

Developed By

Contributors

This free, open source software was also made possible by a group of volunteers that put many hours of hard work into it. See the CONTRIBUTORS.md file for details.

Credits

Big thanks to Erik Hellman and his awesome article on Rendering Markdown with Jetpack Compose, and the related source MarkdownComposer.

Fork License

Copyright for portions of the code are held by [Erik Hellman, 2020] as part of project MarkdownComposer under the MIT license. All other copyright for project multiplatform-markdown-renderer are held by [Mike Penz, 2022] under the Apache License, Version 2.0.

License

Copyright 2022 Mike Penz

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More Repositories

1

MaterialDrawer

The flexible, easy to use, all in one drawer library for your Android project. Now brand new with material 2 design.
Kotlin
11,670
star
2

Android-Iconics

Android-Iconics - Use any icon font, or vector (.svg) as drawable in your application.
Kotlin
5,166
star
3

FastAdapter

The bullet proof, fast and easy to use adapter library, which minimizes developing time to a fraction...
Kotlin
3,828
star
4

AboutLibraries

AboutLibraries automatically collects all dependencies and licenses of any gradle project (Kotlin MultiPlatform), and provides easy to integrate UI components for Android and Compose-jb environments
Kotlin
3,595
star
5

LollipopShowcase

A simple app to showcase Androids Material Design and some of the cool new cool stuff in Android Lollipop. RecyclerView, CardView, ActionBarDrawerToggle, DrawerLayout, Animations, Android Compat Design, Toolbar
Java
1,762
star
6

Android-ActionItemBadge

This library offers a simple method to add a small badge icon to your ActionBar-MenuItem
Java
1,274
star
7

wallsplash-android

wall:splash is a free open source android client for the awesome unsplash.com service (Free (do whatever you want) high-resolution photos)
Java
793
star
8

release-changelog-builder-action

A GitHub action that builds your release notes / changelog fast, easy and exactly the way you want.
TypeScript
693
star
9

ItemAnimators

ItemAnimators: Supercharged Animators for your RecyclerView
Java
336
star
10

action-junit-report

Reports junit test results as GitHub Pull Request Check
TypeScript
297
star
11

Materialize

A easy helper library for Android to manage your applications StatusBarShadow, FullScreen behavior and much more over API Levels down to 10
Java
295
star
12

HypnoticCanvas

A shader modifier for Compose Multiplatform / Jetpack Compose
Kotlin
132
star
13

AnimatedGridView

A simple library which adds some basic animation if you delete fields. There's also a HeaderGridView if you need such a view for your projects :D
Java
116
star
14

CrossfadeDrawerLayout

Add a 2-Step DrawerLayout to your application, with a nice crossfade effect
Java
95
star
15

Crossfader

Crossfader is a small library to provide an easy to use and fast helper class for the great CrossFadeSlidingPaneLayout
Java
81
star
16

gradle-dependency-submission

Calculates dependencies for a Gradle build-target and submits the list to the Dependency Submission API
TypeScript
80
star
17

xray-action

... a GitHub action to import test results into "Xray" - A complete Test Management tool for Jira.
TypeScript
47
star
18

storyblok-mp-SDK

Storyblok Kotlin Multiplatform SDK (Android, JVM, JS, iOS, ...)
Kotlin
22
star
19

ModernJenkins-Theme

A quick css to beautify your jenkins (SimpleThemePlugin required)
CSS
20
star
20

HoloKitKatDrawer

[DEPRECATED] See for the MaterialDrawer for updates | Description: A simple Project to show how to use the new TranslucentDecor with a Drawer
Java
14
star
21

Storyblok-Android-SDK

Storyblok MP SDK available here: https://github.com/mikepenz/storyblok-mp-SDK
Kotlin
14
star
22

ApplicationReader

[DEPRECATED] OpenSourced source code for ApplicationReader util used for icon themeing
Java
9
star
23

Alternative-findr

[DEPRECATED!] Android application for the awesome site alternative.to
Java
6
star
24

storyblok-mp-SDK-sample

Storyblok Kotlin Multiplatform SDK sample (Android, JVM, JS)
Kotlin
6
star
25

jira-release-composite-action

Composite action, taking release notes as input, and automatically migrating tickets for release
6
star
26

storyblok-mp-SDK-blog

Blog implemented via the Storyblok Kotlin Multiplatform SDK (Android, JVM)
Kotlin
5
star
27

blog_CredentialShowcase

Simple showcase to highlight credential security
Kotlin
2
star
28

SpannableBar

Java
2
star
29

teaMSeven-MOD

[DEPRECATED] A smart tool for our awesome teaMSeven Kernel!
Java
1
star
30

InterfaceLIFT-Pane

An InterfaceLIFT Preference Pane for Mac OS X
Objective-C
1
star
31

MIcons-Builder

[DEPRECATED] MIUI Icons Builder/Configurator
JavaScript
1
star
32

release-changelog-builder-action-playground

Playground repo for testing purposes of the release-changelog-builder-action
1
star