Markdown editor control for JavaFX

Overview

MarkdownEditorControlFX

GitHub release (latest by date) GitHub issues GitHub last commit GitHub

An advanced markdown-editor control for JavaFX.

Demo gif

Features

  • Three view modes : EDITOR_ONLY, PREVIEW_ONLY, BOTH
  • Formatting toolbar items: bold, italic, strikethrough, monospaced
  • Live preview
  • Styleable through JavaFX CSS
  • ...and more

TODO

  • Syntax highlighting in the editor-area
  • Internationalization support
  • Find dialog

Contributions are welcome!

Requirements

Java 11 or higher

Download

Maven example

<repositories>
		<repository>
		    <id>jitpack.ioid>
		    <url>https://jitpack.iourl>
		repository>
repositories>
<dependency>
	    <groupId>com.github.DansoftownergroupId>
	    <artifactId>MarkdownEditorControlFXartifactId>
	    <version>0.6.3version>
dependency>

Gradle example

repositories {
	...
    // For MarkdownEditorControl
    maven { url 'https://jitpack.io' }
    
    // For some of it's dependencies
    maven { url "http://sandec.bintray.com/repo"}
    maven { url "https://dl.bintray.com/jerady/maven" }
}
dependencies {
	implementation 'com.github.Dansoftowner:MarkdownEditorControlFX:0.6.3'
}

View modes

As mentioned, the control supports multiple view modes.
Each view mode is represented by the enum: com.dansoftware.mdeditor.MarkdownEditorControl.ViewMode.
It can be set using the MarkdownEditorControl#setViewMode method.

1. Editor only (ViewMode.EDITOR_ONLY)

In this mode, only the editor-area is visible.

Screenshot

2. Preview only (ViewMode.PREVIEW_ONLY)

In this mode, only the preview-area is visible.

Screenshot

3. Editor and preview (ViewMode.BOTH)

Screenshot

Basic usage

MarkdownEditorControl control = new MarkdownEditorControl();
control.setToolbarVisible(true); // setting the toolbar visible on the top
control.setMarkdown("# Default "); // setting an initial text

// ...add it to your container or whatever
container.getChildren().add(control);

Demos

Used libraries

Used libraries for the demos:

Feedback

If you use this library in your project, let me know in the discussions!

License

Apache 2.0

You might also like...

A library of +70 ready-to-use animations for JavaFX

AnimateFX A library of ready-to-use animations for JavaFX Features: Custom animations Custom interpolators Play/Stop animation Play an animation after

Jan 5, 2023

BootstrapFX: Bootstrap for JavaFX

BootstrapFX: Bootstrap for JavaFX

BootstrapFX BootstrapFX is a partial port of Twitter Bootstrap for JavaFX. It mainly provides a CSS stylesheet that closely resembles the original whi

Dec 28, 2022

A Java framework for creating sophisticated calendar views (JavaFX 8, 9, 10, and 11)

A Java framework for creating sophisticated calendar views (JavaFX 8, 9, 10, and 11)

CalendarFX A Java framework for creating sophisticated calendar views based on JavaFX. A detailed developer manual can be found online: CalendarFX 8 D

Jan 6, 2023

Allow runtime modification of JavaFX CSS

Allow runtime modification of JavaFX CSS

cssfx ⚠ WARNING ⚠ In version 11.3.0 we have relocated & refactored the project. maven groupId has been changed to fr.brouillard.oss java module name h

Jan 2, 2023

A JavaFX UI framework to create fully customized undecorated windows

A JavaFX UI framework to create fully customized undecorated windows

CustomStage A JavaFX undecorated stage which can fully be customized Donations If this project is helpful to you and love my work and feel like showin

Jan 6, 2023

MDI components for JavaFX

MDI components for JavaFX

DesktopPaneFX DesktopPaneFX is a JavaFX version of Swing’s JDesktopPane which can be used as a container for individual "child" similar to JInternalFr

Sep 23, 2022

Efficient VirtualFlow for JavaFX

Flowless Efficient VirtualFlow for JavaFX. VirtualFlow is a layout container that lays out cells in a vertical or horizontal flow. The main feature of

Nov 24, 2022

A framework for easily creating forms for a JavaFX UI.

A framework for easily creating forms for a JavaFX UI.

FormsFX Forms for business application made easy. Creating forms in Java has never been this easy! Maven To use this framework as part of your Maven b

Dec 30, 2022

:icecream: iOS frosty/translucent effect to JavaFX

:icecream: iOS frosty/translucent effect to JavaFX

FroXty is JavaFX library which replicates the famous iOS translucent effect with ease. Set-up FroXty can be imported into your project either by downl

Dec 11, 2022
Releases(0.6.9.3)
Owner
Daniel Gyoerffy
A JVM lover.
Daniel Gyoerffy
🌄 Image editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and PhotoEditor (Android)

React Native Photo Editor (RNPE) ?? Image editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and Ph

Baron Ha. 243 Jan 4, 2023
A java based course editor for the AutoDrive mod, works with both the FS19 + FS22 versions of the mod

Java Java version greater than 13 is required. JRE or JDK are both possible. Current Java versions can be downloaded here: https://www.oracle.com/java

null 47 Jan 1, 2023
A beautiful and customizable text editor.✨

Tawfekh-Editor A beautiful and customizable text editor. ✨ Tawfekh Editor is simple and easy to use. You can Customize it as you want to get the best

Médoune Siby Georges Baldé 9 Jan 1, 2023
The open Transportation Control System

openTCS Homepage: https://www.opentcs.org/ Changelog: changelog.adoc openTCS (short for open Transportation Control System) is a free platform for con

openTCS 158 Jan 8, 2023
Control a VNC server from a Minecraft server today!

MakiDesktop ?? Controlling VNC through a Minecraft server How does it work Load jar plugin onto 1.17.1 Paper server It will connect to IP:PORT specifi

null 5 May 1, 2022
Tray Icon implementation for JavaFX applications. Say goodbye to using AWT's SystemTray icon, instead use a JavaFX Tray Icon.

FXTrayIcon Library intended for use in JavaFX applications that makes adding a System Tray icon easier. The FXTrayIcon class handles all the messy AWT

Dustin Redmond 248 Dec 30, 2022
Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE 8 and provides the functionalities to use and handle easily Tiles in your JavaFX application.

Lib-Tile Intention Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE and provides the functionalities to use and handle easily Tile

Peter Rogge 13 Apr 13, 2022
DataFX - is a JavaFX frameworks that provides additional features to create MVC based applications in JavaFX by providing routing and a context for CDI.

What you’ve stumbled upon here is a project that intends to make retrieving, massaging, populating, viewing, and editing data in JavaFX UI controls ea

Guigarage 110 Dec 29, 2022
Collection of Binding helpers for JavaFX(8)

Advanced-Bindings for JavaFX (8) advanced-bindings is a collection of useful helpers and custom binding implementations to simplify the development of

Manuel Mauky 63 Nov 19, 2022
Docking framework for JavaFX platform

Docking framework for JavaFX platform AnchorFX is a gratis and open source library for JavaFX to create graphical interfaces with docking features Anc

Alessio Vinerbi 197 Oct 15, 2022