Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MarkupJava

A lightweight, real-time Markdown editor built with JavaFX.

Description

MarkUpJava is a simple split-pane Markdown editor with live HTML preview. It supports opening, editing, and saving Markdown files with automatic preview updates, basic search, and persistent autosave.

Screenshot

Features

  • Real-time Markdown preview (400ms debounce)
  • Open/Save/Save-As with support for .md, .markdown, .html, .txt, etc...
  • Remembers last opened directory and autosaves content across sessions
  • Case-insensitive search with "Find" button (progressive next-match)
  • HTML sanitization via Jsoup for safe preview
  • Clean, customizable preview styling
  • Built with Maven and Java 25

Project Structure

src/main/java/com/MarkUpJava/
├── Main.java
├── MarkupEditorApp.java
└── EditorController.java

src/main/resources/
└── main-view.fxml

Architecture

Layer Description
Main JVM entry point; launches JavaFX and ensures clean exit
MarkupEditorApp JavaFX Application subclass; loads FXML and configures primary Stage
EditorController Core logic: event handling, preview, file I/O, search, autosave, html/md process
main-view.fxml The main UI

Flow:

Main → MarkupEditorApp.start() → FXMLLoader (main-view.fxml) → EditorController.initialize()


Tech Stack

Tech Stack
Language Java 25
GUI Framework JavaFX 25
Markdown Flexmark
HTML Jsoup
Build Maven

Design Trade-offs

  • Requires modern Java 25 tooling and JDK.
  • No Copy/Paste, Undo/Redo, or Syntax Highlighting Functionality available. These would require additional libraries or custom code logic.
  • Restricts Advanced Markdown, Markup, and CSS functionality due to the use of Jsoup sanitization.
  • No grammar checker or built in LSP engine for code completion.
  • Basic search implementation without regex or advanced indexing to avoid complexity.
  • Debounce timer is manual with fixed timeframe.
  • Design Architecture is a simple small code base with all logic inside one class. Suitable for a project on this scale, however would require a massive re-write and refactoring for scale.

Build & Run

  • Clone or download the project.
  • Ensure Maven and JDK 25 are installed.
  • Build:
  mvn clean package
  • Run:
mvn javafx:run

You can also run the Main class directly from your IDE.

Usage

  • Open: Click "Open" to load a markdown/html/txt file.
  • Save / Save As: Standard file operations. First save prompts for location.
  • Search: Type in the search field and press Enter or click "Find". Repeated clicks find next occurrences.
  • Live Preview: Edits update the right pane automatically at 400ms debounce.
  • Content: automatically saved to Java Preferences on changes and every minute.

About

A lightweight, real-time Markdown editor built with JavaFX.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages