Skip to content

Feature Request: Basic Markdown Support (MVVM, No Libraries, Simple Preview) #195

Description

@amarradi

Summary:
Implement basic Markdown support for headings, underline, bullet points, and links in Leafpad. The implementation should be fully MVVM-conform, seamlessly fit into the existing system, and use no external libraries.


Requirements Checklist

[ ] MVVM Architecture: All Markdown logic must follow the MVVM pattern (separate UI, logic, and model).

[ ] No External Libraries: Only use native Android/Java code for parsing and rendering.

[ ] No Hardcoded Strings: All user-facing text must go through string resources for translation.

[ ] Preview Inspired by SimpleMarkdown: Add an optional preview mode inspired by SimpleMarkdown, but written from scratch.

[ ] Offline and Lightweight: Feature must work completely offline and keep the app lean.

[ ] Minimal Supported Markdown: Support only the following in MVP:

[ ] # Heading 1

[ ] Underline

[ ] * Bulletpoint

[ ] Link

[ ] No SQLite, No Fragments: Must integrate cleanly with Leafpad’s current architecture (Activities only, no Fragments or SQLite).

[ ] Legacy Data Compatibility: Respect existing structures (IDs and timestamps as Strings, etc.).

[ ] Concept Study:
If the feature cannot be integrated cleanly or maintain Leafpad’s lightweight philosophy, the concept may be dropped.


Background:
Leafpad has grown considerably over time and has many legacy decisions (e.g., string IDs and dates). Any new Markdown logic must respect these structures and ensure full compatibility.


Feedback welcome!
If you have suggestions, want to help with prototyping, or have experience with lightweight Markdown, please comment or create a draft PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    New featureLabel for new featurehelp wantedExtra attention is needednice to haveIt would be nice if this were implemented

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions