Asciidoc FX is a book / document editor to build PDF, Epub, Mobi and HTML books, documents and slides.
- Features
- How to Install AsciidocFX
- A Quick Dive
- PlantUML Extension
- MathJax Extension
- Tex output
- MathML output
- Filesystem Tree Extension
- Filesystem Tree output
- Filesystem Tree output (new)
- JavaFX Charts Extension
- How to Build AsciidocFX
- Books Written with AsciidocFX
- Used Technologies
- AsciidocFX Configuration
- Some Shortcuts
- Known Issues
- Changelog
- Support
-
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
-
Filesystem Tree Extension
-
JavaFX Charts Extension
-
Source Code Highlighter
OS | JRE included? | Filename |
---|---|---|
Mac |
Yes |
|
Windows |
Yes |
|
Yes |
||
No |
||
No |
||
Linux |
Yes |
|
No |
Linux
After the download is completed, untar the package in your preferred directory.
$ cd /bin
$ ./AsciidocFX.sh
Arch Linux
Also you can install with package manager in Arch Linux
$ yaourt -S asciidocfx
Windows
Download executable/installer and run it.
Mac
Download dmg and run it.
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:
Ubuntusudo apt-get install graphviz
Mac OS Xruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install graphviz
Windowshttp://www.graphviz.org/pub/graphviz/stable/windows/graphviz-2.38.msi
- Microsoft Core Fonts
-
You must install Microsoft Core Fonts on Linux OSes also.
sudo apt-get install ttf-mscorefonts-installer
- 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.
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 <|-- AbstractList
Collection <|-- AbstractCollection
Collection <|- List
AbstractCollection <|- AbstractList
AbstractList <|-- ArrayList
class ArrayList {
Object[] elementData
size()
}
enum TimeUnit {
DAYS
HOURS
MINUTES
}
annotation SuppressWarnings
--
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.
|
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.
[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}
--
[math,file="mathml-formula.png"]
--
<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>
--
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
--
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.
--
JavaFX has 8 kind of Chart component and AsciidocFX supports all of them.
[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"]
[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!
-
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 seeasciidocfx.sh
andasciidocfx.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. |
- Java 8 Ebook
- AspectJ Ebook
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
You can configurate AsciidocFX with config.yml
file in /conf
directory
You can change Ace theme, font size, font family and other sections by editing it.
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+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+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) |
- 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
andredo
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
-
To see what has changed in recent versions of AsciidocFX, see the CHANGELOG
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.