{"id":13640669,"url":"https://github.com/YangDai2003/OpenNote-Compose","last_synced_at":"2025-04-20T02:34:42.751Z","repository":{"id":229522883,"uuid":"774993540","full_name":"YangDai2003/OpenNote-Compose","owner":"YangDai2003","description":"Markdown editor and also note app for Android entirely based on Jetpack Compose.","archived":false,"fork":false,"pushed_at":"2024-04-13T14:00:47.000Z","size":93534,"stargazers_count":22,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-14T01:14:04.210Z","etag":null,"topics":["android","clipboard","compose","editor","education","html","jetpack","latex-math","markdown","material-design","mermaid-diagrams","notes-app","plaintext","richtext","txt","university"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YangDai2003.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}},"created_at":"2024-03-20T15:15:17.000Z","updated_at":"2024-05-08T23:00:12.459Z","dependencies_parsed_at":"2024-04-16T14:48:40.134Z","dependency_job_id":null,"html_url":"https://github.com/YangDai2003/OpenNote-Compose","commit_stats":null,"previous_names":["yangdai2003/opennote-compose"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YangDai2003%2FOpenNote-Compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YangDai2003%2FOpenNote-Compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YangDai2003%2FOpenNote-Compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YangDai2003%2FOpenNote-Compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YangDai2003","download_url":"https://codeload.github.com/YangDai2003/OpenNote-Compose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223816733,"owners_count":17207900,"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","clipboard","compose","editor","education","html","jetpack","latex-math","markdown","material-design","mermaid-diagrams","notes-app","plaintext","richtext","txt","university"],"created_at":"2024-08-02T01:01:13.344Z","updated_at":"2025-04-20T02:34:42.745Z","avatar_url":"https://github.com/YangDai2003.png","language":"Kotlin","funding_links":[],"categories":["🧠 Productivity \u0026 Organization"],"sub_categories":["📝 Notes/To-do/Wish-lists"],"readme":"- [English](README.md)\n- [简体中文](README.zh.md)\n- [Türkçe](README.tr.md)\n\n# OpenNote\n\n![Android](https://img.shields.io/badge/Android-3DDC84?style=for-the-badge\u0026logo=android\u0026logoColor=white)\n![Kotlin](https://img.shields.io/badge/kotlin-%237F52FF.svg?style=for-the-badge\u0026logo=kotlin\u0026logoColor=white)\n![Compose](https://img.shields.io/static/v1?style=for-the-badge\u0026message=Jetpack+Compose\u0026color=4285F4\u0026logo=Jetpack+Compose\u0026logoColor=FFFFFF\u0026label=)\n![Material](https://custom-icon-badges.demolab.com/badge/material%20you-lightblue?style=for-the-badge\u0026logoColor=333\u0026logo=material-you)\n![LaTeX](https://img.shields.io/badge/latex-%23008080.svg?style=for-the-badge\u0026logo=latex\u0026logoColor=white)\n![Markdown](https://img.shields.io/badge/markdown-%23000000.svg?style=for-the-badge\u0026logo=markdown\u0026logoColor=white)\n\nOpenNote is a modern Android note-taking application built entirely with Compose.\n\n[\u003cimg alt=\"Get it on Google Play\" src=\"screenshots/google_play.png\" width=\"200px\"\u003e](https://play.google.com/store/apps/details?id=com.yangdai.opennote)\n[\u003cimg alt=\"Get it on IzzyOnDroid\" src=\"screenshots/izzyondroid.png\" width=\"200px\"\u003e](https://apt.izzysoft.de/fdroid/index/apk/com.yangdai.opennote)\n[\u003cimg alt=\"Get it on GitHub\" src=\"screenshots/github.png\" width=\"200px\"\u003e](https://github.com/YangDai2003/OpenNote-Compose/releases)\n\n## 📃 Features\n\n### Core Features:\n- **Create, Edit, and Delete Notes:** Users can easily create, modify, and remove notes.\n- **Create, Edit, and Delete Folders:** Organize notes effectively using folder management capabilities.\n- **Sorting and Filtering:** Effortlessly sort and filter notes and folders based on various criteria.\n- **Move Notes:** Seamlessly move notes between different folders for improved organization.\n- **Trash Bin:** Securely move notes to a trash bin for temporary storage before permanent deletion.\n\n### Advanced Capabilities:\n- **Note SideSheet**: Automatically generates a **note outline** based on heading levels, allowing you to click and scroll to the corresponding section. Displays **word count, line count, and more** at a glance.\n- **Find and replace**: The note is too long and you can't find the location of a certain text? Want to modify it in batches but it's too annoying to edit one by one? Try this feature.\n- **Note Templates:** Insert notes from the \"Templates\" folder as templates, with automatic date and time formatting.\n- **Local Image, Video and Audio Support:** Directly import local images, videos and audio from the device into notes, with in-app preview.\n- **Markdown Support:** Comprehensive support for CommonMark and GitHub Flavored Markdown (GFM) syntax for rich formatting options.\n- **LaTeX Math Support:** Incorporates LaTeX Math syntax for rendering mathematical equations.\n- **Mermaid Support:** Supports Mermaid syntax for creating diagrams and flowcharts.\n\n### Editing Modes:\n- **Lite Mode:** Provides basic Markdown syntax with a WYSIWYG (What You See Is What You Get) display.\n- **Standard Mode:** Offers full Markdown syntax support with precise rendering, separating the editing and reading areas.\n\n### Additional Features:\n- **Accept Shared Text:** The app can directly receive text shared from other applications and create a new note with it.\n- **Directly Open Documents:** The app can be selected as handler for various text document types (such as .txt, .md, and .html), allowing them to be opened directly and converted into notes.\n- **Export Options:** Notes can be exported in various formats, including TXT, Markdown, PDF, and HTML, for versatile sharing and usage.\n- **Material 3 Design:** Adheres to Material Design 3 guidelines for a modern and cohesive user interface.\n- **Comprehensive Mouse and Keyboard Support:** The app has been thoroughly adapted for seamless interaction with mice and external physical keyboards, delivering a highly productive environment.\n- **Responsive Design:** Optimized for various screen sizes and device orientations, ensuring a great experience on phones, tablets, foldables and even ChromeOS devices.\n\n## 🖼️ Screenshots\n\n\u003cdiv style=\"overflow-x: auto; white-space: nowrap;\"\u003e\n\n\u003cimg src=\"screenshots/Anim_lock.gif\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/MainScreen.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Drawer.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Folders.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Editor.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/ReadView.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Settings.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Widget.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Screenshot_Math_Edit.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Screenshot_Math_Preview.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Screenshot_Mermaid_Edit.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Screenshot_Mermaid_Preview.png\" width=\"15%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/MainScreen_Large.png\" width=\"30%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Editor_Large.png\" width=\"30%\" alt=\"\"/\u003e\n\u003cimg src=\"screenshots/Settings_Large.png\" width=\"30%\" alt=\"\"/\u003e\n\n\u003c/div\u003e\n\n## 🌎 Translations\n\nCurrently supports Chinese, English, German and Turkish.\n\n## 💡 How to Use OpenNote with Markdown, LaTeX Math, and Mermaid Diagrams?\n\nYou can know more about how to use OpenNote with Markdown, LaTeX Math, and Mermaid Diagrams in\nthe [Guide](Guide.md).\n\n## 🔎 Technical Details\n\n- **Programming Languages**: Kotlin\n- **Build Tool**: Gradle with Kotlin DSL\n- **Android Version**: The application targets Android SDK version 35 and is compatible with devices\n  running Android SDK version 29 and above.\n- **Kotlin Version**: 2.1.20.\n- **Java Version**: JVM Target 17.\n\n## 🛠️ Architecture\n\n- **MVVM (Model-View-ViewModel)**: Separates the user interface logic from the business logic,\n  providing a clear separation of concerns.\n- **Clean Architecture**: Emphasizes separation of concerns and layers of abstraction, making the\n  application more modular, scalable, and maintainable.\n\n## 📚 Libraries and Frameworks\n\n- **Compose**: A modern toolkit for building native Android UI.\n- **Hilt**: A dependency injection library for Android.\n- **KSP (Kotlin Symbol Processing API)**: Enhances Kotlin compilation with additional metadata\n  processing.\n- **Room**: A persistence library providing an abstraction layer over SQLite.\n- **Compose Navigation**: Simplifies the implementation of navigation between screens.\n- **Material Icons**: Provides Material Design icons for consistent visual elements.\n- **CommonMark**: For markdown parsing and rendering.\n\n## 🔐 Privacy Policy and Required Permissions\n\nYou can find the Privacy Policy and Required Permissions in the [Privacy Policy](PRIVACY_POLICY.md).\n\n## 📦 Installation\n\nTo build and run this application, you need to install the latest version of Android Studio. Then,\nyou can clone this repository from GitHub and open it in Android Studio.\n\n```bash\ngit clone https://github.com/YangDai2003/OpenNote.git\n```\n\nIn Android Studio, select `Run \u003e Run 'app'` to start the application.\n\n## 🎈 Contribution\n\nAny form of contribution is welcome! If you find a bug or have a new feature request, please create\nan issue. If you want to contribute code directly to this project, you can create a pull request.\n\n## 🔗 References\n\n- [MaskAnim](https://github.com/setruth/MaskAnim): Implementation of the theme switching function\n  using mask animation.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FYangDai2003%2FOpenNote-Compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FYangDai2003%2FOpenNote-Compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FYangDai2003%2FOpenNote-Compose/lists"}