All Projects → asciidocfx → Asciidocfx

asciidocfx / Asciidocfx

Licence: apache-2.0
Asciidoc Editor and Toolchain written with JavaFX 16 (Build PDF, Epub, Mobi and HTML books, documents and slides)

Programming Languages

java
68154 projects - #9 most used programming language
CSS
56736 projects
SCSS
7915 projects
ruby
36898 projects - #4 most used programming language
Pug
443 projects
Haml
164 projects

Projects that are alternatives of or similar to Asciidocfx

Asciidoctor
💎 A fast, open source text processor and publishing toolchain, written in Ruby, for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.
Stars: ✭ 3,905 (+154.73%)
Mutual labels:  asciidoc, asciidoctor, docbook
Markdown Preview Enhanced
One of the 'BEST' markdown preview extensions for Atom editor!
Stars: ✭ 3,478 (+126.88%)
Mutual labels:  plantuml, mathjax, mermaid
asciidoctor-lein-plugin
A Leiningen plugin for generating documentation using Asciidoctor
Stars: ✭ 26 (-98.3%)
Mutual labels:  docbook, asciidoc, asciidoctor
Gradle Multi Project Example
Gradle 多项目管理示例
Stars: ✭ 283 (-81.54%)
Mutual labels:  asciidoc, asciidoctor
Kramdown Asciidoc
A kramdown extension for converting Markdown documents to AsciiDoc.
Stars: ✭ 97 (-93.67%)
Mutual labels:  asciidoc, asciidoctor
bitbucket-asciidoc-plugin
An add-on for Atlassian Bitbucket Server to render AsciiDoc files.
Stars: ✭ 20 (-98.7%)
Mutual labels:  asciidoc, asciidoctor
vue-showdowns-editor
A markdown editor using codemirror and previewer using @jhuix/showdowns for Vue.js.
Stars: ✭ 27 (-98.24%)
Mutual labels:  plantuml, mermaid
Doctoolchain
a Gradle based AsciiDoc Toolchain for Software Architecture Documentation
Stars: ✭ 355 (-76.84%)
Mutual labels:  asciidoc, asciidoctor
Markdeck
presentations as code - author cool slide decks, text-only, offline-ready, collaborative
Stars: ✭ 1,159 (-24.4%)
Mutual labels:  plantuml, mathjax
Asciidoctor Plantuml.js
Extension for Asciidoctor.js that provides integration with PlantUML using PlantUML Server. As a bonus it works in Antora.
Stars: ✭ 24 (-98.43%)
Mutual labels:  plantuml, asciidoctor
Asciidoc Kate
AsciiDoc/AsciiDoctor syntax highlighting plugin for Kate editor/KatePart
Stars: ✭ 5 (-99.67%)
Mutual labels:  asciidoc, asciidoctor
Asciidoctor Pdf
📃 Asciidoctor PDF: A native PDF converter for AsciiDoc based on Asciidoctor and Prawn, written entirely in Ruby.
Stars: ✭ 868 (-43.38%)
Mutual labels:  asciidoc, asciidoctor
middleman-asciidoc
🔰 AsciiDoc support for Middleman 4. (In Middleman 3, AsciiDoc support is provided by a core extension).
Stars: ✭ 24 (-98.43%)
Mutual labels:  asciidoc, asciidoctor
AsciiDocQuickLook
A QuickLook plugin to preview AsciiDoc files.
Stars: ✭ 24 (-98.43%)
Mutual labels:  asciidoc, asciidoctor
docscii
DocBook to AsciiDoc converter
Stars: ✭ 14 (-99.09%)
Mutual labels:  docbook, asciidoc
Asciidoctor Kroki
Asciidoctor.js extension to convert diagrams to images using Kroki!
Stars: ✭ 55 (-96.41%)
Mutual labels:  plantuml, asciidoctor
plant erd
ERD exporter with PlantUML and mermaid format
Stars: ✭ 126 (-91.78%)
Mutual labels:  plantuml, mermaid
asciidoctor-rfc
AsciiRFC: an AsciiDoc/asciidoctor backend to produce RFC XML v3 (RFC 7991) and v2 (RFC 7749)
Stars: ✭ 14 (-99.09%)
Mutual labels:  asciidoc, asciidoctor
Asciidoctor.js
A JavaScript port of Asciidoctor, a modern implementation of AsciiDoc
Stars: ✭ 500 (-67.38%)
Mutual labels:  asciidoc, asciidoctor
Asciidoctor Html5s
Semantic HTML5 converter (backend) for Asciidoctor
Stars: ✭ 50 (-96.74%)
Mutual labels:  asciidoc, asciidoctor

Asciidoc Book Editor based on JavaFX 16

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

  • 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

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 install4j small 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.
Table 1. Supported Operating Systems and Builds
OS Filename

Mac

AsciidocFX_Mac.dmg

Windows

AsciidocFX_Windows.exe

Windows

AsciidocFX_Windows.zip

Linux

AsciidocFX_Linux.tar.gz

Install on Linux

After the download is completed, untar the package in your preferred directory.

$ cd bin
$ ./AsciidocFX

Install on Windows

Download executable/installer and run it.

Install on Mac

Download the .dmg and run it.

or

Use 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
sudo apt-get install graphviz
Mac OS X
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

You must install Microsoft Core Fonts on Linux OSes also.

Ubuntu/Debian

sudo apt-get install ttf-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 <|-- AbstractList
Collection <|-- AbstractCollection

Collection <|- List
AbstractCollection <|- AbstractList
AbstractList <|-- ArrayList

class ArrayList {
  Object[] elementData
  size()
}

enum TimeUnit {
  DAYS
  HOURS
  MINUTES
}

annotation SuppressWarnings
--
uml example
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.

Mermaid Extension (Experimental)

Mermaid lets you create diagrams using text and code. This simplifies the maintenance of complex diagrams. See more examples: https://mermaid-js.github.io/

[mermaid,images/mermaid-graph,png]
--
graph TD
    A[Start] --> B{Is it?};
    B -- Yes --> C[OK];
    C --> D[Rethink];
    D --> B;
    B -- No ----> E[End];
--
mermaid graph
[mermaid,file="images/mermaid-flowchart.png"]
--
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
--
mermaid flowchart

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      |
        +-------------------------+
--
ditaa example

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

tex formula
For Example (MathML)
[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>&#x2212;</mo>
        <mi>b</mi>
        <mo>&#xB1;</mo>
        <msqrt>
          <msup>
            <mi>b</mi>
            <mn>2</mn>
          </msup>
          <mo>&#x2212;</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

mathml formula

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 view
[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)

tree view 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"]
secim 2014 pie

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"]
area chart

For other charts and available options, look at Chart extension wiki page!

How to Build AsciidocFX

  1. Firstly, install JDK 8

  2. Download Apache Maven and set /bin directory to environment variables

  3. Enter AsciidocFX directory and run $ mvn clean install

  4. 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.

Books Written with AsciidocFX

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.

new slide
Figure 3. New  Slide

After that AFX will prompt you a freespace directory name and "OK" you will see the slide demo.

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.

  1. Open AsciidocFX.vmoptions.

  2. Add -Dprism.text=t2k and -Dprism.lcdtext=false to the file.

  3. Save and close.

  4. 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! Contributors

Backers

Thank you to all our backers! [Become a backer]

Backers on Open Collective

Sponsors

Thank you to all our sponsors! (please ask your company to also support this open source project by becoming a sponsor)

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].