Skip to content

Feature/195 basic markdown support#198

Open
gramos-encora wants to merge 8 commits into
amarradi:developmentfrom
gramos-encora:feature/195-basic-markdown-support
Open

Feature/195 basic markdown support#198
gramos-encora wants to merge 8 commits into
amarradi:developmentfrom
gramos-encora:feature/195-basic-markdown-support

Conversation

@gramos-encora

Copy link
Copy Markdown

Description

This PR implements basic Markdown support in accordance with the requirements described in the related issue.

Summary of Implementation

  • MVVM compliant: Parsing and preview rendering are handled in the ViewModel (NoteViewModel) and utility layer (MarkdownParser), keeping logic and UI strictly separated.

  • No external libraries: Only native Android/Java classes used (e.g., SpannableString, Pattern, Matcher).

  • Optional Preview Mode:

    • Activated via a toggle in the top menu (eye icon).
    • Inspired by SimpleMarkdown, but implemented from scratch.
  • Supported Markdown Features (MVP):

    • #Heading 1 → Bold & larger font.
    • --underlined-- → Underlined text.
    • '*' Bullet points → Bullet-style prefix formatting.
    • Link Text → Clickable links with LinkMovementMethod.
  • String resources: All user-facing strings (e.g., preview toggle) are localized through strings.xml.

  • Legacy Compatibility: Notes use existing structures (IDs, timestamps) without modification.

  • No SQLite / Fragments used.

Related Issue

Closes #195

@amarradi

Copy link
Copy Markdown
Owner

Hey @gramos-encora

after a long time, I finally got around to looking at your feature request. Unfortunately, I couldn't get it to work. I rebased it to the current state of development. Unfortunately, it doesn't work, but I also had to make a lot of changes and fix a lot of bugs in NoteEditActivity and NoteViewModel. Can you take a look at the branch called mdsupport? Maybe you can find what the bug is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

2 participants