Giter Club home page Giter Club logo

asciidoctor-intellij-plugin's Introduction

IntelliJ AsciiDoc Plugin

Build Status (GitHub Workflow Build) JetBrains Plugins Downloads

A plugin for the IntelliJ platform (IntelliJ IDEA, RubyMine, etc.) that provides support for the AsciiDoc markup language. It also supports Antora, the documentation CMS build with AsciiDoc.

To contribute as a developer, some issues are labeled with “good first issue”. Maintainers are willing to help.

For more advanced topics, see tickets marked as “help wanted”. Feel free to choose these or any other ticket to participate, or create pull requests without a prior ticket.

Installation

You can install the plugin (named “AsciiDoc”) from the plugins section inside your JetBrains IDE or download it from the JetBrains Plugin Repository.

The most advanced and recommended preview modes (and default for new installations) are JavaFX and JCEF.

Refer to the installation for a detailed overview of the features.

Features

  • Recognizes the AsciiDoc file extension (.adoc, .asciidoc, .ad)

  • Provides a two-pane AsciiDoc preview editor based on Asciidoctor with a live preview.

  • Toolbar and context menu for basic formatting and to create tables.

  • Convert AsciiDoc to Microsoft Word (DOCX) by using pandoc.

  • 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 if the user is not happy with the result!

Refer to the Features list for a detailed overview of the features.

If you are missing features, please don’t hesitate to let me know on Twitter: @ahus1de or create an issue in the GitHub issue tracker!

Refer to the CHANGELOG for a list of changes in previous releases.

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.

Building, Contributing, Code of Conduct

Issues that can give you a good start are have the label “good first issue” and maintainers are willing to help. Feel free to choose these or any other ticket to contribute, or even create pull requests without a prior ticket.

Please have a look at the “Contributor Guide”. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Asciidoctor Community Code of Conduct.

Copyright © 2013-2020 Julien Viet, Erik Pragt, Alexander Schwartz and the individual contributors. Released under the Apache License, Version 2.0 (see LICENSE).

Credits

An early version of the plugin is based on the Intellij Markdown plugin by Julien Nicoulaud. Later versions took inspiration from the JetBrains Markdown plugin.

Also, great help was received from Erik Pragt, Harro Lissenberg, Alexander Schwartz and Dan Allen. Thank you all for your support!

asciidoctor-intellij-plugin's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

asciidoctor-intellij-plugin's Issues

Lost - how to develop/build the plugin?

The recent commits removed .idea and *.iml from master. When I now open the project IntelliJ IDEA 14 starts a Gradle wizard.
How do I properly set up my workspace to start developing and building the plugin? A update to README.adoc would be appreciated.

Thanks,
Alexander.

plugin makes editor unberably slow

I have a medium-sized asciidoc file (4k lines).
After enabling the plugin, whenever I type a couple of characters in the file, I have to wait 5/10 secs to see them appear and the caret follow the arrow keys I keyed.

I am not 100% sure, but it seems that

  • the doc is re-rendered on each keypress
  • the rendering does not happen in a separate thread

This is on a dell xps15 laptop with 16gb ram, full ssd disk.

Support for Darcula theme

The preview screen uses a template which doesn't take into account the user preferences regarding themes. In effect, this means that the preview window will have a white background, which doesn't look to nice on a Darcula theme.

A custom CSS will be created with some initial support for Darcula.

Spellcheck please

The Markdown plugin has a spellchecker integrated - can we pinch some code from them?

Error displaying AsciiDoc files

Latest Pycharm with latest plugin on Windows:

Error rendering asciidoctor: Error rendering asciidoctor: java.lang.RuntimeException: org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- asciidoctor
NoClassDefFoundError: update failed for AnAction with ID=asciidoc.maketitle: com/intellij/openapi/actionSystem/DataKeys

How can I fix this issue?

NoClassDefFoundError on CLion

When the AsciiDoc plugin is enabled I get a NoClassDefFoundError notification whenever I right click over an editor window (even non-asciidoc files) or project window.

The AsciiDoc rightclick menu option is shown, but empty ("Nothing here" message)

Plugin version: 0.7
CLion CL-140.1221.2
JRE 1.7.0_65-b32amd64

=== Details

update failed for AnAction with ID=asciidoc.maketitle: com/intellij/openapi/actionSystem/DataKeys
java.lang.NoClassDefFoundError: com/intellij/openapi/actionSystem/DataKeys
at org.asciidoc.intellij.actions.asciidoc.AsciiDocAction.update(AsciiDocAction.java:26)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:113)
at com.intellij.openapi.actionSystem.impl.Utils.a(Utils.java:193)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:141)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:86)
at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:285)
at com.intellij.openapi.actionSystem.impl.ActionMenu.g(ActionMenu.java:281)
at com.intellij.openapi.actionSystem.impl.ActionMenu.access$400(ActionMenu.java:41)
at com.intellij.openapi.actionSystem.impl.ActionMenu$MenuListenerImpl.menuSelected(ActionMenu.java:235)
at javax.swing.JMenu.fireMenuSelected(JMenu.java:1043)
at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1122)
at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:349)
at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:232)
at javax.swing.JMenu.setSelected(JMenu.java:311)
at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1190)
at com.intellij.openapi.actionSystem.impl.ActionMenu.menuSelectionChanged(ActionMenu.java:209)
at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:117)
at javax.swing.plaf.basic.BasicMenuUI$Handler.mouseEntered(BasicMenuUI.java:511)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3311)
at java.awt.Component.processEvent(Component.java:6281)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4872)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:4620)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4474)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4698)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:741)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:572)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:383)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

When having images in the Preview screen, flickering occurs

When you have an image, or multiple images in the preview screen, and you start adding text, some of the images will start flickering while typing. Not sure if this is caused by the HTMLEditorPanel or something else, but it would be nice if this could be fixed in some way.

Rename repository to intellij-asciidoc?

Should we rename the repository to intellij-asciidoc to reflect the fact that it applies to all JetBrains products in the IntelliJ line and not just IDEA?

I'd also be open to naming it "intellij-asciidoctor-plugin" to be very explicit about what this provides (and parallel gradle-asciidoctor-plugin, etc).

It's actually hard to tell from the JetBrains site what the base group of all products based on the IntelliJ core is called. When I open up the jar files in RubyMine, I see references to "com.intellij", which is how I got the idea that perhaps the core platform is called IntelliJ. If someone from JetBrains wants to correct my understanding, please feel free to share.

Plugin is very fragile with respect to UTF-8

If a .adoc contains incorrect UTF-8, it throws exceptions and does not display properly. Could this be made less of a hard crash - getting some output so I can find the bad UTF-8 in the document would be useful.

Unable to use AsciiDoc plugin in IntelliJ IDEA 14

OS: MacOSX 10.9.5
Running AsciiDoc plugin version: 0.2
IntelliJ IDEA 14.0.1 Build# IU-139.225

Error message in IntelliJ IDEA 14 event log:

RaiseException: (LoadError) no such file to load -- jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/coderay-1.1.0/lib/coderay/duo

Detailed error message:

LoadError) no such file to load -- jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/coderay-1.1.0/lib/coderay/duo
org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/coderay-1.1.0/lib/coderay/duo
    at RUBY.highlight_source(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/substituters.rb:1024)
    at RUBY.apply_subs(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/substituters.rb:81)
    at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613)
    at RUBY.apply_subs(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/substituters.rb:68)
    at RUBY.content(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/block.rb:66)
    at RUBY.result(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/backends/html5.rb:452)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/backends/base_template.rb:51)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/renderer.rb:137)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/abstract_block.rb:54)
    at RUBY.content(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/abstract_block.rb:60)
    at org.jruby.RubyArray.map(org/jruby/RubyArray.java:2409)
    at RUBY.content(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/abstract_block.rb:60)
    at RUBY.result(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/backends/html5.rb:310)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/backends/base_template.rb:51)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/renderer.rb:137)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/abstract_block.rb:54)
    at RUBY.content(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/abstract_block.rb:60)
    at org.jruby.RubyArray.map(org/jruby/RubyArray.java:2409)
    at RUBY.content(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/abstract_block.rb:60)
    at RUBY.result(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/backends/html5.rb:310)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/backends/base_template.rb:51)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/renderer.rb:137)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/abstract_block.rb:54)
    at RUBY.content(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/abstract_block.rb:60)
    at org.jruby.RubyArray.map(org/jruby/RubyArray.java:2409)
    at RUBY.content(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/abstract_block.rb:60)
    at RUBY.content(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/document.rb:788)
    at RUBY.result(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/backends/html5.rb:193)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/backends/base_template.rb:51)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/renderer.rb:137)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor/document.rb:769)
    at RUBY.render(jar:file:/Users/indigo/Library/Application%20Support/IntelliJIdea14/AsciiDocPlugin/lib/asciidoctor-java-integration-0.1.4.jar!/gems/asciidoctor-0.1.4/lib/asciidoctor.rb:915)
    at RUBY.render(<script>:55)
    at org.jruby.gen.InterfaceImpl1011796463.render(org/jruby/gen/InterfaceImpl1011796463.gen:13)

How to handle `.idea` folder?

Hey,

I have a question. How do you handle changes in the .idea folder in the project root? I do not want to commit them because the changes that intellij makes are very specific for my setup (plugin sdk location, a custom formatter that I use, etc). Currently, I stash and apply the changes before and after checking out branches, but that is very cumbersome. Is there a better way to handle that? What are the benefits of having that folder in the repo rather than ignoring it?

Add "Open in Browser" action on the "right click menu"

I'm using both the Intellij plugin (write) and the Chrome extension (output). On HTML files I can right click and choose "Open in Browser" (or select a browser in the upper right corner of the editor) to view/render the file in the browser. I know I can click on "Preview" tab but I think that would be great to have the choice to preview the file in the browser.

Would it be possible to add this action on AsciiDoc files ?

incompatible encoding regexp match - Windows-1250 regexp with UTF-8 string;

operating system windows 8.1, intellij 14 file encodign utf8, polish diacritiocs signs

(Encoding::CompatibilityError) incompatible encoding regexp match (Windows-1250 regexp with UTF-8 string)
org.jruby.exceptions.RaiseException: (Encoding::CompatibilityError) incompatible encoding regexp match (Windows-1250 regexp with UTF-8 string)
    at org.jruby.RubyRegexp.match(org/jruby/RubyRegexp.java:1697)
    at RUBY.is_single_line_section_title?(jar:file:E:/.IntelliJIdea14/config/plugins/AsciiDocPlugin/lib/asciidoctorj-1.5.1.jar!/gems/asciidoctor-1.5.0/lib/asciidoctor/parser.rb:1671)
    at RUBY.is_section_title?(jar:file:E:/.IntelliJIdea14/config/plugins/AsciiDocPlugin/lib/asciidoctorj-1.5.1.jar!/gems/asciidoctor-1.5.0/lib/asciidoctor/parser.rb:1659)
    at RUBY.is_next_line_section?(jar:file:E:/.IntelliJIdea14/config/plugins/AsciiDocPlugin/lib/asciidoctorj-1.5.1.jar!/gems/asciidoctor-1.5.0/lib/asciidoctor/parser.rb:1638)
    at RUBY.is_next_line_document_title?(jar:file:E:/.IntelliJIdea14/config/plugins/AsciiDocPlugin/lib/asciidoctorj-1.5.1.jar!/gems/asciidoctor-1.5.0/lib/asciidoctor/parser.rb:1648)
    at RUBY.parse_document_header(jar:file:E:/.IntelliJIdea14/config/plugins/AsciiDocPlugin/lib/asciidoctorj-1.5.1.jar!/gems/asciidoctor-1.5.0/lib/asciidoctor/parser.rb:107)
    at RUBY.parse(jar:file:E:/.IntelliJIdea14/config/plugins/AsciiDocPlugin/lib/asciidoctorj-1.5.1.jar!/gems/asciidoctor-1.5.0/lib/asciidoctor/parser.rb:48)
    at RUBY.parse(jar:file:E:/.IntelliJIdea14/config/plugins/AsciiDocPlugin/lib/asciidoctorj-1.5.1.jar!/gems/asciidoctor-1.5.0/lib/asciidoctor/document.rb:448)
    at RUBY.load(jar:file:E:/.IntelliJIdea14/config/plugins/AsciiDocPlugin/lib/asciidoctorj-1.5.1.jar!/gems/asciidoctor-1.5.0/lib/asciidoctor.rb:1337)
    at RUBY.convert(jar:file:E:/.IntelliJIdea14/config/plugins/AsciiDocPlugin/lib/asciidoctorj-1.5.1.jar!/gems/asciidoctor-1.5.0/lib/asciidoctor.rb:1415)
    at RUBY.convert(<script>:66)
    at org.jruby.gen.InterfaceImpl1760872161.convert(org/jruby/gen/InterfaceImpl1760872161.gen:13)

Add support for scratch files

IntelliJ 14 has a new feature, scratch files (Tools > New scratch file), which let's you quickly create some files for small test without adding them to the actual project. It would be nice if the plugin detected these as well.

Context menu usability

The plugin adds an entry in the context menu. This has some usability problems, IMHO

  • The entry is added at the top and thus changes the position of the items at the top, which are the most used. This requires relearning item positions. From my experience, the usual way is to add entries, stemming from an extension, to the bottom of the context menu.
  • If no AsciiDoc actions are applicable (e.g. the context menu for a method name) the AsciiDoc group is greyed out. My experience, again, is that items that are not applicable to the context are hidden entirely.

In case you already know this, I'm using this issue to poke you ;-)

line wrapping

I might have overlooked a possible solution. In that case, sorry.

I spend quite some time reformatting the asciidoc source code of a paragraph especially when I edit text. I would like a possibility to (re) wrap a paragraph at 80 columns for example.

Setting the editor to automatic line wrap solves part of the problem but doesn't work reliably especially when editing an existing test.

Error rendering document

It looks like the plugin defaults to safe mode - which prevents preview:

Error rendering asciidoctor: org.jruby.exceptions.RaiseException: (SecurityError) image /cygwin/home/thorsten/.asciidoc/images is outside of jail: /mnt/hgfs/drive-f/cygwin/home/thorsten/.asciidoc/doc (disallowed in safe mode)

Missing class "org.asciidoc.intellij.actions.ConvertToAsciiDocAction"

Installed the latest build of the plugin (#56) into PyCharm and get this PluginException on startup:

class with name "org.asciidoc.intellij.actions.ConvertToAsciiDocAction" not found [Plugin: org.asciidoctor.intellij.asciidoc]: class with name "org.asciidoc.intellij.actions.ConvertToAsciiDocAction" not found [Plugin: org.asciidoctor.intellij.asciidoc]

Add or switch to a Gradle build

For now, the IntelliJ project files in git make it easy for contributors to develop and build the plugin.

Ideally, we want to use Gradle to build the project. This will avoid the need to maintain project files and help with automation tasks.

Using Gradle for an IntelliJ plugin project is not well documented. However, there are at least two resources we can draw from:

Split view

Rather than having Text and Preview tabs it would be way more useful to have a split view. I can create one using the normal split options in IntelliJ but then the preview doesn't update when I change the Asciidoc text (even when I explicitly save the file).

Convert Markdown to AsciiDoc

As a developer, I want to easily convert Markdown to AsciiDoc.

Acceptance criteria
Right-Click on a Markdown file, convert and the Markdown to AsciDoc. Support undo.

Toolbar - remove markup

Hi guys,

I'm using v 0.10 and when using the toolbar I would like to remove a markup, example:

  1. I select the word 'text';
  2. click in bold toolbar icon
  3. 'text' becomes 'text'
  4. click again in bold toolbar icon
  5. 'text' becomes 'text'

It would be nice if the second time the toolbar was clicked the bold markup was removed.

Reorganize Java packages under org.asciidoctor.intellij

Reorganize the Java packages under the namespace org.asciidoctor.intellij to be consistent with other tools in the Asciidoctor ecosystem. I'm open to the name of the "intellij" subpackage. Choose what you think is best.

Convert on paste

Find out if it's possible to convert Markdown or HTML to AsciiDoc on paste.

Create Table Dialog improvements?

Hi,

I began messing around with the create table dialog. Before I put much more effort into that (and make it so that I can make a PR for that) I would like to know what you think about it.

What I done so far is to replace the check box for the title with a text field for the title, so that this can be entered directly in the dialog. Not typing anything there (empty string) is equal to not checking the box.

What I would like to work on is to allow some data-entering in a spreadsheet-like way. Not sure how to do that yet, my skills in swing are quite rusty, but I think this could be a fun task and I think it would improve the UI.

So, what do you think about that?

Title action should let the cursor on the same line

When I click on the title action, the cursor move on the next line. When I click again the markup symbol = is appended again and the cursor move to the next line. This give the impression that the action is removing lines because the editor scroll down and the title disappear.

The behavior is also not consistent with other actions, first click add the markup symbol, second click remove the markup symbol.

Word count please

When writting in idea-asciidoc, it would be very useful to have a word count function. Integration with Written Kitten would be even better.

Live Preview

Hi,

maybe a stupid question, but how do i actually activate the Live Previewfeature? I have found nothing in the README.

Thanks in advance, and again sorry for the stupid question

Comment / uncomment lines

I would love to see the feature "comment / uncomment lines" for asciidoc files.

We are using a template for our documentation. We would like to comment out all the parts we are currently not using without removing them from the file completely.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.