Nowoczesny, wieloplatformowy edytor Markdown napisany w Javie z wykorzystaniem JavaFX.
- JDK 21+ (LTS)
- JavaFX 21 (zależności Maven lub lokalne SDK)
- Linux / macOS / Windows
mvn clean packagemvn clean javafx:runchmod +x run.sh
./run.sh- Otwórz projekt (pom.xml jako projekt Maven)
- Poczekaj na synchronizację zależności
- W konfiguracji uruchomienia (
Run → Edit Configurations):- Main class:
com.mdreader.app.App - Module path (KLUCZOWE —
target/classesna 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)
- Main class:
mvn testWszystkie 25 testów przechodzą.
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)
- Podział ekranu (SplitPane): Edytor | Podgląd
- Live rendering Markdown → HTML (Flexmark-java)
- Debounce 300ms dla wydajności
- Split View — edytor i podgląd obok siebie
- Preview Only — tylko podgląd
- Focus Mode — tylko edytor
- Open / Save / Save As (FileChooser)
- Tytuł okna z
*dla niezapisanych zmian
- B (Bold), I (Italic), H (Heading), List, Link, Code
Ctrl+S— ZapiszCtrl+O— OtwórzCtrl+N— Nowy plik
- Dark (Catppuccin Mocha) — domyślny
- Light — jasny motyw
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
| Komponent | Biblioteka |
|---|---|
| UI | JavaFX 21 + FXML + CSS |
| Edytor | RichTextFX (CodeArea) |
| Markdown | Flexmark-java 0.64.8 |
| Budowanie | Maven |
| Testy | JUnit Jupiter 5.10 |
Projekt wewnętrzny — wszystkie prawa zastrzeżone.