IntelliJ AsciiDoc Plugin
A plugin for the IntelliJ platform (IntelliJ IDEA, RubyMine, etc) that provides support for the AsciiDoc markup language. You can install the plugin (named "AsciiDoc") from the plugins section inside your JetBrains IDE or download it from the JetBrains Plugin Repository.
To support the authors of Asciidoctor, please consider supporting us via OpenCollective.
You can meet the maintainers in person: Please ping them via eMail or chat before or during the event!
-
Alex at Devoxx UK (London), 2019-05-08..10
The most advanced and recommended preview mode is JavaFX. To use the JavaFX preview instead of the Swing preview, you’ll need to run IntelliJ with 64bit Java and JavaFX installed. Oracle JDK installations include JavaFX, but can make the IDE unstable and crash. Pre-bundled OpenJDK installations usually don’t include JavaFX. Therefore, JetBrains OpenJDK pre-bundled with your IDE is recommended.
From 2017.1 onwards a JetBrains OpenJDK 64bit is included even in the Windows versions. Please only use the JDK provided by JetBrains, as the JavaFX rendering seems to be most stable in the JetBrains JDK. See Selecting the JDK version the IDE will run under for more details.
EXPERIMENTAL:
Release notes
0.25.9
-
adding quote handler (#242)
-
Tuning highlighting for mono and bullet lists (#244)
-
Activating brace highlighting for mono/italic/bold (#244)
0.25.8 (preview, available from Github releases)
-
Tuning highlighting italic/bold/mono, adding brace matcher in text (#244)
0.25.7 (preview, available from Github releases)
-
Updating to AsciidoctorJ v2.0.0 that includes Asciidoctor 2.0.8
-
adding highlighting for italic/bold/mono (#244)
-
adding brace matcher for attributes
0.25.6 (preview, available from Github releases)
-
Updating to AsciidoctorJ v2.0.0-RC.2 that includes Asciidoctor 2.0.6
-
Improved parsing of warnings and errors created by Asciidoctor
0.25.5 (preview, available from Github releases)
-
Addding error highlight in tree view
0.25.4 (preview, available from Github releases)
-
restart annotation processing for current file once it gets focused or settings change (#225)
0.25.3 (preview, available from Github releases)
-
improve offset calculation for .asciidoctorconfig files (#225)
0.25.2 (preview, available from Github releases)
-
annotate the file in the editor instead of logging to console for asciidoctor messages (#225)
0.25.1 (preview, available from Github releases)
-
Fixing preview line calculation when using .asciidoctorconfig-files
-
Updating to AsciidoctorJ v2.0.0-RC.1 that includes Asciidoctor 2.0.2
0.25.0 (preview, available from Github releases)
-
Updating to AsciidoctorJ v1.7.0-RC.1 that includes Asciidoctor 2.0.1 and Asciidoctor Diagram 1.5.16
0.24.4
-
Fixing preview line calculation when using .asciidoctorconfig-files
0.24.3
-
Filter out problematic pass-through JavaScript with Twitter being the first candidate (#235)
0.24.2 (preview, available from Github releases)
-
Support JDK11 as of IntelliJ 2019.1 EAP (#238)
0.24.1
-
Upgrade to AsciidoctorJ 1.6.2 and JRuby 9.2.6.0 (it’s still backed by Asciidoctor 1.5.8)
-
Upgrade to asciidoctor diagram 1.5.12
-
Additional logging to analyze errors (#236)
0.24.0
-
Upgrade to AsciidoctorJ 1.6.1 and JRuby 9.2.5.0 (it’s still backed by Asciidoctor 1.5.8)
-
Upgrade to asciidoctor diagram 1.5.11
-
Updated parser for old style multiline headings to be more specific (#233)
-
Added description for old style heading inspection (#233)
0.23.2
-
Resource cleanup for Asciidoctor Ruby Extensions (#220)
0.23.1 (preview, available from Github releases)
-
Updated file icon with less intrusive icon, also introducing SVG for icons (#230)
-
Editor notification to switch to JetBrains 64bit JDK (#189)
-
Tuning support for Asciidoctor Ruby Extensions (#220)
0.23.0 (preview, available from Github releases)
-
EXPERIMENTAL: Support Asciidoctor Ruby Extensions when placed in .asciidoctor/lib (#220)
0.22.0
-
Update to AsciidoctorJ 1.5.8.1
-
Workaround for incompatible plugins (#226)
-
Toggle softwraps only available in context menu of AsciiDoc documents (#227)
-
Recognize list continuations plus block instead of marking them as old style headings (#228)
-
EXPERIMENTAL: supporting .asciidoctorconfig configuration files
0.21.4
-
Add official asciidoctor logo (#219)
-
Add soft wrap to tool bar (#221)
-
Editor Toolbar show status of toggles
-
Update to Asciidoctor Diagram 1.5.10 (#215)
0.21.3
-
upgrade to MathJAX 2.4.7 (as bundled in AsciidoctorJ 1.5.7)
0.21.2
-
Regression: show title of document again (#217)
0.21.1
-
allow attributes to be pre-defined in plugin settings (#216)
0.21.0 (preview, available from Github releases)
-
Update to AsciidoctorJ 1.5.7 and Asciidoctor Diagram 1.5.9
-
Treat "line must be non negative" only as a warning (#212)
0.20.6
-
Display all PlantUML graphics as PNG for preview (#170)
0.20.5
-
Adding hiDPI support for JavaFX preview (#125)
0.20.4
-
Requiring 2017.1 as minimum for this plugin (#207)
0.20.3 (preview, available from Github releases)
-
Avoiding deadlock on JavaFX initialization (#207)
-
Requiring 2017.2 as minimum for this plugin
0.20.2
-
Dejavu fonts now display chinese characters within tables (#203)
0.20.1
-
Upgrading to asciidoctorj-diagram 1.5.8
-
Dejavu fonts now display chinese characters (#203)
0.20.0
-
Add MathJax support in JavaFX preview #201
-
JavaFX preview is now the default for new installations of the plugin
-
Include DejaVu fonts for improved and consistent preview #184
0.19.2
-
Fix NullPointerExceptions when used with IntelliJ Language Injection and Fragment Editor #194
0.19.1
-
Support inspections to convert markdown and old style AsciiDoc headings to modern AsciiDoc headings #185
-
JRuby runtime updated to 9.1.8.0 to work with recent JDK versions (still, internal JetBrains JRE is the only supported version) #187
0.19.0
-
Support Icon fonts (thanks to @matthiasbalke) / #182
-
Update to asciidoctorj-1.5.6 (aka asciidoctor-1.5.6.1) and asciidoctorj-diagram-1.5.4.1
-
Support "search everywhere" (double Shift) and "goto by name - Symbol…" (Ctrl+Shift+Alt+N) for all AsciiDoc section headings - just enter a part of the heading
-
Support Markdown style sections (starting with '#') in syntax highlighting
0.18.2 (preview, available from Github releases)
-
Headings in Darcula theme preview are now light grey for better readability
0.18.1
-
Improved handling for non-printable characters in syntax highlighting
0.18.0 (preview, available from Github releases)
-
Update to asciidoctor 1.5.5/asciidoctor-diagram 1.5.4
-
Capture Asciidoctor messages on stdout/stderr and write them to IDE notifications
-
Close files when images are shown in preview
-
Set focus in editor when re-opening file
-
Fix "line must be non negative" error when clicking on preview
0.17.3
-
Make click-on-link-to-open and click-on-preview-to-set-cursor in JavaFX preview compatible with Java 8 u111+
-
Formatting actions from the toolbar should not throw exceptions when triggered at the beginning or end of the document
0.17.2
-
Plugin is now build using the Gradle and gradle-intellij-plugin This should make contributing and releasing easier. Thanks Jiawen Geng!
-
Asciidoctor’s temporary files are now created in a temporary folder per opened document. Thanks @agorges!
0.17.1 (preview, available from Github releases)
-
Improved handling of trailing spaces in syntax highlighting.
-
Fixed code/preview sync for nested HTML (i.e. NOTE)
0.17.0 (preview, available from Github releases)
-
Updated block parsing to support two styles of headings.
-
Block starts and ends are need to be aligned in length and shape when parsed.
0.16.4
-
Improved darcula support for JavaFX. More block types are using proper dark background and light text colors.
0.16.3
-
Theme in preview can be switched from light to darcula independent of IDE theme
0.16.2
-
Handling of Linux and MacOS file names for image preview in JavaFX
0.16.1
-
Added darcula theme for JavaFX preview
-
Clicking on JavaFX preview will set cursor position in editor (thanks to @kastork for the idea)
0.15.4
-
setScene now called from FxThread instead of AWT thread to avoid blocking GUI on MacOS
0.15.3
-
Initialization message appears only during initialization
-
No error message if user switches to a setup where JavaFX preview is no longer available.
0.15.2 (preview, available from Github releases)
-
fixed detection of Mac 64 JVM to be able to activate JavaFX preview
-
click-on-url for JavaFX improved, when slow-loading external images are referenced
0.15.1 (preview, available from Github releases)
-
revised constrained/unconstrained detection
-
Fix problem in syntax highlighting leading to PSI Parser Exceptions
-
refreshing images on JavaFX only if their content has changed to save memory consumption
-
Limiting JavaFX preview to 64bit platforms due to problems especially with Windows OpenJDK 32bit (as default on Windows).
0.15.0 (preview, available from Github releases)
-
correct usage of constrained/unconstrained AsciiDoc formatting
-
JavaFX Preview will automatically scroll to the cursor position of the editor
-
JavaFX preview will automatically open links in the systems’s default browser
-
Caching rendering instances of Asciidoctor for better performance
IntelliJ 15 (including AppCode 3.3, CLion 1.2, DataGrip 1.0, PhpStorm 10, PyCharm 5, RubyMine 8, WebStorm 11) is the new minimum version required for this release.
Features
-
Right click on a document to apply basic formatting or create tables.
-
Refactor Markdown to AsciiDoc: Right click on a file, or use the Refactor menu, and the Markdown document will be replaced by the AsciiDoc equivalent. Also supports undo, in case you’re not happy with the result!
-
Recognizes the AsciiDoc file extension (.adoc, .asciidoc, .ad)
-
Provides a two-pane AsciiDoc preview editor based on AsciidoctorJ with Live preview.
If you are missing features, please don’t hesitate to let me know on Twitter: @ahus1de or make an issue in the issue tracker!
Dependencies
This project uses AsciiDoctorJ and JRuby for the rendering of the AsciiDoc content.
For the conversion of Markdown to AsciiDoc, we use Pegdown and the Markdown to AsciiDoc converter.
Build
This plugin is built using Gradle. If you build or run it the first time it will download the community edition of IntelliJ automatically.
If you have developed the plugin before it changed to Gradle you might want to remove the contents of your .idea
folder to trigger a re-import of the Gradle project.
To build this plugin, you need to run:
./gradlew -Dfile.encoding=UTF-8 buildPlugin
The ZIP file with plugin to distribute will be located in build/distributions
.
To run the plugin for development you’ll need to start
./gradlew -Dfile.encoding=UTF-8 runIdea
Copyright and Licensing
Copyright © 2013-2017 Julien Viet and Erik Pragt. Released under the Apache License, Version 2.0 (see LICENSE).
Credits
This plugin is based on the Intellij Markdown plugin by Julien Nicoulaud.
Also, great help was received from Erik Pragt, Harro Lissenberg, Alexander Schwartz and Dan Allen. Thank you all for your support!