asciidoctor / asciidoctor-vscode

AsciiDoc support for Visual Studio Code using Asciidoctor
Other
331 stars 97 forks source link

Preview on project opened via Remote-SSH does not include files from Remote-SSH #299

Closed terjebergstrom closed 4 years ago

terjebergstrom commented 4 years ago

Description

I use Remote-SSH to open my AsciiDoctor+PlantUML project from a remote desktop. My AsciiDoctor document includes a PlantUML diagram like this:

plantuml:diagram.iuml[format=svg]

The preview does not work, but always complains:

Error: ENOENT: no such file or directory, open 'diagram.iuml'

System Information

You can find the VSCode and OS information under Help -> About. To check the extension information go to the extension browser (CTRL+SHIFT+X, Mac CMD+SHIFT+X).

To Reproduce

Steps to reproduce the issue:

  1. Open folder via Remote-SSH which has AsciiDoctor .adoc and a PlantUML diagram
  2. Add plantuml:diagram.iuml[format=svg] to the AsciiDoctor .adoc
  3. Get error message all the time, because extension tries to render preview but cannot find the diagram

Screenshots & Files

N/A

Additional Context

I run VSCode on a Windows laptop. Remote desktop is a Linux computer.

danyill commented 4 years ago

hi @terjebergstrom - thanks for reporting.

I see the same behaviour and the same error you observe when using a Remote SSH session between two Linux computers using Ubuntu/Debian.

I'm not too sure about this but I expect it's a limitation in the plantuml extension which is embedded into asciidoctor-vscode. I'm contemplating removing plantuml support as this project is no longer maintained (see #308) and so I'm reluctant to look into it further.

However, happily asciidoctor-kroki (also integrated within this extension) seems to work fine for this case but doesn't support exactly the same syntax (doesn't support the macro form). To enable this you need to tick the "User_kroki" user preference.

I've created a separate file: diagram.iuml with the content:

class BlockProcessor
class DiagramBlock
class DitaaBlock
class PlantUmlBlock

BlockProcessor <|-- DiagramBlock
DiagramBlock <|-- DitaaBlock
DiagramBlock <|-- PlantUmlBlock

and then used the include preprocessor directive to include this within a test document:

[plantuml,diagram-classes,png]
....
include::diagram.iuml[]
....

which appears to work fine with Remote-SSH. Could this be an option for you?

danyill commented 4 years ago

However, happily asciidoctor-kroki (also integrated within this extension) seems to work fine for this case but doesn't support exactly the same syntax (doesn't support the macro form). To enable this you need to tick the "User_kroki" user preference.

I'm wrong about that -- asciidoctor-kroki does support the macro form:

plantuml::diagram.iuml[svg,role=sequence,opts=interactive]
terjebergstrom commented 4 years ago

I tried various options, but now the preview seems to always preview the diagrams by just rendering the text instead of interpreting them as diagrams.

But anyway, I understand and can live without preview, so I hope it' s alright that I just close this ticket.