MarkdownEditorControlFX
MarkdownEditorControlFX copied to clipboard
Markdown editor control for JavaFX
MarkdownEditorControlFX
An advanced markdown-editor control for JavaFX.

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
Projects using MarkdownEditorControlFX
If you use this library in your project, let me know in the discussions!
- Boomega - A modern book explorer & catalog application
Download
Maven example
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.Dansoftowner</groupId>
<artifactId>MarkdownEditorControlFX</artifactId>
<version>0.6.3</version>
</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.

2. Preview only (ViewMode.PREVIEW_ONLY)
In this mode, only the preview-area is visible.

3. Editor and preview (ViewMode.BOTH)

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
- LightDemo - Light-style example
- DarkDemo - Dark-style example
Used libraries
- markdown-javafx-renderer - JavaFX markdown renderer based on flexmark
- RichTextFX - Rich-text area for JavaFX
- FontAwesomeFX - for the icons
Used libraries for the demos:
License
Apache 2.0