Skip to content

A native android markdown editor that you can write your markdown code and visualise it.

License

Notifications You must be signed in to change notification settings

luizlealdev/markdown-editor

Repository files navigation

Markdown Editor

License API version Luiz Leal's github profile

Markdown Editor demonstrates a simple editor that converts your markdown code and visualize it.

📥 Download

Get it on GitHub

📷 Previews

Screenshot 1 Screenshot 2 Screenshot 3

🛠 Tech Stack & Open Source Libraries

  • Minimum SDK level 24.
  • Kotlin language
  • Jetpack
    • ViewBinding: Connect the components from the XML in Kotlin through a class that ensures type safety and other advantages.
    • Lifecycle: Observe Android lifecycles and handle user interface states after lifecycle changes.
    • Room Database: Database abstraction library for SQLite that ensures compile-time safety and ease of use.
    • ViewModel: Manages the holder of data related to the user interface and the lifecycle. Allows data to survive configuration changes, such as screen rotations.
  • Architecture
    • MVVM (View - ViewModel - Model)
    • Communication between ViewModel and View through LiveData
    • Communication between ViewModel and Model through Kotlin Flow
    • Repositories for abstraction of communication with the data layer.
  • Libraries
    • OkHttp3: For making requests following the HTTP standard.
    • Markwon: For process the markdown code.
    • Fab SpeedDial: For add a Floating Action Button Speed Dial implementation.
    • CodeView: For add add syntax highlight and line numbers into a EditText.

📐 Architecture

Markdown Editor follows the Google's official architecture.

MVVM Example

✨ Features

Feature 1 Feature 2
Search markdown note Import markdown from file
Search markdown note feature preview Import markdown from file feature preview
Feature 3 Feature 4
Import markdown from URL Markdown tips bar
Import markdown from URL feature preview Markdown tips bar feature preview

📄 License

Copyright 2024 Luiz Leal

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.