Skip to content

zdoonio/md-reader-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Markdown Editor

Nowoczesny, wieloplatformowy edytor Markdown napisany w Javie z wykorzystaniem JavaFX.

Wymagania

  • JDK 21+ (LTS)
  • JavaFX 21 (zależności Maven lub lokalne SDK)
  • Linux / macOS / Windows

Budowanie

mvn clean package

Uruchamianie

Opcja 1: Maven (zalecane)

mvn clean javafx:run

Opcja 2: Skrypt run.sh

chmod +x run.sh
./run.sh

Opcja 3: IntelliJ IDEA

  1. Otwórz projekt (pom.xml jako projekt Maven)
  2. Poczekaj na synchronizację zależności
  3. W konfiguracji uruchomienia (Run → Edit Configurations):
    • Main class: com.mdreader.app.App
    • Module path (KLUCZOWE — target/classes na początku!):
      target/classes:/home/dominik-bravo-c7v/.m2/repository/org/openjfx/javafx-controls/21.0.2/javafx-controls-21.0.2-linux.jar:/home/dominik-bravo-c7v/.m2/repository/org/openjfx/javafx-fxml/21.0.2/javafx-fxml-21.0.2-linux.jar:/home/dominik-bravo-c7v/.m2/repository/org/openjfx/javafx-web/21.0.2/javafx-web-21.0.2-linux.jar:/home/dominik-bravo-c7v/.m2/repository/org/openjfx/javafx-base/21.0.2/javafx-base-21.0.2-linux.jar:/home/dominik-bravo-c7v/.m2/repository/org/openjfx/javafx-graphics/21.0.2/javafx-graphics-21.0.2-linux.jar:/home/dominik-bravo-c7v/.m2/repository/org/openjfx/javafx-media/21.0.2/javafx-media-21.0.2-linux.jar
      
    • VM options:
      --add-modules javafx.controls,javafx.fxml,javafx.web --enable-native-access=javafx.graphics
      
    • Classpath: wszystkie JAR-y z ~/.m2/repository (javafx, flexmark, richtextfx, reactfx, undofx, flowless, wellbehavedfx, autolink, jsoup, openhtmltopdf, pdfbox, fontbox, commons-logging, xmpbox, graphics2d, flexmark-profile-pegdown, icu4j)

Testy

mvn test

Wszystkie 25 testów przechodzą.

Architektura

com.mdreader.app/        — Klasa główna (start JavaFX)
com.mdreader.model/      — Model danych (DocumentModel)
com.mdreader.service/    — Serwisy (MarkdownService — Flexmark)
com.mdreader.controller/ — Kontrolery (MainController)

Wzorzec: MVC (Model-View-Controller)

Funkcje

Edytor i Podgląd

  • Podział ekranu (SplitPane): Edytor | Podgląd
  • Live rendering Markdown → HTML (Flexmark-java)
  • Debounce 300ms dla wydajności

Tryby widoku

  • Split View — edytor i podgląd obok siebie
  • Preview Only — tylko podgląd
  • Focus Mode — tylko edytor

Pliki

  • Open / Save / Save As (FileChooser)
  • Tytuł okna z * dla niezapisanych zmian

Toolbar

  • B (Bold), I (Italic), H (Heading), List, Link, Code

Skróty klawiszowe

  • Ctrl+S — Zapisz
  • Ctrl+O — Otwórz
  • Ctrl+N — Nowy plik

Motywy

  • Dark (Catppuccin Mocha) — domyślny
  • Light — jasny motyw

Struktura projektu

src/main/java/
  com.mdreader.app/       — App.java
  com.mdreader.model/     — DocumentModel.java
  com.mdreader.service/   — MarkdownService.java
  com.mdreader.controller/ — MainController.java
  module-info.java        — deklaracja modułu Java
src/main/resources/
  com.mdreader.view/
    MainView.fxml         — layout UI
    style.css             — motyw dark
    style-light.css       — motyw light
src/test/java/
  com.mdreader.model/     — DocumentModelTest.java
  com.mdreader.service/   — MarkdownServiceTest.java
docs/
  implementation_plan.md  — harmonogram prac

Technologie

Komponent Biblioteka
UI JavaFX 21 + FXML + CSS
Edytor RichTextFX (CodeArea)
Markdown Flexmark-java 0.64.8
Budowanie Maven
Testy JUnit Jupiter 5.10

Licencja

Projekt wewnętrzny — wszystkie prawa zastrzeżone.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors