AsciidocFX
Asciidoc Editor and Toolchain written with JavaFX 21 (Build PDF, Epub, Mobi and HTML books, documents and slides)
Install / Use
/learn @asciidocfx/AsciidocFXREADME
= Asciidoc Editor based on JavaFX 20 :experimental: ifdef::env-github[] :toc: :toc-placement: preamble endif::[] ifndef::env-github[] :toc: :toc-placement: left endif::[] :imagesdir: images :asciidocfx-version: 1.8.10 :download-root: https://github.com/asciidocfx/AsciidocFX/releases/download/v{asciidocfx-version}/
image:https://opencollective.com/AsciidocFX/backers/badge.svg["Backers on Open Collective", link="#backers"] image:https://opencollective.com/AsciidocFX/sponsors/badge.svg["Sponsors on Open Collective", link="#sponsors"] image:https://api.travis-ci.org/asciidocfx/AsciidocFX.svg?branch=master[Build Status,link="https://travis-ci.org/asciidocfx/AsciidocFX"] image:https://badges.gitter.im/Join%20Chat.svg["Gitter", link="https://gitter.im/asciidocfx/AsciidocFX"]
Asciidoc FX is an WYSIWYG editor for Asciidoc markup language. You can build PDF, Epub, and HTML books, documents and slides. AsciidocFX is also a winner of https://www.oracle.com/corporate/pressrelease/dukes-award-102815.html[Duke's Choice Award 2015].
.AsciidocFX - Duke's Choice Award 2015 winner image::asciidocfx.png[]
== Features
- Real-Time Preview
- Multi-platform (Windows, Mac, Linux)
- Creating Asciidoc Books
- Creating PDF, HTML, Epub, Mobi, Docbook
- Epub Viewer
- External Browser Support
- Table Generator
- MathJax Extension
- PlantUML Extension
- Mermaid Extension (Experimental)
- ditaa Extension
- Filesystem Tree Extension
- JavaFX Charts Extension
- Source Code Highlighter
- Reveal.js Converter
- Deck.js Converter
- Nashorn support
- Pseudo Terminal Emulator
- Themeing (Dark & White) _New _
== Pseudo Terminal Emulator
image::http://i.giphy.com/l3vR4SlEtY3juZfXy.gif[Pseudo Terminal Emulator]
== How to Install AsciidocFX
There are a number of operating systems that AsciidocFX supports.
NOTE: The latest releases are available from the https://github.com/asciidocfx/AsciidocFX/releases[Github releases page].
<<Supported_OS>> shows the list of available builds with links for reference. If you are looking for the very latest version, visit the link in the note above to be guaranteed of downloading the latest and greatest version of AsciidocFX.
NOTE: Thanks image:https://www.ej-technologies.com/images/product_banners/install4j_small.png[link=https://www.ej-technologies.com/products/install4j/overview.html] for providing us open source license for the installers used in AsciidocFX distribution.
NOTE: In all releases we use AdoptOpenJDK JREs, so you will not have any licensing issue regarding bundled JRE.
[[Supported_OS]] .Supported Operating Systems and Builds [width="100%",options="header"] |==================== | OS | Filename | Mac | {download-root}AsciidocFX_Mac.dmg[AsciidocFX_Mac.dmg] | Mac M1 | {download-root}AsciidocFX_Mac_M1.dmg[AsciidocFX_Mac_M1.dmg] | Windows | {download-root}AsciidocFX_Windows.exe[AsciidocFX_Windows.exe] | Windows | {download-root}AsciidocFX_Windows.zip[AsciidocFX_Windows.zip] | Linux | {download-root}AsciidocFX_Linux.tar.gz[AsciidocFX_Linux.tar.gz] | Linux DEB | {download-root}AsciidocFX_Linux_Deb.deb[AsciidocFX_Linux.deb] | Linux RPM | {download-root}AsciidocFX_Linux_Rpm.rpm[AsciidocFX_Linux.rpm] |====================
=== Install on Linux
You can install AsciidocFX through the Deb or Rpm installers or via Archive file.
.Archive file [source,bash]
$ tar –xvzf AsciidocFX_Linux.tar.gz $ cd AsciidocFX/bin $ chmod +X ./AsciidocFX $ ./AsciidocFX
//// === Install on Arch Linux
Install using the package manager in Arch Linux
[source,bash] $ yaourt -S asciidocfx ////
=== Install on Windows
Download executable/installer and run it.
=== Install on Mac
Download the .dmg and run it.
or
Use https://brew.sh/[Homebrew] to install it with one command: brew install --cask asciidocfx
//// === Installation Notes
There are two AsciidocFX package flavors, you can download it with JRE 8 out-of-box or if you have already installed JRE 8 (Update 40 or above), you can download *No_JRE builds
Graphviz:: PlantUML extension needs Graphviz, if you will use it, then install it: + .Ubuntu [source,bash]
sudo apt-get install graphviz
.Mac OS X [source,bash]
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install graphviz
.Windows
http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi
[[microsoft-core-fonts]] Microsoft Core Fonts:: You must install Microsoft Core Fonts on Linux OSes also.
[underline]#Ubuntu/Debian#
[source,bash]
sudo apt-get install ttf-mscorefonts-installer
[underline]#Fedora#
If you are using Fedora, you need to install the RPM provided from this URL: http://sourceforge.net/projects/mscorefonts2/files/latest/download[mscorefonts2]
KindleGen:: You must install http://www.amazon.com/gp/feature.html?docId=1000765211[KindleGen], If you need to convert your documents into Mobi files. Once you specify the location of KindleGen executable, Mobi Service provided by AFX will be available.
////
== A Quick Dive
http://youtu.be/2goMtz_vdtM[Video - Writing Books with Asciidoc FX]
== AsciidocFX Backends
AsciidocFX can converts Asciidoc documents into HTML, PDF, EPUB3 and DOCBOOK5.
AsciidocFX converts documents via AsciidoctorJ library. For the PDF backends alternatively Docbook -> Fop -> PDF conversion can be utilized.
== AsciidocFX Extensions
AsciidocFX supports many extensions like PlantUML, Ditaa, Charts, File Trees and many others Asciidoctor Diagram which can be found in https://docs.asciidoctor.org/diagram-extension/latest/
== PlantUML Extension
You can fulfill your UML needs with AsciidocFX. It supports PlantUML. AsciidocFX converts this textual UML elements as png or svg image.
http://plantuml.sourceforge.net/[PlantUML] is a component that allows to quickly write :
- Sequence diagram,
- Usecase diagram,
- Class diagram,
- Activity diagram, (here is the new syntax),
- Component diagram,
- State diagram,
- Object diagram.
- wireframe graphical interface
[source,java]
.UML Diagram Example [uml,target="uml-example"]
abstract class AbstractList abstract AbstractCollection interface List interface Collection
List <|-- AbstractList Collection <|-- AbstractCollection
Collection <|- List AbstractCollection <|- AbstractList AbstractList <|-- ArrayList
class ArrayList { Object[] elementData size() }
enum TimeUnit { DAYS HOURS MINUTES }
annotation SuppressWarnings
.UML example output image::uml-example.png[]
NOTE: In some UML elements, PlantUML needs to work with Graphviz. Because of this, you should install Graphviz manually for your platform. After installing Graphviz, you should set GRAPHVIZ_DOT environment variable to dot executable in Graphviz.
== Mermaid Extension
[quote]
Mermaid lets you create diagrams using text and code. This simplifies the maintenance of complex diagrams. See more examples: https://mermaid-js.github.io/
[NOTE]
mermaid-cli has to be installed for mermaid diagrams generation.
[source,bash]
npm install @mermaid-js/mermaid-cli
Installation details: https://github.com/mermaid-js/mermaid-cli#install-locally
[source,asciidoc]
[mermaid,target="mermaid-graph"]
graph TD A[Start] --> B{Is it?}; B -- Yes --> C[OK]; C --> D[Rethink]; D --> B; B -- No ----> E[End];
image::mermaid-graph.png[]
[source,asciidoc]
[mermaid,target="mermaid-flowchart"]
flowchart TB c1-->a2 subgraph one a1-->a2 end subgraph two b1-->b2 end subgraph three c1-->c2 end one --> two three --> two two --> c2
image::mermaid-flowchart.png[]
== ditaa Extension
AsciidocFX supports ditaa diagrams.
http://ditaa.sourceforge.net/[ditaa] is a component that converts diagrams drawn in ascii art to bitmap graphics.
[source,asciidoc]
.ditaa Diagram Example [ditaa,target="ditaa-example"]
+--------+ +-------+ +-------+
| |---+ ditaa +--->| |
| Text | +-------+ |diagram|
|Document| |!magic!| | |
| {d}| | | | |
+---+----+ +-------+ +-------+
: ^
| Lots of work |
+-------------------------+
--
image::ditaa-example.png[]
== MathJax Extension
http://www.mathjax.org/[MathJax] is an open source JavaScript display engine for mathematics that works in all browsers.
You can use Tex or MathML languages for describing mathematical formulas in AsciidocFX. AsciidocFX converts this textual formulas as png or svg image.
.For Example (Tex) [source,tex]
[latexmath,target="tex-formula"]
\begin{align} \dot{x} & = \sigma(y-x) \ \dot{y} & = \rho x - y - xz \ \dot{z} & = -\beta z + xyp \end{align}
== Tex output
image::tex-formula.png[]
.For Example (MathML) [source,xml]
[mathml,target="mathml-formula"]
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> <mi>x</mi> <mo>=</mo> <mrow> <mfrac> <mrow> <mo>−</mo> <mi>b</mi> <mo>±</mo> <msqrt> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>−</mo> <mn>4</mn> <mi>a</mi> <mi>c</mi> </msqrt> </mrow> <mrow> <mn>2</mn> <mi>a</mi> </mrow> </mfrac> </mrow> <mtext>.</mtext> </math> -- ----== MathML output image::mathml-formula.png[]
== Filesystem Tree Extension
You can represent filesystem tree in following tree block. There is two style of FS tree.
[source,java]
[tree,target="tree-view"]
#src ##main ###java ####com #####kodcu ######App.java ###resources ####css #####style.css ####js #####script.js ####images #####image.png
== Filesystem Tree output
When you drag and drop a folder to editor, AFX will generate this like tree automatically.
image::tree-view.png[width=320]
[source
Related Skills
node-connect
325.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
80.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
325.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
80.2kCommit, push, and open a PR
