{"id":15040952,"url":"https://github.com/yazan98/markdown-compose","last_synced_at":"2025-04-14T19:35:50.411Z","repository":{"id":40301566,"uuid":"507311551","full_name":"Yazan98/Markdown-Compose","owner":"Yazan98","description":"Android Library to Render Markdown Strings Inside Jetpack Compose","archived":false,"fork":false,"pushed_at":"2023-07-15T10:36:32.000Z","size":155,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T08:01:40.432Z","etag":null,"topics":["android-application","android-library","jetpack","jetpack-compose","jetpack-compose-library","markdown","markdown-renderer"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yazan98.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-25T12:57:28.000Z","updated_at":"2024-12-02T10:40:45.000Z","dependencies_parsed_at":"2024-10-30T22:31:36.870Z","dependency_job_id":"78065f8c-6be4-4d5c-a609-e10438b247cc","html_url":"https://github.com/Yazan98/Markdown-Compose","commit_stats":{"total_commits":19,"total_committers":2,"mean_commits":9.5,"dds":0.1578947368421053,"last_synced_commit":"b606da98e60a32cf60766b77fb3a79700904b61f"},"previous_names":["yazan98/markdowncompose"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yazan98%2FMarkdown-Compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yazan98%2FMarkdown-Compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yazan98%2FMarkdown-Compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yazan98%2FMarkdown-Compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yazan98","download_url":"https://codeload.github.com/Yazan98/Markdown-Compose/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248946786,"owners_count":21187571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-application","android-library","jetpack","jetpack-compose","jetpack-compose-library","markdown","markdown-renderer"],"created_at":"2024-09-24T20:45:19.521Z","updated_at":"2025-04-14T19:35:50.376Z","avatar_url":"https://github.com/Yazan98.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Markdown Render Composable\n\nAndroid Library To Render Markdown Strings Inside Jetpack Compose Applications\n\nBuilt With Native Jetpack Compose Composables\n\n## Library Versions\n1. Jetpack Compose : 1.3.1\n2. Image Loading Library (Coil) : 2.1.0\n3. Minumum Sdk Version : 24\n4. Target Sdk Version : 32\n5. Jetpack Compose UI : 1.1.1\n\n## Installation\n\n```\nallprojects {\n    repositories {\n        mavenCentral()\n    }\n}\n```\n\n```\ndependencies {\n    implementation \"com.yazantarifi:markdown-compose:1.0.4\"\n}\n```\n\n## Implementation\n\n1. Basic Implementation\n\n```kotlin\nMarkdownViewComposable(\n      modifier = Modifier.fillMaxWidth().padding(10.dp),\n      content = content,\n      config = MarkdownConfig(\n            isLinksClickable = true,\n            isImagesClickable = true,\n            isScrollEnabled = false\n      )\n   ) { link, type -\u003e\n  // Callback on Click on Images, Links To Redirect to Image Viewer or WebView Screen\n}\n```\n\n2. Color Control Example\n\n```kotlin\n\n            MarkdownViewComposable(\n                modifier = Modifier.fillMaxWidth().padding(10.dp),\n                content = content,\n                config = MarkdownConfig(\n                    isLinksClickable = true,\n                    isImagesClickable = true,\n                    isScrollEnabled = false,\n                    colors = HashMap\u003cString, Color\u003e().apply {\n                        this[MarkdownConfig.CHECKBOX_COLOR] = Color.Black\n                        this[MarkdownConfig.LINKS_COLOR] = Color.Blue\n                        this[MarkdownConfig.TEXT_COLOR] = Color.Gray\n                        this[MarkdownConfig.HASH_TEXT_COLOR] = Color.Black\n                        this[MarkdownConfig.CODE_BACKGROUND_COLOR] = Color.Gray\n                        this[MarkdownConfig.CODE_BLOCK_TEXT_COLOR] = Color.White\n                    }\n                )\n            ) { link, type -\u003e\n                when (type) {\n                    MarkdownConfig.IMAGE_TYPE -\u003e {} // Image Clicked\n                    MarkdownConfig.LINK_TYPE -\u003e {} // Link Clicked\n                }\n            }\n\n```\n\n\n## Config Description\n\n| Attribute   |      Description      |\n|----------|:-------------:|\n| isLinksClickable |  Allow Links in View to be Clickable |\n| isImagesClickable |    Allow Images in View to be Clickable   | \n| isScrollEnabled | Allow Md View To be Scrollable Inside itself (False if it's already inside Scroll View or LazyColumn) |\n| colors | Pass Colors Based on Your Application Theme |\n| MarkdownConfig.CHECKBOX_COLOR | The Color of Checkboxes When Checkbox is Checked |\n| MarkdownConfig.LINKS_COLOR | The Color of Links |\n| MarkdownConfig.TEXT_COLOR | Normal Text Color |\n| MarkdownConfig.HASH_TEXT_COLOR | Hashes Text Color (#, ##, ###, ####) |\n| MarkdownConfig.CODE_BACKGROUND_COLOR | Background of Code Block |\n| MarkdownConfig.CODE_BLOCK_TEXT_COLOR | Text Color Inside Code Block\n\n\n\n## Screenshots\n\n| Images 1   |      Images 2      |  Images 3 |\n|----------|:-------------:|------:|\n| ![Screenshot 2022-06-25 130052](https://user-images.githubusercontent.com/29167110/175789436-75f2b162-950c-4095-8f8b-ffdb8683ef27.png) |  ![Screenshot 2022-06-25 130113](https://user-images.githubusercontent.com/29167110/175789437-f506df66-f49d-4344-afe3-0e38b3f6507f.png) | ![Screenshot 2022-06-25 130140](https://user-images.githubusercontent.com/29167110/175789438-db370d51-838e-4744-a727-4f59aca4cd88.png) |\n|![Screenshot 2022-06-25 131141](https://user-images.githubusercontent.com/29167110/175789439-26f5a1b4-5d3f-4bcb-b6d1-9d8895b8c5dd.png) |    ![Screenshot 2022-06-25 131157](https://user-images.githubusercontent.com/29167110/175789440-f59dd087-e260-4cbb-a880-3e584268d494.png)   |   ![Screenshot 2022-06-25 132022](https://user-images.githubusercontent.com/29167110/175789443-b994a075-bbf2-4c0c-b0ce-d18f3aaeb657.png) |\n\n\n## Supported Types\n1. Hash Texts\n2. Code Blocks\n3. Text\n4. Checkbox\n5. Images\n6. Shilds\n7. Bold Text\n8. Italic Text\n9. Links\n10. Space\n\n## Publish Commands\n```\ngradle build\ngradle library:publishReleasePublicationToSonatypeRepository  \n```\n\n## License\n\nCopyright (C) 2022 Markdown Compose is An Open Source Library (Licensed under the Apache License, Version 2.0)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyazan98%2Fmarkdown-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyazan98%2Fmarkdown-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyazan98%2Fmarkdown-compose/lists"}