Asciidoc Book Editor based on JavaFX 8
Features
Real-Time Preview
Multi-platform (Windows, Mac, Linux)
Creating Asciidoc Books
Creating Markdown Books
Creating PDF, HTML, Epub, Mobi, Docbook
Epub Viewer
External Browser Support
Table Generator
MathJax Extension
PlantUML Extension
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
How to Install AsciidocFX
There are a number of operating systems that AsciidocFX supports.
Note
The latest releases are available from the Github releases page.
Supported Operating Systems and Builds 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 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.
Install on Linux
After the download is completed, untar the package in your preferred directory.
$sh AsciidocFX
Install on Windows
Download executable/installer and run it.
Install on Mac
Download the .dmg and run it.
or
Use Homebrew-cask to install it with one command: brew cask install 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
sudoapt-get installgraphviz
Mac OS X
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew installgraphviz
Windows
http://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi
Microsoft Core Fonts
You must install Microsoft Core Fonts on Linux OSes also.
Ubuntu/Debian
sudoapt-get installttf-mscorefonts-installer
Fedora
If you are using Fedora, you need to install the RPM provided from this URL: mscorefonts2
KindleGen
You must install 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.
PlantUML Extension
You can fulfill your UML needs with AsciidocFX. It supports PlantUML. AsciidocFX converts this textual UML elements as png or svg image.
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
.UML Diagram Example
[uml,file="uml-example.png"]
--
abstract class AbstractList
abstract AbstractCollection
interface List
interface Collection
List
Collection
Collection
AbstractCollection
AbstractList
class ArrayList {
Object[] elementData
size()
}
enum TimeUnit {
DAYS
HOURS
MINUTES
}
annotation SuppressWarnings
--
Figure 2. UML example output
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.
ditaa Extension
AsciidocFX supports ditaa diagrams.
ditaa is a component that converts diagrams drawn in ascii art to bitmap graphics.
.ditaa Diagram Example
[ditaa,file="images/ditaa-example.png"]
--
+--------+ +-------+ +-------+
| |---+ ditaa +--->| |
| Text | +-------+ |diagram|
|Document| |!magic!| | |
| {d}| | | | |
+---+----+ +-------+ +-------+
: ^
| Lots of work |
+-------------------------+
--
MathJax Extension
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)
[math,file="tex-formula.png"]
--
\begin{align}
\dot{x} & = \sigma(y-x) \\
\dot{y} & = \rho x - y - xz \\
\dot{z} & = -\beta z + xyp
\end{align}
--
Tex output
For Example (MathML)
[math,file="mathml-formula.png"]
--
x
=
−
b
±
b
2
−
4
a
c
2
a
.
--
MathML output
Filesystem Tree Extension
You can represent filesystem tree in following tree block. There is two style of FS tree.
[tree,file="tree-view.png"]
--
#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.
[tree,file="tree-view-new.png"]
--
root
|-- photos
| |-- camp.gif
| |-- festival.png
| `-- balloon.jpg
|-- videos
| |-- car-video.avi
| |-- dance.mp4
| |-- dance01.mpg
| |-- another video.divx
| `-- school videos
| `-- firstday.flv
|-- documents
| |-- jsfile.js
| |-- powerpoint.ppt
| |-- chapter-01.asc
| |-- archive-db.zip
| |-- .gitignore
| |-- README
| `-- configuration.conf
`-- etc.
--
Filesystem Tree output (new)
JavaFX Charts Extension
JavaFX has 8 kind of Chart component and AsciidocFX supports all of them.
Pie Chart
[chart,pie,file="secim-2014-pie.png",opt="title=2014 YEREL SEÇİM SONUÇLARI"]
--
AKP, 45.6, orange
CHP, 27.8,red
MHP, 15.2
BDP, 4.2
SP, 2
--
chart::pie[data-uri="pie.csv",file="secim-2014-pie-csv.png"]
Area Chart
[chart,area,file="area-chart.png"]
--
//April
1, 4
3, 10
6, 15
9, 8
12, 5
//May
1, 20
3, 15
6, 13
9, 12
12, 14
--
chart::area[data-uri="area.csv",file="area-chart-csv.png"]
For other charts and available options, look at Chart extension wiki page!
How to Build AsciidocFX
Firstly, install JDK 8
Download Apache Maven and set /bin directory to environment variables
Enter AsciidocFX directory and run $ mvn clean install
Follow to target/appassembler/bin directory and you will see asciidocfx.sh and asciidocfx.bat
Note
We are generating builts with Travis-CI automatically.
NOTE: All builds x64 based. If you want to use in x86 systems, build AsciidocFX yourself.
Slides (Reveal.js and Deck.js)
AsciidocFX has a built-in template converter for Reveal.js and Deck.js. To getting start with slide authoring, you can just follow New › Slide menu.
Figure 3. New › Slide
After that AFX will prompt you a freespace directory name and "OK" you will see the slide demo.
Figure 4. Slide demo
You can easily switch between reveal.js and deck.js by changing the comment below. Also, you can configure default settings by editing _settings_reveal.adoc and include::_settings_deck.adoc.
include::_settings_reveal.adoc[]
// include::_settings_deck.adoc[]
Used Technologies
AsciidocFX uses Java, JavaScript and XML related technologies.
Java FX 8
Asciidoctor.js
Spring Boot
Spring WebSocket
Docbook
Apache Fop
Saxon 6.5
Ace editor
Nashorn
AsciidocFX Configuration
You can configurate AsciidocFX with Settings page (Press Ctrl+F4). The all configs located in [Install_Dir]/conf folder.
Some Shortcuts
AFX supports this ace shortcuts https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts and custom shortcuts listed below . If you suggest us any shortcut request, we can implement it.
Shortcut
Detail
Ctrl+F4
Show settings
Ctrl+V
Converts and pastes selection
Ctrl+Shift+V
Pastes selection
tblx,y+Tab
Generates asciidoc table (x=row,y=column)
tblx.y+Tab
Generates asciidoc table (x=row,y=column)
src+Tab
Generates asciidoc source block (default lang: java)
src.lang+Tab
Generates asciidoc source block by lang
src,lang+Tab
Generates asciidoc source block by lang
img+Tab
Generates image section
book+Tab
Generates book header section
article+Tab
Generates article header section
uml+Tab
Generates UML block
math+Tab
Generates Math block
tree+Tab
Generates Tree block
quote+Tab
Generates Quote block
Ctrl+B
Bolds selection
Ctrl+F
Find Text
Ctrl+F , Ctrl+F
Find and Replace Text
Ctrl+I
Italices selection
Ctrl+U
Underlines selection
Ctrl+H
Highlights selection
Ctrl+D
Duplicates selection
Ctrl+L
Displays line numbers
Ctrl+X
Removes current line
Ctrl+N
Creates new empty doc
Ctrl+M
Maximizes the tab pane
Ctrl+S
Saves current doc
Ctrl+W
Saves and closes current doc
Ctrl+Shift+C
Surrounds backtick `` selection
Ctrl+Mouse_Scroll_Up
Zoom in
Ctrl+Mouse_Scroll_Down
Zoom out
F12
Opens Firebug Lite (Requires Internet Connection)
Known Issues
PDF output shows all text as ####
On Linux platforms you can face with this issue. For the getting around for the issue you need to install Microsoft Core Fonts to your platform. How to install [microsoft-core-fonts]
Mac QWERTY Keyboard Bug
There is a bug in JavaFX which makes all keyboards on a Mac behave as "QWERTY".
This means, that on a German "QWERTZ" layout the shortcuts for undo and redo are swapped.
Text Artifacts (Rainbowing) on Text
If you are being distracted by rainbow text artifacts on text, you can work around the issue by passing some VM options in [Install_Dir]/AsciidocFX.vmoptions, as shared in this RichTextFX bug.
Open AsciidocFX.vmoptions.
Add -Dprism.text=t2k and -Dprism.lcdtext=false to the file.
Save and close.
Launch AsciidocFX
Changelog
To see what has changed in recent versions of AsciidocFX, see the CHANGELOG
Support
Support AsciidocFX with pull requests or open an issue for bug & feature requests. You can make discussions in mail group or in the chat room at Gitter.im.
Contributors
Thank you to all the people who have already contributed to AsciidocFX!
Backers
Thank you to all our backers! [Become a backer]
Sponsors
Thank you to all our sponsors! (please ask your company to also support this open source project by becoming a sponsor)